From 1ecdfb4ece81cd63f8f29a62950844807e3e693e Mon Sep 17 00:00:00 2001
From: Ycblue <yuchialan@gmail.com>
Date: Tue, 11 Jul 2023 09:56:05 +0200
Subject: [PATCH] no more real changes

---
 .gitignore                                    |    1 +
 DeepGraft/AttMIL_feat_norm_rej_rest.yaml      |   16 +-
 DeepGraft/AttMIL_feat_norm_rest.yaml          |   18 +-
 DeepGraft/AttMIL_feat_rej_rest.yaml           |   10 +-
 DeepGraft/AttMIL_simple_norm_rej_rest.yaml    |    6 +-
 DeepGraft/AttMIL_simple_norm_rest.yaml        |   10 +-
 DeepGraft/AttMIL_simple_rej_rest.yaml         |    8 +-
 DeepGraft/AttTrans_resnet50_norm_rest.yaml    |    6 +-
 DeepGraft/EfficientNet_classic_norm_rest.yaml |   55 +
 ...t.yaml => Resnet18_classic_norm_rest.yaml} |    4 +-
 DeepGraft/Resnet18_classic_rej_rest.yaml      |   55 +
 DeepGraft/Resnet50_classic_norm_rest.yaml     |   55 +
 DeepGraft/Resnet50_classic_rej_rest.yaml      |   55 +
 DeepGraft/TransMIL_feat_no_other.yaml         |   55 +
 DeepGraft/TransMIL_feat_norm_rej_rest.yaml    |    6 +-
 DeepGraft/TransMIL_feat_norm_rest.yaml        |   10 +-
 DeepGraft/TransMIL_feat_rej_rest.yaml         |   10 +-
 DeepGraft/TransMIL_feat_rejections.yaml       |   21 +-
 DeepGraft/TransMIL_feat_rest_rej.yaml         |   55 +
 DeepGraft/TransformerMIL_feat_norm_rest.yaml  |   11 +-
 DeepGraft/Vit_classic_norm_rej_rest.yaml      |   55 +
 DeepGraft/Vit_classic_norm_rest.yaml          |   55 +
 ...rm_rest.yaml => Vit_classic_rej_rest.yaml} |    8 +-
 README.md                                     |    6 +
 .../__pycache__/test_visualize.cpython-39.pyc |  Bin 16159 -> 17584 bytes
 code/__pycache__/visualize_mil.cpython-39.pyc |  Bin 0 -> 10642 bytes
 .../4963265a-2a0d-4f2f-9b52-398556005ce9      |    1 +
 .../f06ea21a-6e0c-4c10-9734-4ec8b9157c64      |    1 +
 code/co2log/impacttracker/data.json           |  126 ++
 .../impacttracker/impact_tracker_log.log      |   20 +
 code/co2log/impacttracker/info.pkl            |  Bin 0 -> 611684 bytes
 code/cufile.log                               | 1123 +++++++++++++++++
 code/datasets/__init__.py                     |    1 +
 .../__pycache__/__init__.cpython-39.pyc       |  Bin 322 -> 386 bytes
 .../classic_jpg_dataloader.cpython-39.pyc     |  Bin 6368 -> 6507 bytes
 .../__pycache__/data_interface.cpython-39.pyc |  Bin 9452 -> 9372 bytes
 .../feature_dataloader.cpython-39.pyc         |  Bin 11196 -> 6758 bytes
 .../__pycache__/jpg_dataloader.cpython-39.pyc |  Bin 6399 -> 7312 bytes
 code/datasets/classic_jpg_dataloader.py       |   95 +-
 code/datasets/data_interface.py               |   68 +-
 code/datasets/feature_dataloader.py           |  495 ++------
 code/datasets/jpg_dataloader.py               |  344 ++---
 code/datasets/utils/__init__.py               |    1 +
 .../utils/__pycache__/__init__.cpython-39.pyc |  Bin 162 -> 191 bytes
 code/datasets/utils/merge_hdf5.py             |   90 ++
 code/datasets/utils/move_to_hdf5.py           |   54 +
 code/fine_tune.py                             |  370 ++++++
 code/models/AttMIL.py                         |   53 +-
 code/models/MonaiMILModel.py                  |  233 ++++
 code/models/ResNet.py                         |    4 +-
 code/models/TransMIL.py                       |   33 +-
 code/models/TransformerMIL.py                 |   40 +-
 code/models/__init__.py                       |    3 +
 code/models/__pycache__/AttMIL.cpython-39.pyc |  Bin 1560 -> 1980 bytes
 .../__pycache__/MonaiMILModel.cpython-39.pyc  |  Bin 0 -> 6477 bytes
 code/models/__pycache__/ResNet.cpython-39.pyc |  Bin 12594 -> 12594 bytes
 .../__pycache__/TransMIL.cpython-39.pyc       |  Bin 3888 -> 4048 bytes
 .../__pycache__/TransformerMIL.cpython-39.pyc |  Bin 3740 -> 4193 bytes
 .../__pycache__/__init__.cpython-38.pyc       |  Bin 0 -> 346 bytes
 .../__pycache__/__init__.cpython-39.pyc       |  Bin 244 -> 346 bytes
 .../__pycache__/model_clam.cpython-39.pyc     |  Bin 0 -> 8214 bytes
 .../model_interface.cpython-38.pyc            |  Bin 0 -> 27594 bytes
 .../model_interface.cpython-39.pyc            |  Bin 21335 -> 28069 bytes
 .../model_interface_classic.cpython-39.pyc    |  Bin 18846 -> 26594 bytes
 code/models/ckpt/vit-base-patch16-224         |    1 +
 code/models/model_clam.py                     |  280 ++++
 code/models/model_interface.py                |  921 +++++++++-----
 code/models/model_interface_classic.py        |  511 ++++++--
 code/plotter.ipynb                            |   88 ++
 code/sustainability_plot.ipynb                |    0
 code/sustainability_test.py                   |  135 ++
 code/test_visualize.py                        |  731 +++++++----
 code/train.py                                 |  136 +-
 code/utils/__init__.py                        |    3 +-
 .../utils/__pycache__/__init__.cpython-38.pyc |  Bin 0 -> 210 bytes
 .../utils/__pycache__/__init__.cpython-39.pyc |  Bin 210 -> 232 bytes
 .../custom_resnet50.cpython-38.pyc            |  Bin 0 -> 4059 bytes
 code/utils/__pycache__/utils.cpython-38.pyc   |  Bin 0 -> 9588 bytes
 code/utils/__pycache__/utils.cpython-39.pyc   |  Bin 4526 -> 9439 bytes
 code/utils/export_metrics.ipynb               |    1 +
 code/utils/export_metrics.py                  |  191 +++
 code/utils/utils.py                           |  390 +++++-
 code/visualize_classic.py                     |  382 ++++++
 code/visualize_dff.py                         |  521 ++++++++
 code/visualize_feature.py                     |  551 ++++++++
 code/visualize_mil.py                         |  374 ++++++
 code/visualize_old.py                         |  555 ++++++++
 cufile.log                                    |   14 +
 nohup.out                                     |   24 +
 paper_structure.md                            |   47 +-
 project_plan.md                               |   28 +-
 91 files changed, 8154 insertions(+), 1476 deletions(-)
 create mode 100644 DeepGraft/EfficientNet_classic_norm_rest.yaml
 rename DeepGraft/{Resnet18_img_norm_rest.yaml => Resnet18_classic_norm_rest.yaml} (96%)
 create mode 100644 DeepGraft/Resnet18_classic_rej_rest.yaml
 create mode 100644 DeepGraft/Resnet50_classic_norm_rest.yaml
 create mode 100644 DeepGraft/Resnet50_classic_rej_rest.yaml
 create mode 100644 DeepGraft/TransMIL_feat_no_other.yaml
 create mode 100644 DeepGraft/TransMIL_feat_rest_rej.yaml
 create mode 100644 DeepGraft/Vit_classic_norm_rej_rest.yaml
 create mode 100644 DeepGraft/Vit_classic_norm_rest.yaml
 rename DeepGraft/{Vit_norm_rest.yaml => Vit_classic_rej_rest.yaml} (79%)
 create mode 100644 code/__pycache__/visualize_mil.cpython-39.pyc
 create mode 100644 code/co2log/4963265a-2a0d-4f2f-9b52-398556005ce9
 create mode 100644 code/co2log/f06ea21a-6e0c-4c10-9734-4ec8b9157c64
 create mode 100644 code/co2log/impacttracker/data.json
 create mode 100644 code/co2log/impacttracker/impact_tracker_log.log
 create mode 100644 code/co2log/impacttracker/info.pkl
 create mode 100644 code/datasets/utils/merge_hdf5.py
 create mode 100644 code/datasets/utils/move_to_hdf5.py
 create mode 100644 code/fine_tune.py
 create mode 100644 code/models/MonaiMILModel.py
 create mode 100644 code/models/__pycache__/MonaiMILModel.cpython-39.pyc
 create mode 100644 code/models/__pycache__/__init__.cpython-38.pyc
 create mode 100644 code/models/__pycache__/model_clam.cpython-39.pyc
 create mode 100644 code/models/__pycache__/model_interface.cpython-38.pyc
 create mode 160000 code/models/ckpt/vit-base-patch16-224
 create mode 100644 code/models/model_clam.py
 create mode 100644 code/plotter.ipynb
 create mode 100644 code/sustainability_plot.ipynb
 create mode 100644 code/sustainability_test.py
 create mode 100644 code/utils/__pycache__/__init__.cpython-38.pyc
 create mode 100644 code/utils/__pycache__/custom_resnet50.cpython-38.pyc
 create mode 100644 code/utils/__pycache__/utils.cpython-38.pyc
 create mode 100644 code/utils/export_metrics.ipynb
 create mode 100644 code/utils/export_metrics.py
 create mode 100644 code/visualize_classic.py
 create mode 100644 code/visualize_dff.py
 create mode 100644 code/visualize_feature.py
 create mode 100644 code/visualize_mil.py
 create mode 100644 code/visualize_old.py
 create mode 100644 cufile.log
 create mode 100644 nohup.out

diff --git a/.gitignore b/.gitignore
index 104287f..6087ecd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ lightning_logs/*
 test/*
 DeepGraft_Project_Plan_12.7.22.pdf
 monai_test.json
+wandb
\ No newline at end of file
diff --git a/DeepGraft/AttMIL_feat_norm_rej_rest.yaml b/DeepGraft/AttMIL_feat_norm_rej_rest.yaml
index 4eda25f..0ac5032 100644
--- a/DeepGraft/AttMIL_feat_norm_rej_rest.yaml
+++ b/DeepGraft/AttMIL_feat_norm_rej_rest.yaml
@@ -9,15 +9,17 @@ General:
     epochs: &epoch 500 
     grad_acc: 2
     frozen_bn: False
-    patience: 50
-    server: test #train #test
+    patience: 100
+    server: train #train #test
     log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
 
 Data:
     dataset_name: custom
     data_shuffle: False
-    data_dir: '/home/ylan/data/DeepGraft/224_128um_v2/'
-    label_file: '/home/ylan/DeepGraft/training_tables/dg_limit_20_split_PAS_HE_Jones_norm_rej_rest.json'
+    mixup: True
+    aug: True
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rej_rest.json'
     fold: 1
     nfold: 3
     cross_val: False
@@ -34,13 +36,13 @@ Model:
     name: AttMIL
     n_classes: 3
     backbone: features
-    in_features: 1024
+    in_features: 2048
     out_features: 512
 
 
 Optimizer:
-    opt: Adam
-    lr: 0.0002
+    opt: lookahead_radam
+    lr: 0.002
     opt_eps: null 
     opt_betas: null
     momentum: null 
diff --git a/DeepGraft/AttMIL_feat_norm_rest.yaml b/DeepGraft/AttMIL_feat_norm_rest.yaml
index fefbe5e..bb69512 100644
--- a/DeepGraft/AttMIL_feat_norm_rest.yaml
+++ b/DeepGraft/AttMIL_feat_norm_rest.yaml
@@ -10,20 +10,22 @@ General:
     grad_acc: 2
     frozen_bn: False
     patience: 100
-    server: test #train #test
+    server: train #train #test
     log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
 
 Data:
     dataset_name: custom
     data_shuffle: False
-    data_dir: '/home/ylan/data/DeepGraft/224_128um_v2/'
-    label_file: '/home/ylan/DeepGraft/training_tables/dg_limit_20_split_PAS_HE_Jones_norm_rest.json'
+    mixup: True
+    aug: True
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest.json'
     fold: 1
     nfold: 3
     cross_val: False
 
     train_dataloader:
-        batch_size: 1 
+        batch_size: 1
         num_workers: 4
 
     test_dataloader:
@@ -34,13 +36,13 @@ Model:
     name: AttMIL
     n_classes: 2
     backbone: features
-    in_features: 512
-    out_features: 1024
+    in_features: 2048
+    out_features: 512
 
 
 Optimizer:
-    opt: Adam
-    lr: 0.0001
+    opt: adam
+    lr: 0.002
     opt_eps: null 
     opt_betas: null
     momentum: null 
diff --git a/DeepGraft/AttMIL_feat_rej_rest.yaml b/DeepGraft/AttMIL_feat_rej_rest.yaml
index 3d854be..fd142f0 100644
--- a/DeepGraft/AttMIL_feat_rej_rest.yaml
+++ b/DeepGraft/AttMIL_feat_rej_rest.yaml
@@ -16,8 +16,10 @@ General:
 Data:
     dataset_name: custom
     data_shuffle: False
-    data_dir: '/home/ylan/data/DeepGraft/224_128um_v2/'
-    label_file: '/home/ylan/DeepGraft/training_tables/dg_limit_20_split_PAS_HE_Jones_rej_rest.json'
+    mixup: True
+    aug: True
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_rej_rest_val_1.json'
     fold: 1
     nfold: 3
     cross_val: False
@@ -34,12 +36,12 @@ Model:
     name: AttMIL
     n_classes: 2
     backbone: features
-    in_features: 1024
+    in_features: 2048
     out_features: 512
 
 
 Optimizer:
-    opt: Adam
+    opt: lookahead_radam
     lr: 0.0002
     opt_eps: null 
     opt_betas: null
diff --git a/DeepGraft/AttMIL_simple_norm_rej_rest.yaml b/DeepGraft/AttMIL_simple_norm_rej_rest.yaml
index 8d27c5e..2e02e94 100644
--- a/DeepGraft/AttMIL_simple_norm_rej_rest.yaml
+++ b/DeepGraft/AttMIL_simple_norm_rej_rest.yaml
@@ -16,8 +16,8 @@ General:
 Data:
     dataset_name: custom
     data_shuffle: False
-    data_dir: '/home/ylan/data/DeepGraft/224_128um_v2/'
-    label_file: '/home/ylan/DeepGraft/training_tables/limit_20_split_PAS_HE_Jones_norm_rej_rest.json'
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_limit_20_split_PAS_HE_Jones_norm_rej_rest.json'
     fold: 1
     nfold: 3
     cross_val: False
@@ -34,7 +34,7 @@ Model:
     name: AttMIL
     n_classes: 3
     backbone: simple
-    in_features: 512
+    in_features: 1024
     out_features: 512
 
 
diff --git a/DeepGraft/AttMIL_simple_norm_rest.yaml b/DeepGraft/AttMIL_simple_norm_rest.yaml
index 8dafb65..a0f2215 100644
--- a/DeepGraft/AttMIL_simple_norm_rest.yaml
+++ b/DeepGraft/AttMIL_simple_norm_rest.yaml
@@ -10,20 +10,20 @@ General:
     grad_acc: 2
     frozen_bn: False
     patience: 50
-    server: test #train #test
+    server: train #train #test
     log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
 
 Data:
     dataset_name: custom
     data_shuffle: False
-    data_dir: '/home/ylan/data/DeepGraft/224_128um_v2/'
-    label_file: '/home/ylan/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest.json'
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest_val_1.json'
     fold: 1
     nfold: 3
     cross_val: False
 
     train_dataloader:
-        batch_size: 1 
+        batch_size: 1
         num_workers: 4
 
     test_dataloader:
@@ -39,7 +39,7 @@ Model:
 
 
 Optimizer:
-    opt: lookahead_radam
+    opt: adam
     lr: 0.0004
     opt_eps: null 
     opt_betas: null
diff --git a/DeepGraft/AttMIL_simple_rej_rest.yaml b/DeepGraft/AttMIL_simple_rej_rest.yaml
index b65afc6..e775cfa 100644
--- a/DeepGraft/AttMIL_simple_rej_rest.yaml
+++ b/DeepGraft/AttMIL_simple_rej_rest.yaml
@@ -16,8 +16,8 @@ General:
 Data:
     dataset_name: custom
     data_shuffle: False
-    data_dir: '/home/ylan/data/DeepGraft/224_128um_v2/'
-    label_file: '/home/ylan/DeepGraft/training_tables/dg_limit_20_split_PAS_HE_Jones_rej_rest.json'
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_rej_rest_val_1.json'
     fold: 1
     nfold: 3
     cross_val: False
@@ -34,12 +34,12 @@ Model:
     name: AttMIL
     n_classes: 2
     backbone: simple
-    in_features: 512
+    in_features: 1024
     out_features: 512
 
 
 Optimizer:
-    opt: lookahead_radam
+    opt: adam
     lr: 0.0002
     opt_eps: null 
     opt_betas: null
diff --git a/DeepGraft/AttTrans_resnet50_norm_rest.yaml b/DeepGraft/AttTrans_resnet50_norm_rest.yaml
index cfffa7d..15bbadc 100644
--- a/DeepGraft/AttTrans_resnet50_norm_rest.yaml
+++ b/DeepGraft/AttTrans_resnet50_norm_rest.yaml
@@ -16,14 +16,14 @@ General:
 Data:
     dataset_name: custom
     data_shuffle: False
-    data_dir: '/home/ylan/data/DeepGraft/224_128uM_annotated/'
-    label_file: '/home/ylan/DeepGraft/training_tables/dg_limit_100_split_PAS_HE_Jones_norm_rest.json'
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest_val_1.json'
     fold: 1
     nfold: 3
     cross_val: False
 
     train_dataloader:
-        batch_size: 1 
+        batch_size: 10
         num_workers: 4
 
     test_dataloader:
diff --git a/DeepGraft/EfficientNet_classic_norm_rest.yaml b/DeepGraft/EfficientNet_classic_norm_rest.yaml
new file mode 100644
index 0000000..aaf8f31
--- /dev/null
+++ b/DeepGraft/EfficientNet_classic_norm_rest.yaml
@@ -0,0 +1,55 @@
+General:
+    comment: 
+    seed: 2021
+    fp16: True
+    amp_level: O2
+    precision: 16
+    multi_gpu_mode: ddp
+    gpus: [0, 1]
+    epochs: &epoch 500 
+    grad_acc: 2
+    frozen_bn: False
+    patience: 50
+    server: train #train #test
+    log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
+
+Data:
+    dataset_name: custom
+    data_shuffle: False
+    mixup: True
+    aug: True
+    cache: False
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest_val_1.json'
+    fold: 1
+    nfold: 3
+    cross_val: False
+
+    train_dataloader:
+        batch_size: 500 
+        num_workers: 4
+
+    test_dataloader:
+        batch_size: 1
+        num_workers: 4
+
+Model:
+    name: efficientnet
+    n_classes: 2
+    backbone: efficientnet
+    in_features: 2048
+    out_features: 512
+
+
+Optimizer:
+    opt: Adam
+    lr: 0.0002
+    opt_eps: null 
+    opt_betas: null
+    momentum: null 
+    weight_decay: 0.01
+
+Loss:
+    base_loss: CrossEntropyLoss
+    
+
diff --git a/DeepGraft/Resnet18_img_norm_rest.yaml b/DeepGraft/Resnet18_classic_norm_rest.yaml
similarity index 96%
rename from DeepGraft/Resnet18_img_norm_rest.yaml
rename to DeepGraft/Resnet18_classic_norm_rest.yaml
index d2183e4..dfdfb1a 100644
--- a/DeepGraft/Resnet18_img_norm_rest.yaml
+++ b/DeepGraft/Resnet18_classic_norm_rest.yaml
@@ -38,12 +38,12 @@ Model:
     n_classes: 2
     backbone: resnet18
     in_features: 2048
-    out_features: 1024
+    out_features: 512
 
 
 Optimizer:
     opt: Adam
-    lr: 0.0001
+    lr: 0.0002
     opt_eps: null 
     opt_betas: null
     momentum: null 
diff --git a/DeepGraft/Resnet18_classic_rej_rest.yaml b/DeepGraft/Resnet18_classic_rej_rest.yaml
new file mode 100644
index 0000000..2b3dc33
--- /dev/null
+++ b/DeepGraft/Resnet18_classic_rej_rest.yaml
@@ -0,0 +1,55 @@
+General:
+    comment: 
+    seed: 2021
+    fp16: True
+    amp_level: O2
+    precision: 16
+    multi_gpu_mode: ddp
+    gpus: [0, 1]
+    epochs: &epoch 500 
+    grad_acc: 2
+    frozen_bn: False
+    patience: 50
+    server: train #train #test
+    log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
+
+Data:
+    dataset_name: custom
+    data_shuffle: False
+    mixup: True
+    aug: True
+    cache: False
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_rej_rest_val_1.json'
+    fold: 1
+    nfold: 3
+    cross_val: False
+
+    train_dataloader:
+        batch_size: 1000 
+        num_workers: 4
+
+    test_dataloader:
+        batch_size: 1
+        num_workers: 4
+
+Model:
+    name: resnet18
+    n_classes: 2
+    backbone: resnet18
+    in_features: 2048
+    out_features: 512
+
+
+Optimizer:
+    opt: Adam
+    lr: 0.0001
+    opt_eps: null 
+    opt_betas: null
+    momentum: null 
+    weight_decay: 0.01
+
+Loss:
+    base_loss: CrossEntropyLoss
+    
+
diff --git a/DeepGraft/Resnet50_classic_norm_rest.yaml b/DeepGraft/Resnet50_classic_norm_rest.yaml
new file mode 100644
index 0000000..a894a79
--- /dev/null
+++ b/DeepGraft/Resnet50_classic_norm_rest.yaml
@@ -0,0 +1,55 @@
+General:
+    comment: 
+    seed: 2021
+    fp16: True
+    amp_level: O2
+    precision: 16
+    multi_gpu_mode: ddp
+    gpus: [0, 1]
+    epochs: &epoch 500 
+    grad_acc: 2
+    frozen_bn: False
+    patience: 50
+    server: train #train #test
+    log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
+
+Data:
+    dataset_name: custom
+    data_shuffle: False
+    mixup: True
+    aug: True
+    cache: False
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest_val_1.json'
+    fold: 1
+    nfold: 3
+    cross_val: False
+
+    train_dataloader:
+        batch_size: 500 
+        num_workers: 4
+
+    test_dataloader:
+        batch_size: 1
+        num_workers: 4
+
+Model:
+    name: resnet50
+    n_classes: 2
+    backbone: resnet50
+    in_features: 2048
+    out_features: 512
+
+
+Optimizer:
+    opt: lookahead_radam
+    lr: 0.001
+    opt_eps: null 
+    opt_betas: null
+    momentum: null 
+    weight_decay: 0.01
+
+Loss:
+    base_loss: CrossEntropyLoss
+    
+
diff --git a/DeepGraft/Resnet50_classic_rej_rest.yaml b/DeepGraft/Resnet50_classic_rej_rest.yaml
new file mode 100644
index 0000000..d27be48
--- /dev/null
+++ b/DeepGraft/Resnet50_classic_rej_rest.yaml
@@ -0,0 +1,55 @@
+General:
+    comment: 
+    seed: 2021
+    fp16: True
+    amp_level: O2
+    precision: 16
+    multi_gpu_mode: ddp
+    gpus: [0, 1]
+    epochs: &epoch 500 
+    grad_acc: 2
+    frozen_bn: False
+    patience: 50
+    server: train #train #test
+    log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
+
+Data:
+    dataset_name: custom
+    data_shuffle: False
+    mixup: True
+    aug: True
+    cache: False
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_internal_split_PAS_HE_Jones_rej_rest_DEEPGRAFT_RU.json'
+    fold: 1
+    nfold: 3
+    cross_val: False
+
+    train_dataloader:
+        batch_size: 500 
+        num_workers: 4
+
+    test_dataloader:
+        batch_size: 1
+        num_workers: 4
+
+Model:
+    name: resnet50
+    n_classes: 2
+    backbone: resnet50
+    in_features: 2048
+    out_features: 512
+
+
+Optimizer:
+    opt: lookahead_radam
+    lr: 0.001
+    opt_eps: null 
+    opt_betas: null
+    momentum: null 
+    weight_decay: 0.01
+
+Loss:
+    base_loss: CrossEntropyLoss
+    
+
diff --git a/DeepGraft/TransMIL_feat_no_other.yaml b/DeepGraft/TransMIL_feat_no_other.yaml
new file mode 100644
index 0000000..7264213
--- /dev/null
+++ b/DeepGraft/TransMIL_feat_no_other.yaml
@@ -0,0 +1,55 @@
+General:
+    comment: 
+    seed: 2021
+    fp16: True
+    amp_level: O2
+    precision: 16-mixed 
+    multi_gpu_mode: dp
+    gpus: [0]
+    epochs: &epoch 500 
+    grad_acc: 2
+    frozen_bn: False
+    patience: 50
+    server: train #train #test
+    log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
+
+Data:
+    dataset_name: custom
+    data_shuffle: False
+    mixup: True
+    aug: True
+    cache: False
+    data_dir: '/raid/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_no_other_ext.json'
+    fold: 1
+    nfold: 3
+    cross_val: False
+
+    train_dataloader:
+        batch_size: 50 
+        num_workers: 4
+
+    test_dataloader:
+        batch_size: 1
+        num_workers: 4
+
+Model:
+    name: TransMIL
+    n_classes: 5
+    backbone: features
+    in_features: 2048
+    out_features: 512
+
+
+Optimizer:
+    opt: radam
+    lr: 0.002
+    opt_eps: null 
+    opt_betas: null
+    momentum: null 
+    weight_decay: 0.01
+
+Loss:
+    base_loss: CrossEntropyLoss
+    
+
diff --git a/DeepGraft/TransMIL_feat_norm_rej_rest.yaml b/DeepGraft/TransMIL_feat_norm_rej_rest.yaml
index 3a9886f..6af5de7 100644
--- a/DeepGraft/TransMIL_feat_norm_rej_rest.yaml
+++ b/DeepGraft/TransMIL_feat_norm_rej_rest.yaml
@@ -3,7 +3,7 @@ General:
     seed: 2021
     fp16: True
     amp_level: O2
-    precision: 32
+    precision: 16-mixed
     multi_gpu_mode: ddp
     gpus: [0, 1]
     epochs: &epoch 1000 
@@ -20,13 +20,13 @@ Data:
     aug: True
     cache: False
     data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
-    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rej_rest_val_1.json'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_norm_rej_rest_ext.json'
     fold: 1
     nfold: 3
     cross_val: False
 
     train_dataloader:
-        batch_size: 100
+        batch_size: 50
         num_workers: 4
 
     test_dataloader:
diff --git a/DeepGraft/TransMIL_feat_norm_rest.yaml b/DeepGraft/TransMIL_feat_norm_rest.yaml
index 1651aa4..598adf6 100644
--- a/DeepGraft/TransMIL_feat_norm_rest.yaml
+++ b/DeepGraft/TransMIL_feat_norm_rest.yaml
@@ -3,7 +3,7 @@ General:
     seed: 2021
     fp16: True
     amp_level: O2
-    precision: 16
+    precision: 16-mixed
     multi_gpu_mode: ddp
     gpus: [0, 1]
     epochs: &epoch 1000 
@@ -20,13 +20,13 @@ Data:
     aug: True
     cache: False
     data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
-    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest_val_1.json'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_norm_rest_ext.json'
     fold: 1
     nfold: 3
     cross_val: False
 
     train_dataloader:
-        batch_size: 100
+        batch_size: 50
         num_workers: 4
 
     test_dataloader:
@@ -37,12 +37,12 @@ Model:
     name: TransMIL
     n_classes: 2
     backbone: features
-    in_features: 2048
+    in_features: 768
     out_features: 512
 
 
 Optimizer:
-    opt: lookahead_radam
+    opt: radam
     lr: 0.002
     opt_eps: null 
     opt_betas: null
diff --git a/DeepGraft/TransMIL_feat_rej_rest.yaml b/DeepGraft/TransMIL_feat_rej_rest.yaml
index 4a054f2..79f56ca 100644
--- a/DeepGraft/TransMIL_feat_rej_rest.yaml
+++ b/DeepGraft/TransMIL_feat_rej_rest.yaml
@@ -3,13 +3,13 @@ General:
     seed: 2021
     fp16: True
     amp_level: O2
-    precision: 16
+    precision: 16-mixed
     multi_gpu_mode: ddp
     gpus: [0, 1]
     epochs: &epoch 1000 
     grad_acc: 2
     frozen_bn: False
-    patience: 50
+    patience: 200
     server: train #train #test
     log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
 
@@ -20,13 +20,13 @@ Data:
     aug: True
     cache: False
     data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
-    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_rej_rest_val_1.json'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_rest_rej_ext.json'
     fold: 1
     nfold: 3
     cross_val: False
 
     train_dataloader:
-        batch_size: 100
+        batch_size: 50
         num_workers: 4
 
     test_dataloader:
@@ -42,7 +42,7 @@ Model:
 
 
 Optimizer:
-    opt: lookahead_radam
+    opt: radam
     lr: 0.002
     opt_eps: null 
     opt_betas: null
diff --git a/DeepGraft/TransMIL_feat_rejections.yaml b/DeepGraft/TransMIL_feat_rejections.yaml
index a1d2ae6..71dbc8d 100644
--- a/DeepGraft/TransMIL_feat_rejections.yaml
+++ b/DeepGraft/TransMIL_feat_rejections.yaml
@@ -3,44 +3,47 @@ General:
     seed: 2021
     fp16: True
     amp_level: O2
-    precision: 16 
+    precision: 16-mixed 
     multi_gpu_mode: dp
     gpus: [0]
     epochs: &epoch 500 
     grad_acc: 2
     frozen_bn: False
     patience: 50
-    server: test #train #test
+    server: train #train #test
     log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
 
 Data:
     dataset_name: custom
     data_shuffle: False
-    data_dir: '/home/ylan/data/DeepGraft/224_128um_v2/'
-    label_file: '/home/ylan/DeepGraft/training_tables/split_PAS_HE_Jones_rejections.json'
+    mixup: True
+    aug: True
+    cache: False
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_rejections_mixin_1.json'
     fold: 1
     nfold: 3
     cross_val: False
 
     train_dataloader:
-        batch_size: 1 
-        num_workers: 8
+        batch_size: 100 
+        num_workers: 4
 
     test_dataloader:
         batch_size: 1
-        num_workers: 8
+        num_workers: 4
 
 Model:
     name: TransMIL
     n_classes: 3
     backbone: features
-    in_features: 1024
+    in_features: 2048
     out_features: 512
 
 
 Optimizer:
     opt: lookahead_radam
-    lr: 0.0002
+    lr: 0.002
     opt_eps: null 
     opt_betas: null
     momentum: null 
diff --git a/DeepGraft/TransMIL_feat_rest_rej.yaml b/DeepGraft/TransMIL_feat_rest_rej.yaml
new file mode 100644
index 0000000..79f56ca
--- /dev/null
+++ b/DeepGraft/TransMIL_feat_rest_rej.yaml
@@ -0,0 +1,55 @@
+General:
+    comment: 
+    seed: 2021
+    fp16: True
+    amp_level: O2
+    precision: 16-mixed
+    multi_gpu_mode: ddp
+    gpus: [0, 1]
+    epochs: &epoch 1000 
+    grad_acc: 2
+    frozen_bn: False
+    patience: 200
+    server: train #train #test
+    log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
+
+Data:
+    dataset_name: custom
+    data_shuffle: False
+    mixup: True
+    aug: True
+    cache: False
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_rest_rej_ext.json'
+    fold: 1
+    nfold: 3
+    cross_val: False
+
+    train_dataloader:
+        batch_size: 50
+        num_workers: 4
+
+    test_dataloader:
+        batch_size: 1
+        num_workers: 4
+
+Model:
+    name: TransMIL
+    n_classes: 2
+    backbone: features
+    in_features: 2048
+    out_features: 512
+
+
+Optimizer:
+    opt: radam
+    lr: 0.002
+    opt_eps: null 
+    opt_betas: null
+    momentum: null 
+    weight_decay: 0.01
+
+Loss:
+    base_loss: CrossEntropyLoss
+    
+
diff --git a/DeepGraft/TransformerMIL_feat_norm_rest.yaml b/DeepGraft/TransformerMIL_feat_norm_rest.yaml
index 2f86ef1..8562629 100644
--- a/DeepGraft/TransformerMIL_feat_norm_rest.yaml
+++ b/DeepGraft/TransformerMIL_feat_norm_rest.yaml
@@ -16,14 +16,17 @@ General:
 Data:
     dataset_name: custom
     data_shuffle: False
+    mixup: True
+    aug: True
+    cache: False
     data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
-    label_file: '/home/ylan/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest_val_1.json'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_norm_rest_ext.json'
     fold: 1
     nfold: 3
     cross_val: False
 
     train_dataloader:
-        batch_size: 1 
+        batch_size: 25
         num_workers: 4
 
     test_dataloader:
@@ -39,8 +42,8 @@ Model:
 
 
 Optimizer:
-    opt: lookahead_radam
-    lr: 0.0001
+    opt: radam
+    lr: 0.002
     opt_eps: null 
     opt_betas: null
     momentum: null 
diff --git a/DeepGraft/Vit_classic_norm_rej_rest.yaml b/DeepGraft/Vit_classic_norm_rej_rest.yaml
new file mode 100644
index 0000000..feda1e6
--- /dev/null
+++ b/DeepGraft/Vit_classic_norm_rej_rest.yaml
@@ -0,0 +1,55 @@
+General:
+    comment: 
+    seed: 2021
+    fp16: True
+    amp_level: O2
+    precision: 16
+    multi_gpu_mode: ddp
+    gpus: [0, 1]
+    epochs: &epoch 500 
+    grad_acc: 2
+    frozen_bn: False
+    patience: 50
+    server: train #train #test
+    log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
+
+Data:
+    dataset_name: custom
+    data_shuffle: False
+    mixup: True
+    aug: True
+    cache: False
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_norm_rej_rest_ext.json'
+    fold: 1
+    nfold: 3
+    cross_val: False
+
+    train_dataloader:
+        batch_size: 200 
+        num_workers: 4
+
+    test_dataloader:
+        batch_size: 1
+        num_workers: 4
+
+Model:
+    name: vit
+    n_classes: 3
+    backbone: vit
+    in_features: 2048
+    out_features: 1024
+
+
+Optimizer:
+    opt: Adam
+    lr: 0.00002
+    opt_eps: null 
+    opt_betas: null
+    momentum: null 
+    weight_decay: 0.01
+
+Loss:
+    base_loss: CrossEntropyLoss
+    
+
diff --git a/DeepGraft/Vit_classic_norm_rest.yaml b/DeepGraft/Vit_classic_norm_rest.yaml
new file mode 100644
index 0000000..8ad0032
--- /dev/null
+++ b/DeepGraft/Vit_classic_norm_rest.yaml
@@ -0,0 +1,55 @@
+General:
+    comment: 
+    seed: 2021
+    fp16: True
+    amp_level: O2
+    precision: 16
+    multi_gpu_mode: ddp
+    gpus: [0, 1]
+    epochs: &epoch 500 
+    grad_acc: 2
+    frozen_bn: False
+    patience: 50
+    server: train #train #test
+    log_path: /home/ylan/workspace/TransMIL-DeepGraft/logs/
+
+Data:
+    dataset_name: custom
+    data_shuffle: False
+    mixup: True
+    aug: True
+    cache: False
+    data_dir: '/raid/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_norm_rest_ext.json'
+    fold: 1
+    nfold: 3
+    cross_val: False
+
+    train_dataloader:
+        batch_size: 200 
+        num_workers: 4
+
+    test_dataloader:
+        batch_size: 1
+        num_workers: 4
+
+Model:
+    name: vit
+    n_classes: 2
+    backbone: vit
+    in_features: 2048
+    out_features: 1024
+
+
+Optimizer:
+    opt: Adam
+    lr: 0.00002
+    opt_eps: null 
+    opt_betas: null
+    momentum: null 
+    weight_decay: 0.01
+
+Loss:
+    base_loss: CrossEntropyLoss
+    
+
diff --git a/DeepGraft/Vit_norm_rest.yaml b/DeepGraft/Vit_classic_rej_rest.yaml
similarity index 79%
rename from DeepGraft/Vit_norm_rest.yaml
rename to DeepGraft/Vit_classic_rej_rest.yaml
index ae4a0e5..2513e1f 100644
--- a/DeepGraft/Vit_norm_rest.yaml
+++ b/DeepGraft/Vit_classic_rej_rest.yaml
@@ -19,14 +19,14 @@ Data:
     mixup: True
     aug: True
     cache: False
-    data_dir: '/home/ylan/data/DeepGraft/224_128uM_annotated/'
-    label_file: '/home/ylan/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest_val_1.json'
+    data_dir: '/home/ylan/data/DeepGraft/224_256uM_annotated/'
+    label_file: '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_rej_rest_ext.json'
     fold: 1
     nfold: 3
     cross_val: False
 
     train_dataloader:
-        batch_size: 500 
+        batch_size: 200 
         num_workers: 4
 
     test_dataloader:
@@ -43,7 +43,7 @@ Model:
 
 Optimizer:
     opt: Adam
-    lr: 0.0001
+    lr: 0.00002
     opt_eps: null 
     opt_betas: null
     momentum: null 
diff --git a/README.md b/README.md
index 810ff74..3cab1da 100644
--- a/README.md
+++ b/README.md
@@ -35,3 +35,9 @@ wd = 0.01
 
     * 
 
+# Instructions
+
+* Train model
+* Validate model to generate topk patient lists for each patient
+* Test model
+* visualize with visualize_classic.py or visualize_mil.py
\ No newline at end of file
diff --git a/code/__pycache__/test_visualize.cpython-39.pyc b/code/__pycache__/test_visualize.cpython-39.pyc
index e06f73a4c5069d526f1bbf4449d7223a191e5e73..337b9a6e9632309e97da90cea85bcae8b6182bc3 100644
GIT binary patch
delta 10906
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
Iohl<c01z&Q_y7O^

delta 9673
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
WX=aF1xER@(co-#ExEMJYIT!&WM*?R6

diff --git a/code/__pycache__/visualize_mil.cpython-39.pyc b/code/__pycache__/visualize_mil.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..96a9d9809a9fd8369e5d7cec0acddc5c80b106ce
GIT binary patch
literal 10642
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

literal 0
HcmV?d00001

diff --git a/code/co2log/4963265a-2a0d-4f2f-9b52-398556005ce9 b/code/co2log/4963265a-2a0d-4f2f-9b52-398556005ce9
new file mode 100644
index 0000000..798a9fa
--- /dev/null
+++ b/code/co2log/4963265a-2a0d-4f2f-9b52-398556005ce9
@@ -0,0 +1 @@
+The quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dog
\ No newline at end of file
diff --git a/code/co2log/f06ea21a-6e0c-4c10-9734-4ec8b9157c64 b/code/co2log/f06ea21a-6e0c-4c10-9734-4ec8b9157c64
new file mode 100644
index 0000000..798a9fa
--- /dev/null
+++ b/code/co2log/f06ea21a-6e0c-4c10-9734-4ec8b9157c64
@@ -0,0 +1 @@
+The quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dog
\ No newline at end of file
diff --git a/code/co2log/impacttracker/data.json b/code/co2log/impacttracker/data.json
new file mode 100644
index 0000000..d54cc75
--- /dev/null
+++ b/code/co2log/impacttracker/data.json
@@ -0,0 +1,126 @@
+{"timestamp":1678266959.040295,"rapl_power_draw_absolute":167.76056638601327,"rapl_estimated_attributable_power_draw":7.9736426089289445,"cpu_time_seconds":{"2113736":{"user":14.42,"system":6.65,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":0.01,"system":0.14,"children_user":0.06,"children_system":2.21,"iowait":0.0}},"average_relative_cpu_utilization":0.05446020129732738,"absolute_cpu_utilization":0.98364281267462,"relative_mem_usage":0.01547746115333204,"absolute_mem_usage":3151345664.0,"absolute_mem_percent_usage":0.005825802639104576,"mem_info_per_process":{"2113736":{"rss":3245826048,"vms":23024664576,"shared":805019648,"text":2633728,"lib":0,"data":5191630848,"dirty":0,"uss":2695884800,"pss":2921940992,"swap":0},"2113939":{"rss":432562176,"vms":11097341952,"shared":8335360,"text":2633728,"lib":0,"data":2827988992,"dirty":0,"uss":31375360,"pss":229404672,"swap":0}},"nvidia_draw_absolute":461.33,"nvidia_estimated_attributable_power_draw":67.68,"average_gpu_estimated_utilization_absolute":0.222,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":12.0,"mem":8.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":8.25,"mem":4.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":22.2,"mem":15.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":67.68},"cpu_count_adjusted_average_load":[0.22374999999999998,0.21787499999999999,0.214875],"cpu_freq":[{"current":2693.759,"min":1200.0,"max":3600.0},{"current":2694.366,"min":1200.0,"max":3600.0},{"current":2695.4,"min":1200.0,"max":3600.0},{"current":2702.883,"min":1200.0,"max":3600.0},{"current":2681.55,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2689.213,"min":1200.0,"max":3600.0},{"current":2695.998,"min":1200.0,"max":3600.0},{"current":2700.774,"min":1200.0,"max":3600.0},{"current":2699.191,"min":1200.0,"max":3600.0},{"current":2658.429,"min":1200.0,"max":3600.0},{"current":2679.789,"min":1200.0,"max":3600.0},{"current":2702.724,"min":1200.0,"max":3600.0},{"current":2694.074,"min":1200.0,"max":3600.0},{"current":2694.39,"min":1200.0,"max":3600.0},{"current":2648.024,"min":1200.0,"max":3600.0},{"current":2751.554,"min":1200.0,"max":3600.0},{"current":2701.609,"min":1200.0,"max":3600.0},{"current":2738.594,"min":1200.0,"max":3600.0},{"current":2695.266,"min":1200.0,"max":3600.0},{"current":2695.998,"min":1200.0,"max":3600.0},{"current":2694.374,"min":1200.0,"max":3600.0},{"current":2695.385,"min":1200.0,"max":3600.0},{"current":2698.749,"min":1200.0,"max":3600.0},{"current":2697.151,"min":1200.0,"max":3600.0},{"current":2695.023,"min":1200.0,"max":3600.0},{"current":2681.535,"min":1200.0,"max":3600.0},{"current":2696.965,"min":1200.0,"max":3600.0},{"current":2700.694,"min":1200.0,"max":3600.0},{"current":2696.046,"min":1200.0,"max":3600.0},{"current":2699.003,"min":1200.0,"max":3600.0},{"current":2695.079,"min":1200.0,"max":3600.0},{"current":2697.637,"min":1200.0,"max":3600.0},{"current":2786.61,"min":1200.0,"max":3600.0},{"current":2696.069,"min":1200.0,"max":3600.0},{"current":2761.709,"min":1200.0,"max":3600.0},{"current":2696.804,"min":1200.0,"max":3600.0},{"current":2692.502,"min":1200.0,"max":3600.0},{"current":2628.842,"min":1200.0,"max":3600.0},{"current":2693.469,"min":1200.0,"max":3600.0},{"current":2696.454,"min":1200.0,"max":3600.0},{"current":2694.602,"min":1200.0,"max":3600.0},{"current":2765.357,"min":1200.0,"max":3600.0},{"current":2697.102,"min":1200.0,"max":3600.0},{"current":2757.593,"min":1200.0,"max":3600.0},{"current":2698.914,"min":1200.0,"max":3600.0},{"current":2695.684,"min":1200.0,"max":3600.0},{"current":2695.661,"min":1200.0,"max":3600.0},{"current":2694.074,"min":1200.0,"max":3600.0},{"current":2696.162,"min":1200.0,"max":3600.0},{"current":2827.255,"min":1200.0,"max":3600.0},{"current":2627.299,"min":1200.0,"max":3600.0},{"current":2715.392,"min":1200.0,"max":3600.0},{"current":2707.844,"min":1200.0,"max":3600.0},{"current":2724.69,"min":1200.0,"max":3600.0},{"current":2850.828,"min":1200.0,"max":3600.0},{"current":2692.911,"min":1200.0,"max":3600.0},{"current":2697.591,"min":1200.0,"max":3600.0},{"current":2844.569,"min":1200.0,"max":3600.0},{"current":2754.802,"min":1200.0,"max":3600.0},{"current":2685.923,"min":1200.0,"max":3600.0},{"current":2694.118,"min":1200.0,"max":3600.0},{"current":2693.555,"min":1200.0,"max":3600.0},{"current":2694.509,"min":1200.0,"max":3600.0},{"current":2694.63,"min":1200.0,"max":3600.0},{"current":2694.984,"min":1200.0,"max":3600.0},{"current":2781.731,"min":1200.0,"max":3600.0},{"current":2695.026,"min":1200.0,"max":3600.0},{"current":2695.251,"min":1200.0,"max":3600.0},{"current":2694.15,"min":1200.0,"max":3600.0},{"current":2694.106,"min":1200.0,"max":3600.0},{"current":2697.707,"min":1200.0,"max":3600.0},{"current":2694.875,"min":1200.0,"max":3600.0},{"current":2772.211,"min":1200.0,"max":3600.0},{"current":2776.903,"min":1200.0,"max":3600.0},{"current":2660.414,"min":1200.0,"max":3600.0},{"current":2721.185,"min":1200.0,"max":3600.0},{"current":2661.613,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2672.316,"min":1200.0,"max":3600.0}],"disk_write_speed":58.243382481593706,"process_ids":[2113736,2113939]}
+{"timestamp":1678266974.452139,"rapl_power_draw_absolute":165.95274442191985,"rapl_estimated_attributable_power_draw":8.548183859617911,"cpu_time_seconds":{"2113736":{"user":26.35,"system":10.06,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":0.29,"system":0.49,"children_user":0.15,"children_system":5.34,"iowait":0.28}},"average_relative_cpu_utilization":0.058259450353834875,"absolute_cpu_utilization":1.0037497058240283,"relative_mem_usage":0.018956098337848077,"absolute_mem_usage":3869073408.0,"absolute_mem_percent_usage":0.007152645401204626,"mem_info_per_process":{"2113736":{"rss":3944648704,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3409899520,"pss":3634009088,"swap":0},"2113939":{"rss":439644160,"vms":11098390528,"shared":14217216,"text":2633728,"lib":0,"data":2829037568,"dirty":0,"uss":39231488,"pss":235064320,"swap":0}},"nvidia_draw_absolute":472.87,"nvidia_estimated_attributable_power_draw":68.16,"average_gpu_estimated_utilization_absolute":0.21,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":8.666666666666666,"mem":5.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":22.0,"mem":12.666666666666666,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":21.0,"mem":13.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":68.16},"cpu_count_adjusted_average_load":[0.22675,0.21887500000000001,0.21525],"cpu_freq":[{"current":2695.736,"min":1200.0,"max":3600.0},{"current":2729.573,"min":1200.0,"max":3600.0},{"current":2601.632,"min":1200.0,"max":3600.0},{"current":2695.903,"min":1200.0,"max":3600.0},{"current":2691.513,"min":1200.0,"max":3600.0},{"current":2696.327,"min":1200.0,"max":3600.0},{"current":2799.671,"min":1200.0,"max":3600.0},{"current":2740.103,"min":1200.0,"max":3600.0},{"current":2696.89,"min":1200.0,"max":3600.0},{"current":2709.023,"min":1200.0,"max":3600.0},{"current":2693.327,"min":1200.0,"max":3600.0},{"current":2813.943,"min":1200.0,"max":3600.0},{"current":2748.175,"min":1200.0,"max":3600.0},{"current":2695.788,"min":1200.0,"max":3600.0},{"current":2764.205,"min":1200.0,"max":3600.0},{"current":2696.012,"min":1200.0,"max":3600.0},{"current":2847.673,"min":1200.0,"max":3600.0},{"current":2695.696,"min":1200.0,"max":3600.0},{"current":2694.167,"min":1200.0,"max":3600.0},{"current":2708.61,"min":1200.0,"max":3600.0},{"current":2694.236,"min":1200.0,"max":3600.0},{"current":2696.471,"min":1200.0,"max":3600.0},{"current":2701.941,"min":1200.0,"max":3600.0},{"current":2756.898,"min":1200.0,"max":3600.0},{"current":2695.841,"min":1200.0,"max":3600.0},{"current":2698.261,"min":1200.0,"max":3600.0},{"current":2623.129,"min":1200.0,"max":3600.0},{"current":2697.36,"min":1200.0,"max":3600.0},{"current":2694.884,"min":1200.0,"max":3600.0},{"current":2701.158,"min":1200.0,"max":3600.0},{"current":2694.464,"min":1200.0,"max":3600.0},{"current":2694.212,"min":1200.0,"max":3600.0},{"current":2695.423,"min":1200.0,"max":3600.0},{"current":2695.803,"min":1200.0,"max":3600.0},{"current":2697.839,"min":1200.0,"max":3600.0},{"current":2781.63,"min":1200.0,"max":3600.0},{"current":2698.026,"min":1200.0,"max":3600.0},{"current":2633.592,"min":1200.0,"max":3600.0},{"current":2697.066,"min":1200.0,"max":3600.0},{"current":2695.309,"min":1200.0,"max":3600.0},{"current":2748.939,"min":1200.0,"max":3600.0},{"current":2701.728,"min":1200.0,"max":3600.0},{"current":2856.604,"min":1200.0,"max":3600.0},{"current":2705.906,"min":1200.0,"max":3600.0},{"current":2844.161,"min":1200.0,"max":3600.0},{"current":2711.059,"min":1200.0,"max":3600.0},{"current":2693.834,"min":1200.0,"max":3600.0},{"current":2756.645,"min":1200.0,"max":3600.0},{"current":2698.264,"min":1200.0,"max":3600.0},{"current":2694.317,"min":1200.0,"max":3600.0},{"current":2739.873,"min":1200.0,"max":3600.0},{"current":2695.014,"min":1200.0,"max":3600.0},{"current":2698.669,"min":1200.0,"max":3600.0},{"current":2694.19,"min":1200.0,"max":3600.0},{"current":2694.372,"min":1200.0,"max":3600.0},{"current":2685.878,"min":1200.0,"max":3600.0},{"current":2694.064,"min":1200.0,"max":3600.0},{"current":2694.783,"min":1200.0,"max":3600.0},{"current":2707.374,"min":1200.0,"max":3600.0},{"current":2694.111,"min":1200.0,"max":3600.0},{"current":2756.655,"min":1200.0,"max":3600.0},{"current":2694.775,"min":1200.0,"max":3600.0},{"current":2693.843,"min":1200.0,"max":3600.0},{"current":2694.647,"min":1200.0,"max":3600.0},{"current":2694.628,"min":1200.0,"max":3600.0},{"current":2695.51,"min":1200.0,"max":3600.0},{"current":2735.986,"min":1200.0,"max":3600.0},{"current":2693.733,"min":1200.0,"max":3600.0},{"current":2694.285,"min":1200.0,"max":3600.0},{"current":2693.969,"min":1200.0,"max":3600.0},{"current":2693.439,"min":1200.0,"max":3600.0},{"current":2694.701,"min":1200.0,"max":3600.0},{"current":2697.356,"min":1200.0,"max":3600.0},{"current":2772.746,"min":1200.0,"max":3600.0},{"current":2763.199,"min":1200.0,"max":3600.0},{"current":2691.977,"min":1200.0,"max":3600.0},{"current":2691.131,"min":1200.0,"max":3600.0},{"current":2766.188,"min":1200.0,"max":3600.0},{"current":2754.666,"min":1200.0,"max":3600.0},{"current":2763.276,"min":1200.0,"max":3600.0}],"disk_write_speed":72.15064163659407,"process_ids":[2113736,2113939]}
+{"timestamp":1678266990.012206,"rapl_power_draw_absolute":167.04746515270946,"rapl_estimated_attributable_power_draw":8.580439966300094,"cpu_time_seconds":{"2113736":{"user":39.34,"system":12.64,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":0.5,"system":0.79,"children_user":0.24,"children_system":8.45,"iowait":0.63}},"average_relative_cpu_utilization":0.05815749808056529,"absolute_cpu_utilization":1.0036714681688517,"relative_mem_usage":0.018006703346263125,"absolute_mem_usage":3672772608.0,"absolute_mem_percent_usage":0.006789749724045949,"mem_info_per_process":{"2113736":{"rss":3743866880,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3213832192,"pss":3437935616,"swap":0},"2113939":{"rss":439410688,"vms":11098390528,"shared":14217216,"text":2633728,"lib":0,"data":2829037568,"dirty":0,"uss":39010304,"pss":234836992,"swap":0}},"nvidia_draw_absolute":566.67,"nvidia_estimated_attributable_power_draw":68.64,"average_gpu_estimated_utilization_absolute":0.17800000000000002,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":3.0,"mem":1.5,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":17.8,"mem":11.4,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":68.64},"cpu_count_adjusted_average_load":[0.2265,0.21912500000000001,0.215375],"cpu_freq":[{"current":2694.316,"min":1200.0,"max":3600.0},{"current":2697.771,"min":1200.0,"max":3600.0},{"current":2696.565,"min":1200.0,"max":3600.0},{"current":2698.33,"min":1200.0,"max":3600.0},{"current":2693.664,"min":1200.0,"max":3600.0},{"current":2695.489,"min":1200.0,"max":3600.0},{"current":2767.273,"min":1200.0,"max":3600.0},{"current":2697.103,"min":1200.0,"max":3600.0},{"current":2704.234,"min":1200.0,"max":3600.0},{"current":2698.35,"min":1200.0,"max":3600.0},{"current":2663.193,"min":1200.0,"max":3600.0},{"current":2778.158,"min":1200.0,"max":3600.0},{"current":2696.17,"min":1200.0,"max":3600.0},{"current":2709.602,"min":1200.0,"max":3600.0},{"current":2697.582,"min":1200.0,"max":3600.0},{"current":2698.324,"min":1200.0,"max":3600.0},{"current":2697.281,"min":1200.0,"max":3600.0},{"current":2742.907,"min":1200.0,"max":3600.0},{"current":2693.752,"min":1200.0,"max":3600.0},{"current":2694.124,"min":1200.0,"max":3600.0},{"current":2689.43,"min":1200.0,"max":3600.0},{"current":2696.433,"min":1200.0,"max":3600.0},{"current":2682.701,"min":1200.0,"max":3600.0},{"current":2696.884,"min":1200.0,"max":3600.0},{"current":2697.014,"min":1200.0,"max":3600.0},{"current":2694.676,"min":1200.0,"max":3600.0},{"current":2697.891,"min":1200.0,"max":3600.0},{"current":2695.656,"min":1200.0,"max":3600.0},{"current":2695.859,"min":1200.0,"max":3600.0},{"current":2698.442,"min":1200.0,"max":3600.0},{"current":2697.737,"min":1200.0,"max":3600.0},{"current":2698.114,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2687.719,"min":1200.0,"max":3600.0},{"current":2690.931,"min":1200.0,"max":3600.0},{"current":2680.472,"min":1200.0,"max":3600.0},{"current":2695.314,"min":1200.0,"max":3600.0},{"current":2693.415,"min":1200.0,"max":3600.0},{"current":2691.596,"min":1200.0,"max":3600.0},{"current":2681.908,"min":1200.0,"max":3600.0},{"current":2694.349,"min":1200.0,"max":3600.0},{"current":2693.989,"min":1200.0,"max":3600.0},{"current":2734.257,"min":1200.0,"max":3600.0},{"current":2695.866,"min":1200.0,"max":3600.0},{"current":2747.624,"min":1200.0,"max":3600.0},{"current":2696.935,"min":1200.0,"max":3600.0},{"current":2746.568,"min":1200.0,"max":3600.0},{"current":2694.287,"min":1200.0,"max":3600.0},{"current":2695.687,"min":1200.0,"max":3600.0},{"current":2694.002,"min":1200.0,"max":3600.0},{"current":2764.296,"min":1200.0,"max":3600.0},{"current":2669.665,"min":1200.0,"max":3600.0},{"current":2696.399,"min":1200.0,"max":3600.0},{"current":2694.33,"min":1200.0,"max":3600.0},{"current":2711.525,"min":1200.0,"max":3600.0},{"current":2768.005,"min":1200.0,"max":3600.0},{"current":2695.185,"min":1200.0,"max":3600.0},{"current":2683.367,"min":1200.0,"max":3600.0},{"current":2759.295,"min":1200.0,"max":3600.0},{"current":2694.093,"min":1200.0,"max":3600.0},{"current":2694.697,"min":1200.0,"max":3600.0},{"current":2694.763,"min":1200.0,"max":3600.0},{"current":2695.003,"min":1200.0,"max":3600.0},{"current":2693.923,"min":1200.0,"max":3600.0},{"current":2694.551,"min":1200.0,"max":3600.0},{"current":2697.02,"min":1200.0,"max":3600.0},{"current":2745.508,"min":1200.0,"max":3600.0},{"current":2693.915,"min":1200.0,"max":3600.0},{"current":2697.63,"min":1200.0,"max":3600.0},{"current":2695.468,"min":1200.0,"max":3600.0},{"current":2694.2,"min":1200.0,"max":3600.0},{"current":2695.672,"min":1200.0,"max":3600.0},{"current":2716.937,"min":1200.0,"max":3600.0},{"current":2756.692,"min":1200.0,"max":3600.0},{"current":2775.012,"min":1200.0,"max":3600.0},{"current":2632.241,"min":1200.0,"max":3600.0},{"current":2694.653,"min":1200.0,"max":3600.0},{"current":2758.652,"min":1200.0,"max":3600.0},{"current":2778.668,"min":1200.0,"max":3600.0},{"current":2728.465,"min":1200.0,"max":3600.0}],"disk_write_speed":72.66315718008086,"process_ids":[2113736,2113939]}
+{"timestamp":1678267005.3562,"rapl_power_draw_absolute":168.51320539919513,"rapl_estimated_attributable_power_draw":8.18795223963625,"cpu_time_seconds":{"2113736":{"user":52.11,"system":15.21,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":0.71,"system":1.09,"children_user":0.34,"children_system":11.56,"iowait":0.97}},"average_relative_cpu_utilization":0.055368883200932834,"absolute_cpu_utilization":0.9987305937505976,"relative_mem_usage":0.01641522296456452,"absolute_mem_usage":3348462592.0,"absolute_mem_percent_usage":0.006190207068765577,"mem_info_per_process":{"2113736":{"rss":3417366528,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":2889240576,"pss":3113342976,"swap":0},"2113939":{"rss":439693312,"vms":11098652672,"shared":14217216,"text":2633728,"lib":0,"data":2829299712,"dirty":0,"uss":39292928,"pss":235119616,"swap":0}},"nvidia_draw_absolute":477.61,"nvidia_estimated_attributable_power_draw":69.13,"average_gpu_estimated_utilization_absolute":0.242,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":17.666666666666668,"mem":11.333333333333334,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":8.0,"mem":4.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.2,"mem":16.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.13},"cpu_count_adjusted_average_load":[0.22599999999999998,0.21949999999999997,0.21549999999999997],"cpu_freq":[{"current":2695.992,"min":1200.0,"max":3600.0},{"current":2699.757,"min":1200.0,"max":3600.0},{"current":2695.273,"min":1200.0,"max":3600.0},{"current":2694.505,"min":1200.0,"max":3600.0},{"current":2710.344,"min":1200.0,"max":3600.0},{"current":2698.488,"min":1200.0,"max":3600.0},{"current":2817.348,"min":1200.0,"max":3600.0},{"current":2696.246,"min":1200.0,"max":3600.0},{"current":2696.759,"min":1200.0,"max":3600.0},{"current":2695.904,"min":1200.0,"max":3600.0},{"current":2644.797,"min":1200.0,"max":3600.0},{"current":2773.919,"min":1200.0,"max":3600.0},{"current":2697.883,"min":1200.0,"max":3600.0},{"current":2696.243,"min":1200.0,"max":3600.0},{"current":2694.272,"min":1200.0,"max":3600.0},{"current":2693.882,"min":1200.0,"max":3600.0},{"current":2696.985,"min":1200.0,"max":3600.0},{"current":2806.306,"min":1200.0,"max":3600.0},{"current":2593.819,"min":1200.0,"max":3600.0},{"current":2720.8,"min":1200.0,"max":3600.0},{"current":2693.941,"min":1200.0,"max":3600.0},{"current":2695.748,"min":1200.0,"max":3600.0},{"current":2694.407,"min":1200.0,"max":3600.0},{"current":2697.743,"min":1200.0,"max":3600.0},{"current":2702.014,"min":1200.0,"max":3600.0},{"current":2695.066,"min":1200.0,"max":3600.0},{"current":2695.67,"min":1200.0,"max":3600.0},{"current":2696.591,"min":1200.0,"max":3600.0},{"current":2696.71,"min":1200.0,"max":3600.0},{"current":2695.261,"min":1200.0,"max":3600.0},{"current":2694.9,"min":1200.0,"max":3600.0},{"current":2696.877,"min":1200.0,"max":3600.0},{"current":2774.131,"min":1200.0,"max":3600.0},{"current":2692.865,"min":1200.0,"max":3600.0},{"current":2692.365,"min":1200.0,"max":3600.0},{"current":2764.313,"min":1200.0,"max":3600.0},{"current":2693.852,"min":1200.0,"max":3600.0},{"current":2697.526,"min":1200.0,"max":3600.0},{"current":2695.172,"min":1200.0,"max":3600.0},{"current":2693.346,"min":1200.0,"max":3600.0},{"current":2697.368,"min":1200.0,"max":3600.0},{"current":2736.721,"min":1200.0,"max":3600.0},{"current":2851.215,"min":1200.0,"max":3600.0},{"current":2705.829,"min":1200.0,"max":3600.0},{"current":2711.246,"min":1200.0,"max":3600.0},{"current":2811.798,"min":1200.0,"max":3600.0},{"current":2659.009,"min":1200.0,"max":3600.0},{"current":2697.978,"min":1200.0,"max":3600.0},{"current":2694.148,"min":1200.0,"max":3600.0},{"current":2694.682,"min":1200.0,"max":3600.0},{"current":2801.662,"min":1200.0,"max":3600.0},{"current":2692.594,"min":1200.0,"max":3600.0},{"current":2696.719,"min":1200.0,"max":3600.0},{"current":2707.496,"min":1200.0,"max":3600.0},{"current":2723.994,"min":1200.0,"max":3600.0},{"current":2792.643,"min":1200.0,"max":3600.0},{"current":2695.459,"min":1200.0,"max":3600.0},{"current":2693.189,"min":1200.0,"max":3600.0},{"current":2793.417,"min":1200.0,"max":3600.0},{"current":2694.419,"min":1200.0,"max":3600.0},{"current":2777.941,"min":1200.0,"max":3600.0},{"current":2696.615,"min":1200.0,"max":3600.0},{"current":2694.031,"min":1200.0,"max":3600.0},{"current":2695.388,"min":1200.0,"max":3600.0},{"current":2696.37,"min":1200.0,"max":3600.0},{"current":2696.301,"min":1200.0,"max":3600.0},{"current":2757.314,"min":1200.0,"max":3600.0},{"current":2694.794,"min":1200.0,"max":3600.0},{"current":2696.986,"min":1200.0,"max":3600.0},{"current":2697.031,"min":1200.0,"max":3600.0},{"current":2694.103,"min":1200.0,"max":3600.0},{"current":2694.563,"min":1200.0,"max":3600.0},{"current":2695.677,"min":1200.0,"max":3600.0},{"current":2736.144,"min":1200.0,"max":3600.0},{"current":2780.984,"min":1200.0,"max":3600.0},{"current":2693.037,"min":1200.0,"max":3600.0},{"current":2694.578,"min":1200.0,"max":3600.0},{"current":2771.902,"min":1200.0,"max":3600.0},{"current":2763.754,"min":1200.0,"max":3600.0},{"current":2695.116,"min":1200.0,"max":3600.0}],"disk_write_speed":69.74094298085173,"process_ids":[2113736,2113939]}
+{"timestamp":1678267021.048203,"rapl_power_draw_absolute":166.37321497279447,"rapl_estimated_attributable_power_draw":8.532652041842766,"cpu_time_seconds":{"2113736":{"user":65.16,"system":17.86,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":0.93,"system":1.39,"children_user":0.44,"children_system":14.69,"iowait":1.3}},"average_relative_cpu_utilization":0.05858026882473544,"absolute_cpu_utilization":1.0039984549423084,"relative_mem_usage":0.016047478000189068,"absolute_mem_usage":3267288064.0,"absolute_mem_percent_usage":0.006040142039450383,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2807799808,"pss":3031900160,"swap":0},"2113939":{"rss":439959552,"vms":11098914816,"shared":14217216,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":39563264,"pss":235387904,"swap":0}},"nvidia_draw_absolute":604.1700000000001,"nvidia_estimated_attributable_power_draw":198.49,"average_gpu_estimated_utilization_absolute":0.29600000000000004,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":10.666666666666666,"mem":6.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":29.6,"mem":20.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":198.49},"cpu_count_adjusted_average_load":[0.22749999999999998,0.220125,0.21587499999999998],"cpu_freq":[{"current":2695.397,"min":1200.0,"max":3600.0},{"current":2696.957,"min":1200.0,"max":3600.0},{"current":2700.887,"min":1200.0,"max":3600.0},{"current":2770.561,"min":1200.0,"max":3600.0},{"current":2711.76,"min":1200.0,"max":3600.0},{"current":2694.727,"min":1200.0,"max":3600.0},{"current":2854.214,"min":1200.0,"max":3600.0},{"current":2715.781,"min":1200.0,"max":3600.0},{"current":2701.127,"min":1200.0,"max":3600.0},{"current":2727.43,"min":1200.0,"max":3600.0},{"current":2683.37,"min":1200.0,"max":3600.0},{"current":2712.184,"min":1200.0,"max":3600.0},{"current":2803.959,"min":1200.0,"max":3600.0},{"current":2694.966,"min":1200.0,"max":3600.0},{"current":2698.878,"min":1200.0,"max":3600.0},{"current":2695.445,"min":1200.0,"max":3600.0},{"current":2733.807,"min":1200.0,"max":3600.0},{"current":2818.38,"min":1200.0,"max":3600.0},{"current":2697.722,"min":1200.0,"max":3600.0},{"current":2694.898,"min":1200.0,"max":3600.0},{"current":2695.487,"min":1200.0,"max":3600.0},{"current":2694.099,"min":1200.0,"max":3600.0},{"current":2695.232,"min":1200.0,"max":3600.0},{"current":2694.52,"min":1200.0,"max":3600.0},{"current":2697.022,"min":1200.0,"max":3600.0},{"current":2695.917,"min":1200.0,"max":3600.0},{"current":2692.593,"min":1200.0,"max":3600.0},{"current":2696.258,"min":1200.0,"max":3600.0},{"current":2697.035,"min":1200.0,"max":3600.0},{"current":2696.674,"min":1200.0,"max":3600.0},{"current":2697.091,"min":1200.0,"max":3600.0},{"current":2697.906,"min":1200.0,"max":3600.0},{"current":2700.631,"min":1200.0,"max":3600.0},{"current":2636.578,"min":1200.0,"max":3600.0},{"current":2693.002,"min":1200.0,"max":3600.0},{"current":2715.041,"min":1200.0,"max":3600.0},{"current":2697.76,"min":1200.0,"max":3600.0},{"current":2695.487,"min":1200.0,"max":3600.0},{"current":2692.736,"min":1200.0,"max":3600.0},{"current":2694.041,"min":1200.0,"max":3600.0},{"current":2737.313,"min":1200.0,"max":3600.0},{"current":2707.151,"min":1200.0,"max":3600.0},{"current":2847.025,"min":1200.0,"max":3600.0},{"current":2697.817,"min":1200.0,"max":3600.0},{"current":2710.699,"min":1200.0,"max":3600.0},{"current":2824.716,"min":1200.0,"max":3600.0},{"current":2656.506,"min":1200.0,"max":3600.0},{"current":2697.172,"min":1200.0,"max":3600.0},{"current":2695.383,"min":1200.0,"max":3600.0},{"current":2785.307,"min":1200.0,"max":3600.0},{"current":2793.733,"min":1200.0,"max":3600.0},{"current":2695.98,"min":1200.0,"max":3600.0},{"current":2622.443,"min":1200.0,"max":3600.0},{"current":2721.392,"min":1200.0,"max":3600.0},{"current":2706.435,"min":1200.0,"max":3600.0},{"current":2785.518,"min":1200.0,"max":3600.0},{"current":2708.888,"min":1200.0,"max":3600.0},{"current":2622.387,"min":1200.0,"max":3600.0},{"current":2877.454,"min":1200.0,"max":3600.0},{"current":2707.997,"min":1200.0,"max":3600.0},{"current":2692.99,"min":1200.0,"max":3600.0},{"current":2692.242,"min":1200.0,"max":3600.0},{"current":2702.843,"min":1200.0,"max":3600.0},{"current":2693.759,"min":1200.0,"max":3600.0},{"current":2694.39,"min":1200.0,"max":3600.0},{"current":2696.072,"min":1200.0,"max":3600.0},{"current":2689.409,"min":1200.0,"max":3600.0},{"current":2696.679,"min":1200.0,"max":3600.0},{"current":2696.187,"min":1200.0,"max":3600.0},{"current":2693.995,"min":1200.0,"max":3600.0},{"current":2696.845,"min":1200.0,"max":3600.0},{"current":2694.149,"min":1200.0,"max":3600.0},{"current":2696.745,"min":1200.0,"max":3600.0},{"current":2666.626,"min":1200.0,"max":3600.0},{"current":2682.77,"min":1200.0,"max":3600.0},{"current":2696.406,"min":1200.0,"max":3600.0},{"current":2720.544,"min":1200.0,"max":3600.0},{"current":2726.364,"min":1200.0,"max":3600.0},{"current":2694.943,"min":1200.0,"max":3600.0},{"current":2697.521,"min":1200.0,"max":3600.0}],"disk_write_speed":70.32725812784433,"process_ids":[2113736,2113939]}
+{"timestamp":1678267036.840212,"rapl_power_draw_absolute":165.6648750885808,"rapl_estimated_attributable_power_draw":8.656200515147148,"cpu_time_seconds":{"2113736":{"user":78.66,"system":20.16,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":1.15,"system":1.68,"children_user":0.52,"children_system":17.86,"iowait":1.64}},"average_relative_cpu_utilization":0.059166861558900156,"absolute_cpu_utilization":1.003994041737308,"relative_mem_usage":0.018847249730762173,"absolute_mem_usage":3849052160.0,"absolute_mem_percent_usage":0.007115632692389778,"mem_info_per_process":{"2113736":{"rss":3917680640,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3389304832,"pss":3613404160,"swap":0},"2113939":{"rss":440217600,"vms":11098914816,"shared":14217216,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":39825408,"pss":235648000,"swap":0}},"nvidia_draw_absolute":676.73,"nvidia_estimated_attributable_power_draw":68.64,"average_gpu_estimated_utilization_absolute":0.20600000000000002,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":21.5,"mem":13.5,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":20.6,"mem":12.8,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":68.64},"cpu_count_adjusted_average_load":[0.22962500000000002,0.221,0.21612499999999998],"cpu_freq":[{"current":2694.846,"min":1200.0,"max":3600.0},{"current":2708.508,"min":1200.0,"max":3600.0},{"current":2747.165,"min":1200.0,"max":3600.0},{"current":2711.844,"min":1200.0,"max":3600.0},{"current":2712.016,"min":1200.0,"max":3600.0},{"current":2696.293,"min":1200.0,"max":3600.0},{"current":2812.205,"min":1200.0,"max":3600.0},{"current":2710.621,"min":1200.0,"max":3600.0},{"current":2710.765,"min":1200.0,"max":3600.0},{"current":2700.477,"min":1200.0,"max":3600.0},{"current":2693.605,"min":1200.0,"max":3600.0},{"current":2694.259,"min":1200.0,"max":3600.0},{"current":2746.271,"min":1200.0,"max":3600.0},{"current":2696.76,"min":1200.0,"max":3600.0},{"current":2693.695,"min":1200.0,"max":3600.0},{"current":2691.203,"min":1200.0,"max":3600.0},{"current":2700.224,"min":1200.0,"max":3600.0},{"current":2681.509,"min":1200.0,"max":3600.0},{"current":2692.64,"min":1200.0,"max":3600.0},{"current":2711.795,"min":1200.0,"max":3600.0},{"current":2758.474,"min":1200.0,"max":3600.0},{"current":2694.937,"min":1200.0,"max":3600.0},{"current":2697.372,"min":1200.0,"max":3600.0},{"current":2693.627,"min":1200.0,"max":3600.0},{"current":2695.903,"min":1200.0,"max":3600.0},{"current":2698.801,"min":1200.0,"max":3600.0},{"current":2622.958,"min":1200.0,"max":3600.0},{"current":2699.787,"min":1200.0,"max":3600.0},{"current":2695.258,"min":1200.0,"max":3600.0},{"current":2696.518,"min":1200.0,"max":3600.0},{"current":2725.767,"min":1200.0,"max":3600.0},{"current":2695.045,"min":1200.0,"max":3600.0},{"current":2722.943,"min":1200.0,"max":3600.0},{"current":2695.835,"min":1200.0,"max":3600.0},{"current":2692.118,"min":1200.0,"max":3600.0},{"current":2781.568,"min":1200.0,"max":3600.0},{"current":2701.09,"min":1200.0,"max":3600.0},{"current":2666.045,"min":1200.0,"max":3600.0},{"current":2692.659,"min":1200.0,"max":3600.0},{"current":2621.385,"min":1200.0,"max":3600.0},{"current":2727.872,"min":1200.0,"max":3600.0},{"current":2709.435,"min":1200.0,"max":3600.0},{"current":2781.955,"min":1200.0,"max":3600.0},{"current":2695.683,"min":1200.0,"max":3600.0},{"current":2711.233,"min":1200.0,"max":3600.0},{"current":2786.0,"min":1200.0,"max":3600.0},{"current":2703.083,"min":1200.0,"max":3600.0},{"current":2694.229,"min":1200.0,"max":3600.0},{"current":2699.511,"min":1200.0,"max":3600.0},{"current":2736.474,"min":1200.0,"max":3600.0},{"current":2820.962,"min":1200.0,"max":3600.0},{"current":2708.598,"min":1200.0,"max":3600.0},{"current":2692.995,"min":1200.0,"max":3600.0},{"current":2696.228,"min":1200.0,"max":3600.0},{"current":2707.08,"min":1200.0,"max":3600.0},{"current":2812.371,"min":1200.0,"max":3600.0},{"current":2693.999,"min":1200.0,"max":3600.0},{"current":2701.76,"min":1200.0,"max":3600.0},{"current":2863.109,"min":1200.0,"max":3600.0},{"current":2708.844,"min":1200.0,"max":3600.0},{"current":2695.454,"min":1200.0,"max":3600.0},{"current":2697.276,"min":1200.0,"max":3600.0},{"current":2695.442,"min":1200.0,"max":3600.0},{"current":2695.374,"min":1200.0,"max":3600.0},{"current":2693.92,"min":1200.0,"max":3600.0},{"current":2694.083,"min":1200.0,"max":3600.0},{"current":2665.01,"min":1200.0,"max":3600.0},{"current":2696.022,"min":1200.0,"max":3600.0},{"current":2696.593,"min":1200.0,"max":3600.0},{"current":2696.543,"min":1200.0,"max":3600.0},{"current":2693.773,"min":1200.0,"max":3600.0},{"current":2694.198,"min":1200.0,"max":3600.0},{"current":2696.633,"min":1200.0,"max":3600.0},{"current":2777.243,"min":1200.0,"max":3600.0},{"current":2813.724,"min":1200.0,"max":3600.0},{"current":2694.955,"min":1200.0,"max":3600.0},{"current":2777.547,"min":1200.0,"max":3600.0},{"current":2779.361,"min":1200.0,"max":3600.0},{"current":2762.514,"min":1200.0,"max":3600.0},{"current":2864.216,"min":1200.0,"max":3600.0}],"disk_write_speed":69.81311282377592,"process_ids":[2113736,2113939]}
+{"timestamp":1678267052.400176,"rapl_power_draw_absolute":168.3727327983105,"rapl_estimated_attributable_power_draw":8.069364281788928,"cpu_time_seconds":{"2113736":{"user":91.79,"system":22.6,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":1.37,"system":1.97,"children_user":0.61,"children_system":20.99,"iowait":1.97}},"average_relative_cpu_utilization":0.05439464346549932,"absolute_cpu_utilization":1.004021298767403,"relative_mem_usage":0.017613746525508924,"absolute_mem_usage":3590459392.0,"absolute_mem_percent_usage":0.006637579634777702,"mem_info_per_process":{"2113736":{"rss":3661099008,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3130712064,"pss":3354811392,"swap":0},"2113939":{"rss":440217600,"vms":11098914816,"shared":14217216,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":39825408,"pss":235648000,"swap":0}},"nvidia_draw_absolute":475.28000000000003,"nvidia_estimated_attributable_power_draw":69.13,"average_gpu_estimated_utilization_absolute":0.25666666666666665,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":17.333333333333332,"mem":11.333333333333334,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":5.5,"mem":3.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":15.0,"mem":9.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.666666666666668,"mem":17.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.13},"cpu_count_adjusted_average_load":[0.230625,0.221875,0.2165],"cpu_freq":[{"current":2695.997,"min":1200.0,"max":3600.0},{"current":2696.445,"min":1200.0,"max":3600.0},{"current":2652.109,"min":1200.0,"max":3600.0},{"current":2710.009,"min":1200.0,"max":3600.0},{"current":2706.425,"min":1200.0,"max":3600.0},{"current":2596.563,"min":1200.0,"max":3600.0},{"current":2848.222,"min":1200.0,"max":3600.0},{"current":2700.228,"min":1200.0,"max":3600.0},{"current":2715.96,"min":1200.0,"max":3600.0},{"current":2696.897,"min":1200.0,"max":3600.0},{"current":2696.366,"min":1200.0,"max":3600.0},{"current":2708.093,"min":1200.0,"max":3600.0},{"current":2825.741,"min":1200.0,"max":3600.0},{"current":2697.501,"min":1200.0,"max":3600.0},{"current":2710.165,"min":1200.0,"max":3600.0},{"current":2657.366,"min":1200.0,"max":3600.0},{"current":2696.074,"min":1200.0,"max":3600.0},{"current":2842.28,"min":1200.0,"max":3600.0},{"current":2696.875,"min":1200.0,"max":3600.0},{"current":2775.938,"min":1200.0,"max":3600.0},{"current":2784.291,"min":1200.0,"max":3600.0},{"current":2695.601,"min":1200.0,"max":3600.0},{"current":2695.585,"min":1200.0,"max":3600.0},{"current":2776.272,"min":1200.0,"max":3600.0},{"current":2694.536,"min":1200.0,"max":3600.0},{"current":2700.903,"min":1200.0,"max":3600.0},{"current":2690.758,"min":1200.0,"max":3600.0},{"current":2694.683,"min":1200.0,"max":3600.0},{"current":2696.659,"min":1200.0,"max":3600.0},{"current":2695.459,"min":1200.0,"max":3600.0},{"current":2696.853,"min":1200.0,"max":3600.0},{"current":2695.778,"min":1200.0,"max":3600.0},{"current":2696.915,"min":1200.0,"max":3600.0},{"current":2693.995,"min":1200.0,"max":3600.0},{"current":2693.769,"min":1200.0,"max":3600.0},{"current":2747.677,"min":1200.0,"max":3600.0},{"current":2698.002,"min":1200.0,"max":3600.0},{"current":2695.172,"min":1200.0,"max":3600.0},{"current":2698.193,"min":1200.0,"max":3600.0},{"current":2625.491,"min":1200.0,"max":3600.0},{"current":2698.631,"min":1200.0,"max":3600.0},{"current":2714.747,"min":1200.0,"max":3600.0},{"current":2793.713,"min":1200.0,"max":3600.0},{"current":2706.479,"min":1200.0,"max":3600.0},{"current":2695.229,"min":1200.0,"max":3600.0},{"current":2847.386,"min":1200.0,"max":3600.0},{"current":2695.578,"min":1200.0,"max":3600.0},{"current":2694.085,"min":1200.0,"max":3600.0},{"current":2747.087,"min":1200.0,"max":3600.0},{"current":2709.705,"min":1200.0,"max":3600.0},{"current":2829.65,"min":1200.0,"max":3600.0},{"current":2708.38,"min":1200.0,"max":3600.0},{"current":2658.379,"min":1200.0,"max":3600.0},{"current":2735.649,"min":1200.0,"max":3600.0},{"current":2709.068,"min":1200.0,"max":3600.0},{"current":2793.046,"min":1200.0,"max":3600.0},{"current":2695.93,"min":1200.0,"max":3600.0},{"current":2688.839,"min":1200.0,"max":3600.0},{"current":2809.087,"min":1200.0,"max":3600.0},{"current":2714.632,"min":1200.0,"max":3600.0},{"current":2630.572,"min":1200.0,"max":3600.0},{"current":2698.722,"min":1200.0,"max":3600.0},{"current":2696.13,"min":1200.0,"max":3600.0},{"current":2694.425,"min":1200.0,"max":3600.0},{"current":2694.12,"min":1200.0,"max":3600.0},{"current":2693.806,"min":1200.0,"max":3600.0},{"current":2700.762,"min":1200.0,"max":3600.0},{"current":2696.278,"min":1200.0,"max":3600.0},{"current":2696.381,"min":1200.0,"max":3600.0},{"current":2698.965,"min":1200.0,"max":3600.0},{"current":2695.85,"min":1200.0,"max":3600.0},{"current":2696.81,"min":1200.0,"max":3600.0},{"current":2697.153,"min":1200.0,"max":3600.0},{"current":2684.003,"min":1200.0,"max":3600.0},{"current":2687.405,"min":1200.0,"max":3600.0},{"current":2635.16,"min":1200.0,"max":3600.0},{"current":2696.04,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2695.897,"min":1200.0,"max":3600.0},{"current":2686.386,"min":1200.0,"max":3600.0}],"disk_write_speed":70.71749942042493,"process_ids":[2113736,2113939]}
+{"timestamp":1678267068.060215,"rapl_power_draw_absolute":166.2168624927033,"rapl_estimated_attributable_power_draw":8.35609873340562,"cpu_time_seconds":{"2113736":{"user":104.96,"system":25.09,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":1.58,"system":2.26,"children_user":0.69,"children_system":24.14,"iowait":2.31}},"average_relative_cpu_utilization":0.05723765098870984,"absolute_cpu_utilization":0.9987317071099465,"relative_mem_usage":0.01686544939928242,"absolute_mem_usage":3438723072.0,"absolute_mem_percent_usage":0.006357069037796102,"mem_info_per_process":{"2113736":{"rss":3512606720,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":2978975744,"pss":3203075072,"swap":0},"2113939":{"rss":440217600,"vms":11098914816,"shared":14217216,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":39825408,"pss":235648000,"swap":0}},"nvidia_draw_absolute":475.59,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.23800000000000002,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":7.0,"mem":4.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":25.666666666666668,"mem":14.666666666666666,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":23.8,"mem":15.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23399999999999999,0.223,0.217],"cpu_freq":[{"current":2745.789,"min":1200.0,"max":3600.0},{"current":2710.761,"min":1200.0,"max":3600.0},{"current":2747.757,"min":1200.0,"max":3600.0},{"current":2707.488,"min":1200.0,"max":3600.0},{"current":2710.081,"min":1200.0,"max":3600.0},{"current":2697.153,"min":1200.0,"max":3600.0},{"current":2858.571,"min":1200.0,"max":3600.0},{"current":2691.419,"min":1200.0,"max":3600.0},{"current":2740.018,"min":1200.0,"max":3600.0},{"current":2780.788,"min":1200.0,"max":3600.0},{"current":2628.699,"min":1200.0,"max":3600.0},{"current":2778.854,"min":1200.0,"max":3600.0},{"current":2782.689,"min":1200.0,"max":3600.0},{"current":2711.077,"min":1200.0,"max":3600.0},{"current":2710.952,"min":1200.0,"max":3600.0},{"current":2670.363,"min":1200.0,"max":3600.0},{"current":2701.507,"min":1200.0,"max":3600.0},{"current":2787.859,"min":1200.0,"max":3600.0},{"current":2694.672,"min":1200.0,"max":3600.0},{"current":2701.407,"min":1200.0,"max":3600.0},{"current":2775.448,"min":1200.0,"max":3600.0},{"current":2696.839,"min":1200.0,"max":3600.0},{"current":2767.06,"min":1200.0,"max":3600.0},{"current":2737.402,"min":1200.0,"max":3600.0},{"current":2695.612,"min":1200.0,"max":3600.0},{"current":2697.973,"min":1200.0,"max":3600.0},{"current":2696.361,"min":1200.0,"max":3600.0},{"current":2695.349,"min":1200.0,"max":3600.0},{"current":2697.453,"min":1200.0,"max":3600.0},{"current":2694.872,"min":1200.0,"max":3600.0},{"current":2695.112,"min":1200.0,"max":3600.0},{"current":2695.213,"min":1200.0,"max":3600.0},{"current":2696.663,"min":1200.0,"max":3600.0},{"current":2697.333,"min":1200.0,"max":3600.0},{"current":2696.228,"min":1200.0,"max":3600.0},{"current":2778.243,"min":1200.0,"max":3600.0},{"current":2697.716,"min":1200.0,"max":3600.0},{"current":2694.986,"min":1200.0,"max":3600.0},{"current":2692.003,"min":1200.0,"max":3600.0},{"current":2632.921,"min":1200.0,"max":3600.0},{"current":2704.139,"min":1200.0,"max":3600.0},{"current":2710.497,"min":1200.0,"max":3600.0},{"current":2840.25,"min":1200.0,"max":3600.0},{"current":2706.998,"min":1200.0,"max":3600.0},{"current":2698.679,"min":1200.0,"max":3600.0},{"current":2694.922,"min":1200.0,"max":3600.0},{"current":2654.041,"min":1200.0,"max":3600.0},{"current":2841.223,"min":1200.0,"max":3600.0},{"current":2707.112,"min":1200.0,"max":3600.0},{"current":2710.275,"min":1200.0,"max":3600.0},{"current":2846.484,"min":1200.0,"max":3600.0},{"current":2745.363,"min":1200.0,"max":3600.0},{"current":2757.059,"min":1200.0,"max":3600.0},{"current":2707.294,"min":1200.0,"max":3600.0},{"current":2697.313,"min":1200.0,"max":3600.0},{"current":2850.068,"min":1200.0,"max":3600.0},{"current":2708.915,"min":1200.0,"max":3600.0},{"current":2696.651,"min":1200.0,"max":3600.0},{"current":2742.114,"min":1200.0,"max":3600.0},{"current":2694.214,"min":1200.0,"max":3600.0},{"current":2631.947,"min":1200.0,"max":3600.0},{"current":2694.516,"min":1200.0,"max":3600.0},{"current":2765.275,"min":1200.0,"max":3600.0},{"current":2725.327,"min":1200.0,"max":3600.0},{"current":2695.497,"min":1200.0,"max":3600.0},{"current":2695.623,"min":1200.0,"max":3600.0},{"current":2784.072,"min":1200.0,"max":3600.0},{"current":2697.045,"min":1200.0,"max":3600.0},{"current":2697.182,"min":1200.0,"max":3600.0},{"current":2695.89,"min":1200.0,"max":3600.0},{"current":2694.026,"min":1200.0,"max":3600.0},{"current":2694.693,"min":1200.0,"max":3600.0},{"current":2696.321,"min":1200.0,"max":3600.0},{"current":2721.163,"min":1200.0,"max":3600.0},{"current":2696.762,"min":1200.0,"max":3600.0},{"current":2694.004,"min":1200.0,"max":3600.0},{"current":2739.405,"min":1200.0,"max":3600.0},{"current":2703.457,"min":1200.0,"max":3600.0},{"current":2784.518,"min":1200.0,"max":3600.0},{"current":2778.825,"min":1200.0,"max":3600.0}],"disk_write_speed":71.2511526793454,"process_ids":[2113736,2113939]}
+{"timestamp":1678267083.588166,"rapl_power_draw_absolute":166.6671660914052,"rapl_estimated_attributable_power_draw":8.415659313163092,"cpu_time_seconds":{"2113736":{"user":117.98,"system":27.61,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":1.8,"system":2.54,"children_user":0.76,"children_system":27.29,"iowait":2.65}},"average_relative_cpu_utilization":0.0576072461703137,"absolute_cpu_utilization":1.0037311423689756,"relative_mem_usage":0.016040344338725122,"absolute_mem_usage":3267551232.0,"absolute_mem_percent_usage":0.006040628550608599,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2807803904,"pss":3031903232,"swap":0},"2113939":{"rss":440217600,"vms":11098914816,"shared":14217216,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":39825408,"pss":235648000,"swap":0}},"nvidia_draw_absolute":869.56,"nvidia_estimated_attributable_power_draw":253.36,"average_gpu_estimated_utilization_absolute":0.26,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":27.0,"mem":17.333333333333332,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":26.0,"mem":17.25,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":253.36},"cpu_count_adjusted_average_load":[0.23762500000000003,0.224375,0.217625],"cpu_freq":[{"current":2694.266,"min":1200.0,"max":3600.0},{"current":2697.784,"min":1200.0,"max":3600.0},{"current":2692.317,"min":1200.0,"max":3600.0},{"current":2696.071,"min":1200.0,"max":3600.0},{"current":2708.976,"min":1200.0,"max":3600.0},{"current":2709.279,"min":1200.0,"max":3600.0},{"current":2823.484,"min":1200.0,"max":3600.0},{"current":2630.81,"min":1200.0,"max":3600.0},{"current":2718.954,"min":1200.0,"max":3600.0},{"current":2696.497,"min":1200.0,"max":3600.0},{"current":2692.833,"min":1200.0,"max":3600.0},{"current":2717.562,"min":1200.0,"max":3600.0},{"current":2851.312,"min":1200.0,"max":3600.0},{"current":2696.526,"min":1200.0,"max":3600.0},{"current":2711.189,"min":1200.0,"max":3600.0},{"current":2698.636,"min":1200.0,"max":3600.0},{"current":2697.676,"min":1200.0,"max":3600.0},{"current":2729.844,"min":1200.0,"max":3600.0},{"current":2694.065,"min":1200.0,"max":3600.0},{"current":2695.281,"min":1200.0,"max":3600.0},{"current":2734.31,"min":1200.0,"max":3600.0},{"current":2697.526,"min":1200.0,"max":3600.0},{"current":2762.451,"min":1200.0,"max":3600.0},{"current":2780.662,"min":1200.0,"max":3600.0},{"current":2699.42,"min":1200.0,"max":3600.0},{"current":2694.804,"min":1200.0,"max":3600.0},{"current":2626.788,"min":1200.0,"max":3600.0},{"current":2694.672,"min":1200.0,"max":3600.0},{"current":2695.469,"min":1200.0,"max":3600.0},{"current":2696.406,"min":1200.0,"max":3600.0},{"current":2698.187,"min":1200.0,"max":3600.0},{"current":2696.893,"min":1200.0,"max":3600.0},{"current":2698.483,"min":1200.0,"max":3600.0},{"current":2695.011,"min":1200.0,"max":3600.0},{"current":2696.623,"min":1200.0,"max":3600.0},{"current":2754.287,"min":1200.0,"max":3600.0},{"current":2779.568,"min":1200.0,"max":3600.0},{"current":2695.85,"min":1200.0,"max":3600.0},{"current":2595.239,"min":1200.0,"max":3600.0},{"current":2694.148,"min":1200.0,"max":3600.0},{"current":2735.98,"min":1200.0,"max":3600.0},{"current":2706.892,"min":1200.0,"max":3600.0},{"current":2801.888,"min":1200.0,"max":3600.0},{"current":2708.068,"min":1200.0,"max":3600.0},{"current":2713.741,"min":1200.0,"max":3600.0},{"current":2694.076,"min":1200.0,"max":3600.0},{"current":2692.202,"min":1200.0,"max":3600.0},{"current":2802.345,"min":1200.0,"max":3600.0},{"current":2694.558,"min":1200.0,"max":3600.0},{"current":2694.105,"min":1200.0,"max":3600.0},{"current":2864.603,"min":1200.0,"max":3600.0},{"current":2702.353,"min":1200.0,"max":3600.0},{"current":2662.011,"min":1200.0,"max":3600.0},{"current":2715.489,"min":1200.0,"max":3600.0},{"current":2707.871,"min":1200.0,"max":3600.0},{"current":2882.634,"min":1200.0,"max":3600.0},{"current":2706.731,"min":1200.0,"max":3600.0},{"current":2691.19,"min":1200.0,"max":3600.0},{"current":2838.793,"min":1200.0,"max":3600.0},{"current":2695.785,"min":1200.0,"max":3600.0},{"current":2693.504,"min":1200.0,"max":3600.0},{"current":2695.289,"min":1200.0,"max":3600.0},{"current":2763.782,"min":1200.0,"max":3600.0},{"current":2768.73,"min":1200.0,"max":3600.0},{"current":2694.492,"min":1200.0,"max":3600.0},{"current":2694.134,"min":1200.0,"max":3600.0},{"current":2786.98,"min":1200.0,"max":3600.0},{"current":2694.716,"min":1200.0,"max":3600.0},{"current":2696.069,"min":1200.0,"max":3600.0},{"current":2693.828,"min":1200.0,"max":3600.0},{"current":2696.037,"min":1200.0,"max":3600.0},{"current":2696.806,"min":1200.0,"max":3600.0},{"current":2694.344,"min":1200.0,"max":3600.0},{"current":2695.987,"min":1200.0,"max":3600.0},{"current":2694.577,"min":1200.0,"max":3600.0},{"current":2747.954,"min":1200.0,"max":3600.0},{"current":2773.124,"min":1200.0,"max":3600.0},{"current":2781.208,"min":1200.0,"max":3600.0},{"current":2752.193,"min":1200.0,"max":3600.0},{"current":2772.386,"min":1200.0,"max":3600.0}],"disk_write_speed":57.021728154529654,"process_ids":[2113736,2113939]}
+{"timestamp":1678267099.548204,"rapl_power_draw_absolute":167.75671530614335,"rapl_estimated_attributable_power_draw":8.182501712859583,"cpu_time_seconds":{"2113736":{"user":131.38,"system":30.17,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":2.06,"system":2.89,"children_user":0.85,"children_system":30.47,"iowait":2.93}},"average_relative_cpu_utilization":0.0556597695913827,"absolute_cpu_utilization":1.0036905629355033,"relative_mem_usage":0.016037244608533608,"absolute_mem_usage":3267555328.0,"absolute_mem_percent_usage":0.0060406361227667025,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2807808000,"pss":3031905280,"swap":0},"2113939":{"rss":440217600,"vms":11098914816,"shared":14217216,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":39829504,"pss":235650048,"swap":0}},"nvidia_draw_absolute":655.23,"nvidia_estimated_attributable_power_draw":248.11,"average_gpu_estimated_utilization_absolute":0.228,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":17.0,"mem":11.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":1.5,"mem":1.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":22.8,"mem":15.4,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":248.11},"cpu_count_adjusted_average_load":[0.23475000000000001,0.224375,0.21775000000000003],"cpu_freq":[{"current":2695.323,"min":1200.0,"max":3600.0},{"current":2701.1,"min":1200.0,"max":3600.0},{"current":2690.867,"min":1200.0,"max":3600.0},{"current":2711.482,"min":1200.0,"max":3600.0},{"current":2707.026,"min":1200.0,"max":3600.0},{"current":2708.595,"min":1200.0,"max":3600.0},{"current":2751.107,"min":1200.0,"max":3600.0},{"current":2763.38,"min":1200.0,"max":3600.0},{"current":2773.245,"min":1200.0,"max":3600.0},{"current":2697.085,"min":1200.0,"max":3600.0},{"current":2692.568,"min":1200.0,"max":3600.0},{"current":2696.371,"min":1200.0,"max":3600.0},{"current":2799.344,"min":1200.0,"max":3600.0},{"current":2771.619,"min":1200.0,"max":3600.0},{"current":2702.786,"min":1200.0,"max":3600.0},{"current":2658.867,"min":1200.0,"max":3600.0},{"current":2699.037,"min":1200.0,"max":3600.0},{"current":2811.17,"min":1200.0,"max":3600.0},{"current":2807.872,"min":1200.0,"max":3600.0},{"current":2696.519,"min":1200.0,"max":3600.0},{"current":2758.939,"min":1200.0,"max":3600.0},{"current":2695.345,"min":1200.0,"max":3600.0},{"current":2769.867,"min":1200.0,"max":3600.0},{"current":2781.281,"min":1200.0,"max":3600.0},{"current":2696.597,"min":1200.0,"max":3600.0},{"current":2696.712,"min":1200.0,"max":3600.0},{"current":2693.871,"min":1200.0,"max":3600.0},{"current":2698.232,"min":1200.0,"max":3600.0},{"current":2696.666,"min":1200.0,"max":3600.0},{"current":2696.338,"min":1200.0,"max":3600.0},{"current":2697.66,"min":1200.0,"max":3600.0},{"current":2695.539,"min":1200.0,"max":3600.0},{"current":2696.994,"min":1200.0,"max":3600.0},{"current":2696.242,"min":1200.0,"max":3600.0},{"current":2697.166,"min":1200.0,"max":3600.0},{"current":2762.412,"min":1200.0,"max":3600.0},{"current":2756.227,"min":1200.0,"max":3600.0},{"current":2693.924,"min":1200.0,"max":3600.0},{"current":2695.836,"min":1200.0,"max":3600.0},{"current":2697.271,"min":1200.0,"max":3600.0},{"current":2785.439,"min":1200.0,"max":3600.0},{"current":2701.9,"min":1200.0,"max":3600.0},{"current":2823.991,"min":1200.0,"max":3600.0},{"current":2695.23,"min":1200.0,"max":3600.0},{"current":2707.202,"min":1200.0,"max":3600.0},{"current":2694.183,"min":1200.0,"max":3600.0},{"current":2697.246,"min":1200.0,"max":3600.0},{"current":2863.874,"min":1200.0,"max":3600.0},{"current":2695.498,"min":1200.0,"max":3600.0},{"current":2694.414,"min":1200.0,"max":3600.0},{"current":2827.637,"min":1200.0,"max":3600.0},{"current":2699.552,"min":1200.0,"max":3600.0},{"current":2695.435,"min":1200.0,"max":3600.0},{"current":2695.229,"min":1200.0,"max":3600.0},{"current":2694.533,"min":1200.0,"max":3600.0},{"current":2785.09,"min":1200.0,"max":3600.0},{"current":2773.404,"min":1200.0,"max":3600.0},{"current":2693.177,"min":1200.0,"max":3600.0},{"current":2764.219,"min":1200.0,"max":3600.0},{"current":2732.969,"min":1200.0,"max":3600.0},{"current":2695.363,"min":1200.0,"max":3600.0},{"current":2693.88,"min":1200.0,"max":3600.0},{"current":2665.857,"min":1200.0,"max":3600.0},{"current":2753.442,"min":1200.0,"max":3600.0},{"current":2695.863,"min":1200.0,"max":3600.0},{"current":2694.159,"min":1200.0,"max":3600.0},{"current":2750.278,"min":1200.0,"max":3600.0},{"current":2693.77,"min":1200.0,"max":3600.0},{"current":2693.931,"min":1200.0,"max":3600.0},{"current":2693.893,"min":1200.0,"max":3600.0},{"current":2694.166,"min":1200.0,"max":3600.0},{"current":2723.315,"min":1200.0,"max":3600.0},{"current":2693.777,"min":1200.0,"max":3600.0},{"current":2693.951,"min":1200.0,"max":3600.0},{"current":2697.278,"min":1200.0,"max":3600.0},{"current":2692.543,"min":1200.0,"max":3600.0},{"current":2779.913,"min":1200.0,"max":3600.0},{"current":2765.789,"min":1200.0,"max":3600.0},{"current":2771.147,"min":1200.0,"max":3600.0},{"current":2783.523,"min":1200.0,"max":3600.0}],"disk_write_speed":72.76557312251111,"process_ids":[2113736,2113939]}
+{"timestamp":1678267115.096193,"rapl_power_draw_absolute":166.54157053039287,"rapl_estimated_attributable_power_draw":8.541630070216787,"cpu_time_seconds":{"2113736":{"user":144.51,"system":32.59,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":2.26,"system":3.2,"children_user":0.94,"children_system":33.63,"iowait":3.27}},"average_relative_cpu_utilization":0.05805149841682926,"absolute_cpu_utilization":0.9986956874549218,"relative_mem_usage":0.01857112793664363,"absolute_mem_usage":3797505024.0,"absolute_mem_percent_usage":0.007020338975684035,"mem_info_per_process":{"2113736":{"rss":3856031744,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3337760768,"pss":3561854976,"swap":0},"2113939":{"rss":440217600,"vms":11098914816,"shared":14217216,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":39829504,"pss":235650048,"swap":0}},"nvidia_draw_absolute":475.28000000000003,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.158,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":12.5,"mem":7.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":15.8,"mem":10.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23349999999999999,0.224625,0.21787499999999999],"cpu_freq":[{"current":2694.4,"min":1200.0,"max":3600.0},{"current":2697.537,"min":1200.0,"max":3600.0},{"current":2694.261,"min":1200.0,"max":3600.0},{"current":2709.54,"min":1200.0,"max":3600.0},{"current":2705.217,"min":1200.0,"max":3600.0},{"current":2708.741,"min":1200.0,"max":3600.0},{"current":2745.816,"min":1200.0,"max":3600.0},{"current":2789.609,"min":1200.0,"max":3600.0},{"current":2697.206,"min":1200.0,"max":3600.0},{"current":2694.035,"min":1200.0,"max":3600.0},{"current":2697.215,"min":1200.0,"max":3600.0},{"current":2693.868,"min":1200.0,"max":3600.0},{"current":2693.931,"min":1200.0,"max":3600.0},{"current":2698.442,"min":1200.0,"max":3600.0},{"current":2680.434,"min":1200.0,"max":3600.0},{"current":2693.66,"min":1200.0,"max":3600.0},{"current":2694.254,"min":1200.0,"max":3600.0},{"current":2733.375,"min":1200.0,"max":3600.0},{"current":2697.898,"min":1200.0,"max":3600.0},{"current":2708.963,"min":1200.0,"max":3600.0},{"current":2766.061,"min":1200.0,"max":3600.0},{"current":2695.251,"min":1200.0,"max":3600.0},{"current":2770.988,"min":1200.0,"max":3600.0},{"current":2766.431,"min":1200.0,"max":3600.0},{"current":2697.7,"min":1200.0,"max":3600.0},{"current":2697.777,"min":1200.0,"max":3600.0},{"current":2696.605,"min":1200.0,"max":3600.0},{"current":2763.819,"min":1200.0,"max":3600.0},{"current":2694.379,"min":1200.0,"max":3600.0},{"current":2694.69,"min":1200.0,"max":3600.0},{"current":2695.596,"min":1200.0,"max":3600.0},{"current":2697.955,"min":1200.0,"max":3600.0},{"current":2697.25,"min":1200.0,"max":3600.0},{"current":2697.264,"min":1200.0,"max":3600.0},{"current":2697.334,"min":1200.0,"max":3600.0},{"current":2697.165,"min":1200.0,"max":3600.0},{"current":2699.64,"min":1200.0,"max":3600.0},{"current":2696.253,"min":1200.0,"max":3600.0},{"current":2696.719,"min":1200.0,"max":3600.0},{"current":2694.491,"min":1200.0,"max":3600.0},{"current":2701.395,"min":1200.0,"max":3600.0},{"current":2694.705,"min":1200.0,"max":3600.0},{"current":2821.794,"min":1200.0,"max":3600.0},{"current":2708.498,"min":1200.0,"max":3600.0},{"current":2726.572,"min":1200.0,"max":3600.0},{"current":2695.775,"min":1200.0,"max":3600.0},{"current":2694.641,"min":1200.0,"max":3600.0},{"current":2826.325,"min":1200.0,"max":3600.0},{"current":2698.98,"min":1200.0,"max":3600.0},{"current":2710.533,"min":1200.0,"max":3600.0},{"current":2811.842,"min":1200.0,"max":3600.0},{"current":2708.527,"min":1200.0,"max":3600.0},{"current":2709.378,"min":1200.0,"max":3600.0},{"current":2698.434,"min":1200.0,"max":3600.0},{"current":2696.818,"min":1200.0,"max":3600.0},{"current":2841.025,"min":1200.0,"max":3600.0},{"current":2725.03,"min":1200.0,"max":3600.0},{"current":2695.235,"min":1200.0,"max":3600.0},{"current":2875.779,"min":1200.0,"max":3600.0},{"current":2711.636,"min":1200.0,"max":3600.0},{"current":2696.151,"min":1200.0,"max":3600.0},{"current":2694.041,"min":1200.0,"max":3600.0},{"current":2663.601,"min":1200.0,"max":3600.0},{"current":2627.423,"min":1200.0,"max":3600.0},{"current":2695.158,"min":1200.0,"max":3600.0},{"current":2694.743,"min":1200.0,"max":3600.0},{"current":2718.39,"min":1200.0,"max":3600.0},{"current":2697.72,"min":1200.0,"max":3600.0},{"current":2695.752,"min":1200.0,"max":3600.0},{"current":2694.329,"min":1200.0,"max":3600.0},{"current":2695.463,"min":1200.0,"max":3600.0},{"current":2694.64,"min":1200.0,"max":3600.0},{"current":2696.366,"min":1200.0,"max":3600.0},{"current":2695.625,"min":1200.0,"max":3600.0},{"current":2695.659,"min":1200.0,"max":3600.0},{"current":2694.309,"min":1200.0,"max":3600.0},{"current":2775.917,"min":1200.0,"max":3600.0},{"current":2765.502,"min":1200.0,"max":3600.0},{"current":2777.296,"min":1200.0,"max":3600.0},{"current":2761.058,"min":1200.0,"max":3600.0}],"disk_write_speed":71.45950949686089,"process_ids":[2113736,2113939]}
+{"timestamp":1678267131.180149,"rapl_power_draw_absolute":166.3801467924336,"rapl_estimated_attributable_power_draw":8.578498613967012,"cpu_time_seconds":{"2113736":{"user":158.05,"system":35.15,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":2.47,"system":3.56,"children_user":1.03,"children_system":36.76,"iowait":3.61}},"average_relative_cpu_utilization":0.058444537191085,"absolute_cpu_utilization":1.003944466489139,"relative_mem_usage":0.018592880006104897,"absolute_mem_usage":3811254272.0,"absolute_mem_percent_usage":0.007045756817401353,"mem_info_per_process":{"2113736":{"rss":3880005632,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3351506944,"pss":3575604224,"swap":0},"2113939":{"rss":440217600,"vms":11098914816,"shared":14217216,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":39829504,"pss":235650048,"swap":0}},"nvidia_draw_absolute":478.1,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.152,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":20.75,"mem":13.75,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":10.0,"mem":5.666666666666667,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":15.2,"mem":9.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.234625,0.22525,0.21825],"cpu_freq":[{"current":2695.348,"min":1200.0,"max":3600.0},{"current":2708.587,"min":1200.0,"max":3600.0},{"current":2693.374,"min":1200.0,"max":3600.0},{"current":2698.878,"min":1200.0,"max":3600.0},{"current":2708.046,"min":1200.0,"max":3600.0},{"current":2698.481,"min":1200.0,"max":3600.0},{"current":2709.904,"min":1200.0,"max":3600.0},{"current":2692.744,"min":1200.0,"max":3600.0},{"current":2724.834,"min":1200.0,"max":3600.0},{"current":2697.281,"min":1200.0,"max":3600.0},{"current":2682.519,"min":1200.0,"max":3600.0},{"current":2719.629,"min":1200.0,"max":3600.0},{"current":2697.082,"min":1200.0,"max":3600.0},{"current":2694.546,"min":1200.0,"max":3600.0},{"current":2853.762,"min":1200.0,"max":3600.0},{"current":2693.61,"min":1200.0,"max":3600.0},{"current":2710.493,"min":1200.0,"max":3600.0},{"current":2859.065,"min":1200.0,"max":3600.0},{"current":2821.204,"min":1200.0,"max":3600.0},{"current":2692.532,"min":1200.0,"max":3600.0},{"current":2698.562,"min":1200.0,"max":3600.0},{"current":2773.24,"min":1200.0,"max":3600.0},{"current":2780.29,"min":1200.0,"max":3600.0},{"current":2772.236,"min":1200.0,"max":3600.0},{"current":2698.214,"min":1200.0,"max":3600.0},{"current":2695.139,"min":1200.0,"max":3600.0},{"current":2624.345,"min":1200.0,"max":3600.0},{"current":2694.559,"min":1200.0,"max":3600.0},{"current":2711.297,"min":1200.0,"max":3600.0},{"current":2694.261,"min":1200.0,"max":3600.0},{"current":2694.123,"min":1200.0,"max":3600.0},{"current":2693.759,"min":1200.0,"max":3600.0},{"current":2693.748,"min":1200.0,"max":3600.0},{"current":2697.469,"min":1200.0,"max":3600.0},{"current":2695.027,"min":1200.0,"max":3600.0},{"current":2700.716,"min":1200.0,"max":3600.0},{"current":2699.651,"min":1200.0,"max":3600.0},{"current":2695.177,"min":1200.0,"max":3600.0},{"current":2627.785,"min":1200.0,"max":3600.0},{"current":2696.176,"min":1200.0,"max":3600.0},{"current":2732.833,"min":1200.0,"max":3600.0},{"current":2694.52,"min":1200.0,"max":3600.0},{"current":2804.444,"min":1200.0,"max":3600.0},{"current":2693.997,"min":1200.0,"max":3600.0},{"current":2778.489,"min":1200.0,"max":3600.0},{"current":2705.674,"min":1200.0,"max":3600.0},{"current":2703.088,"min":1200.0,"max":3600.0},{"current":2823.151,"min":1200.0,"max":3600.0},{"current":2698.383,"min":1200.0,"max":3600.0},{"current":2707.998,"min":1200.0,"max":3600.0},{"current":2843.403,"min":1200.0,"max":3600.0},{"current":2819.231,"min":1200.0,"max":3600.0},{"current":2696.613,"min":1200.0,"max":3600.0},{"current":2694.939,"min":1200.0,"max":3600.0},{"current":2696.341,"min":1200.0,"max":3600.0},{"current":2693.715,"min":1200.0,"max":3600.0},{"current":2694.148,"min":1200.0,"max":3600.0},{"current":2697.812,"min":1200.0,"max":3600.0},{"current":2681.329,"min":1200.0,"max":3600.0},{"current":2675.277,"min":1200.0,"max":3600.0},{"current":2695.295,"min":1200.0,"max":3600.0},{"current":2696.716,"min":1200.0,"max":3600.0},{"current":2694.671,"min":1200.0,"max":3600.0},{"current":2697.67,"min":1200.0,"max":3600.0},{"current":2696.997,"min":1200.0,"max":3600.0},{"current":2694.591,"min":1200.0,"max":3600.0},{"current":2777.415,"min":1200.0,"max":3600.0},{"current":2694.112,"min":1200.0,"max":3600.0},{"current":2694.704,"min":1200.0,"max":3600.0},{"current":2694.117,"min":1200.0,"max":3600.0},{"current":2694.567,"min":1200.0,"max":3600.0},{"current":2694.827,"min":1200.0,"max":3600.0},{"current":2697.516,"min":1200.0,"max":3600.0},{"current":2694.327,"min":1200.0,"max":3600.0},{"current":2696.993,"min":1200.0,"max":3600.0},{"current":2694.389,"min":1200.0,"max":3600.0},{"current":2777.884,"min":1200.0,"max":3600.0},{"current":2770.201,"min":1200.0,"max":3600.0},{"current":2765.696,"min":1200.0,"max":3600.0},{"current":2767.164,"min":1200.0,"max":3600.0}],"disk_write_speed":71.15535855490408,"process_ids":[2113736,2113939]}
+{"timestamp":1678267146.624216,"rapl_power_draw_absolute":168.09303987016767,"rapl_estimated_attributable_power_draw":8.177442311964072,"cpu_time_seconds":{"2113736":{"user":171.07,"system":37.58,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":2.65,"system":3.9,"children_user":1.13,"children_system":39.9,"iowait":3.95}},"average_relative_cpu_utilization":0.055278135988444596,"absolute_cpu_utilization":1.0036887626034434,"relative_mem_usage":0.017468061282657595,"absolute_mem_usage":3564503040.0,"absolute_mem_percent_usage":0.006589594868869417,"mem_info_per_process":{"2113736":{"rss":3635773440,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3104751616,"pss":3328846848,"swap":0},"2113939":{"rss":440221696,"vms":11098914816,"shared":14217216,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":39837696,"pss":235656192,"swap":0}},"nvidia_draw_absolute":475.77000000000004,"nvidia_estimated_attributable_power_draw":69.13,"average_gpu_estimated_utilization_absolute":0.19,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":17.0,"mem":11.333333333333334,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":5.0,"mem":3.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":15.0,"mem":8.333333333333334,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":19.0,"mem":12.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.13},"cpu_count_adjusted_average_load":[0.235875,0.226125,0.21862499999999999],"cpu_freq":[{"current":2688.198,"min":1200.0,"max":3600.0},{"current":2693.759,"min":1200.0,"max":3600.0},{"current":2669.046,"min":1200.0,"max":3600.0},{"current":2703.006,"min":1200.0,"max":3600.0},{"current":2706.031,"min":1200.0,"max":3600.0},{"current":2696.944,"min":1200.0,"max":3600.0},{"current":2703.337,"min":1200.0,"max":3600.0},{"current":2696.669,"min":1200.0,"max":3600.0},{"current":2693.759,"min":1200.0,"max":3600.0},{"current":2699.927,"min":1200.0,"max":3600.0},{"current":2632.084,"min":1200.0,"max":3600.0},{"current":2695.294,"min":1200.0,"max":3600.0},{"current":2699.162,"min":1200.0,"max":3600.0},{"current":2694.823,"min":1200.0,"max":3600.0},{"current":2689.095,"min":1200.0,"max":3600.0},{"current":2695.659,"min":1200.0,"max":3600.0},{"current":2694.802,"min":1200.0,"max":3600.0},{"current":2686.256,"min":1200.0,"max":3600.0},{"current":2621.87,"min":1200.0,"max":3600.0},{"current":2693.569,"min":1200.0,"max":3600.0},{"current":2698.519,"min":1200.0,"max":3600.0},{"current":2878.531,"min":1200.0,"max":3600.0},{"current":2860.391,"min":1200.0,"max":3600.0},{"current":2863.711,"min":1200.0,"max":3600.0},{"current":2871.87,"min":1200.0,"max":3600.0},{"current":2696.335,"min":1200.0,"max":3600.0},{"current":2692.67,"min":1200.0,"max":3600.0},{"current":2723.032,"min":1200.0,"max":3600.0},{"current":2845.385,"min":1200.0,"max":3600.0},{"current":2695.453,"min":1200.0,"max":3600.0},{"current":2696.747,"min":1200.0,"max":3600.0},{"current":2696.108,"min":1200.0,"max":3600.0},{"current":2711.193,"min":1200.0,"max":3600.0},{"current":2697.095,"min":1200.0,"max":3600.0},{"current":2770.846,"min":1200.0,"max":3600.0},{"current":2706.769,"min":1200.0,"max":3600.0},{"current":2704.259,"min":1200.0,"max":3600.0},{"current":2695.052,"min":1200.0,"max":3600.0},{"current":2711.15,"min":1200.0,"max":3600.0},{"current":2714.45,"min":1200.0,"max":3600.0},{"current":2692.051,"min":1200.0,"max":3600.0},{"current":2705.46,"min":1200.0,"max":3600.0},{"current":2754.905,"min":1200.0,"max":3600.0},{"current":2694.121,"min":1200.0,"max":3600.0},{"current":2697.696,"min":1200.0,"max":3600.0},{"current":2694.164,"min":1200.0,"max":3600.0},{"current":2694.969,"min":1200.0,"max":3600.0},{"current":2797.279,"min":1200.0,"max":3600.0},{"current":2696.688,"min":1200.0,"max":3600.0},{"current":2695.436,"min":1200.0,"max":3600.0},{"current":2727.423,"min":1200.0,"max":3600.0},{"current":2694.906,"min":1200.0,"max":3600.0},{"current":2692.281,"min":1200.0,"max":3600.0},{"current":2708.619,"min":1200.0,"max":3600.0},{"current":2631.344,"min":1200.0,"max":3600.0},{"current":2731.317,"min":1200.0,"max":3600.0},{"current":2694.891,"min":1200.0,"max":3600.0},{"current":2692.877,"min":1200.0,"max":3600.0},{"current":2762.354,"min":1200.0,"max":3600.0},{"current":2744.689,"min":1200.0,"max":3600.0},{"current":2693.472,"min":1200.0,"max":3600.0},{"current":2695.886,"min":1200.0,"max":3600.0},{"current":2637.885,"min":1200.0,"max":3600.0},{"current":2753.19,"min":1200.0,"max":3600.0},{"current":2705.993,"min":1200.0,"max":3600.0},{"current":2694.081,"min":1200.0,"max":3600.0},{"current":2862.685,"min":1200.0,"max":3600.0},{"current":2777.635,"min":1200.0,"max":3600.0},{"current":2653.016,"min":1200.0,"max":3600.0},{"current":2696.07,"min":1200.0,"max":3600.0},{"current":2696.019,"min":1200.0,"max":3600.0},{"current":2706.171,"min":1200.0,"max":3600.0},{"current":2696.575,"min":1200.0,"max":3600.0},{"current":2695.957,"min":1200.0,"max":3600.0},{"current":2694.406,"min":1200.0,"max":3600.0},{"current":2746.165,"min":1200.0,"max":3600.0},{"current":2712.071,"min":1200.0,"max":3600.0},{"current":2832.693,"min":1200.0,"max":3600.0},{"current":2694.747,"min":1200.0,"max":3600.0},{"current":2856.639,"min":1200.0,"max":3600.0}],"disk_write_speed":70.51791962369258,"process_ids":[2113736,2113939]}
+{"timestamp":1678267162.520251,"rapl_power_draw_absolute":166.53855187452513,"rapl_estimated_attributable_power_draw":8.333987518968883,"cpu_time_seconds":{"2113736":{"user":184.32,"system":40.23,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":3.07,"system":4.32,"children_user":1.23,"children_system":43.02,"iowait":4.29}},"average_relative_cpu_utilization":0.05686341347841133,"absolute_cpu_utilization":0.9987223084284612,"relative_mem_usage":0.01726293057140996,"absolute_mem_usage":3524493312.0,"absolute_mem_percent_usage":0.006515630028504556,"mem_info_per_process":{"2113736":{"rss":3469623296,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3063685120,"pss":3227424768,"swap":0},"2113939":{"rss":448143360,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160337920,"pss":297068544,"swap":0}},"nvidia_draw_absolute":474.14,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.248,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.333333333333333,"mem":3.3333333333333335,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":14.666666666666666,"mem":8.666666666666666,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.8,"mem":16.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.234375,0.226375,0.21887500000000001],"cpu_freq":[{"current":2695.406,"min":1200.0,"max":3600.0},{"current":2707.28,"min":1200.0,"max":3600.0},{"current":2693.334,"min":1200.0,"max":3600.0},{"current":2709.63,"min":1200.0,"max":3600.0},{"current":2711.836,"min":1200.0,"max":3600.0},{"current":2711.172,"min":1200.0,"max":3600.0},{"current":2701.757,"min":1200.0,"max":3600.0},{"current":2712.424,"min":1200.0,"max":3600.0},{"current":2697.773,"min":1200.0,"max":3600.0},{"current":2714.096,"min":1200.0,"max":3600.0},{"current":2691.907,"min":1200.0,"max":3600.0},{"current":2695.007,"min":1200.0,"max":3600.0},{"current":2711.529,"min":1200.0,"max":3600.0},{"current":2700.879,"min":1200.0,"max":3600.0},{"current":2790.779,"min":1200.0,"max":3600.0},{"current":2692.554,"min":1200.0,"max":3600.0},{"current":2709.89,"min":1200.0,"max":3600.0},{"current":2790.729,"min":1200.0,"max":3600.0},{"current":2636.923,"min":1200.0,"max":3600.0},{"current":2692.964,"min":1200.0,"max":3600.0},{"current":2771.344,"min":1200.0,"max":3600.0},{"current":2725.018,"min":1200.0,"max":3600.0},{"current":2779.777,"min":1200.0,"max":3600.0},{"current":2727.322,"min":1200.0,"max":3600.0},{"current":2679.582,"min":1200.0,"max":3600.0},{"current":2702.299,"min":1200.0,"max":3600.0},{"current":2693.116,"min":1200.0,"max":3600.0},{"current":2700.087,"min":1200.0,"max":3600.0},{"current":2780.816,"min":1200.0,"max":3600.0},{"current":2698.156,"min":1200.0,"max":3600.0},{"current":2700.781,"min":1200.0,"max":3600.0},{"current":2698.399,"min":1200.0,"max":3600.0},{"current":2697.219,"min":1200.0,"max":3600.0},{"current":2695.599,"min":1200.0,"max":3600.0},{"current":2696.173,"min":1200.0,"max":3600.0},{"current":2696.142,"min":1200.0,"max":3600.0},{"current":2775.86,"min":1200.0,"max":3600.0},{"current":2657.688,"min":1200.0,"max":3600.0},{"current":2695.755,"min":1200.0,"max":3600.0},{"current":2694.588,"min":1200.0,"max":3600.0},{"current":2734.418,"min":1200.0,"max":3600.0},{"current":2706.011,"min":1200.0,"max":3600.0},{"current":2836.928,"min":1200.0,"max":3600.0},{"current":2694.442,"min":1200.0,"max":3600.0},{"current":2696.494,"min":1200.0,"max":3600.0},{"current":2698.001,"min":1200.0,"max":3600.0},{"current":2701.806,"min":1200.0,"max":3600.0},{"current":2704.823,"min":1200.0,"max":3600.0},{"current":2842.419,"min":1200.0,"max":3600.0},{"current":2787.608,"min":1200.0,"max":3600.0},{"current":2829.239,"min":1200.0,"max":3600.0},{"current":2707.491,"min":1200.0,"max":3600.0},{"current":2696.76,"min":1200.0,"max":3600.0},{"current":2707.923,"min":1200.0,"max":3600.0},{"current":2699.497,"min":1200.0,"max":3600.0},{"current":2810.463,"min":1200.0,"max":3600.0},{"current":2695.432,"min":1200.0,"max":3600.0},{"current":2696.878,"min":1200.0,"max":3600.0},{"current":2818.924,"min":1200.0,"max":3600.0},{"current":2864.202,"min":1200.0,"max":3600.0},{"current":2679.128,"min":1200.0,"max":3600.0},{"current":2697.003,"min":1200.0,"max":3600.0},{"current":2696.796,"min":1200.0,"max":3600.0},{"current":2696.994,"min":1200.0,"max":3600.0},{"current":2693.145,"min":1200.0,"max":3600.0},{"current":2695.816,"min":1200.0,"max":3600.0},{"current":2781.711,"min":1200.0,"max":3600.0},{"current":2694.113,"min":1200.0,"max":3600.0},{"current":2638.425,"min":1200.0,"max":3600.0},{"current":2695.605,"min":1200.0,"max":3600.0},{"current":2694.147,"min":1200.0,"max":3600.0},{"current":2694.405,"min":1200.0,"max":3600.0},{"current":2694.395,"min":1200.0,"max":3600.0},{"current":2694.663,"min":1200.0,"max":3600.0},{"current":2693.999,"min":1200.0,"max":3600.0},{"current":2696.362,"min":1200.0,"max":3600.0},{"current":2628.598,"min":1200.0,"max":3600.0},{"current":2742.186,"min":1200.0,"max":3600.0},{"current":2694.458,"min":1200.0,"max":3600.0},{"current":2694.373,"min":1200.0,"max":3600.0}],"disk_write_speed":71.33719385988245,"process_ids":[2113736,2113939]}
+{"timestamp":1678267178.180222,"rapl_power_draw_absolute":166.87961670440023,"rapl_estimated_attributable_power_draw":8.409732010814007,"cpu_time_seconds":{"2113736":{"user":197.55,"system":42.67,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":3.29,"system":4.62,"children_user":1.35,"children_system":46.13,"iowait":4.63}},"average_relative_cpu_utilization":0.05750126530646449,"absolute_cpu_utilization":0.9987205211430158,"relative_mem_usage":0.01655928432256337,"absolute_mem_usage":3388919808.0,"absolute_mem_percent_usage":0.006264999167403355,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2928111616,"pss":3091851264,"swap":0},"2113939":{"rss":448143360,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160337920,"pss":297068544,"swap":0}},"nvidia_draw_absolute":810.1600000000001,"nvidia_estimated_attributable_power_draw":235.64,"average_gpu_estimated_utilization_absolute":0.222,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":9.5,"mem":5.5,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":5.5,"mem":3.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":22.2,"mem":14.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":235.64},"cpu_count_adjusted_average_load":[0.23325,0.2265,0.219],"cpu_freq":[{"current":2695.378,"min":1200.0,"max":3600.0},{"current":2696.801,"min":1200.0,"max":3600.0},{"current":2683.695,"min":1200.0,"max":3600.0},{"current":2697.248,"min":1200.0,"max":3600.0},{"current":2714.05,"min":1200.0,"max":3600.0},{"current":2696.839,"min":1200.0,"max":3600.0},{"current":2696.492,"min":1200.0,"max":3600.0},{"current":2721.228,"min":1200.0,"max":3600.0},{"current":2696.102,"min":1200.0,"max":3600.0},{"current":2695.143,"min":1200.0,"max":3600.0},{"current":2694.487,"min":1200.0,"max":3600.0},{"current":2699.076,"min":1200.0,"max":3600.0},{"current":2697.839,"min":1200.0,"max":3600.0},{"current":2697.655,"min":1200.0,"max":3600.0},{"current":2748.956,"min":1200.0,"max":3600.0},{"current":2694.084,"min":1200.0,"max":3600.0},{"current":2698.619,"min":1200.0,"max":3600.0},{"current":2797.414,"min":1200.0,"max":3600.0},{"current":2691.539,"min":1200.0,"max":3600.0},{"current":2697.639,"min":1200.0,"max":3600.0},{"current":2698.782,"min":1200.0,"max":3600.0},{"current":2687.771,"min":1200.0,"max":3600.0},{"current":2694.516,"min":1200.0,"max":3600.0},{"current":2673.903,"min":1200.0,"max":3600.0},{"current":2673.276,"min":1200.0,"max":3600.0},{"current":2699.248,"min":1200.0,"max":3600.0},{"current":2696.112,"min":1200.0,"max":3600.0},{"current":2694.09,"min":1200.0,"max":3600.0},{"current":2674.637,"min":1200.0,"max":3600.0},{"current":2698.354,"min":1200.0,"max":3600.0},{"current":2695.804,"min":1200.0,"max":3600.0},{"current":2697.783,"min":1200.0,"max":3600.0},{"current":2696.159,"min":1200.0,"max":3600.0},{"current":2711.355,"min":1200.0,"max":3600.0},{"current":2696.27,"min":1200.0,"max":3600.0},{"current":2698.006,"min":1200.0,"max":3600.0},{"current":2775.337,"min":1200.0,"max":3600.0},{"current":2696.551,"min":1200.0,"max":3600.0},{"current":2697.022,"min":1200.0,"max":3600.0},{"current":2697.347,"min":1200.0,"max":3600.0},{"current":2695.695,"min":1200.0,"max":3600.0},{"current":2694.322,"min":1200.0,"max":3600.0},{"current":2844.694,"min":1200.0,"max":3600.0},{"current":2703.635,"min":1200.0,"max":3600.0},{"current":2694.265,"min":1200.0,"max":3600.0},{"current":2695.816,"min":1200.0,"max":3600.0},{"current":2695.885,"min":1200.0,"max":3600.0},{"current":2696.175,"min":1200.0,"max":3600.0},{"current":2839.769,"min":1200.0,"max":3600.0},{"current":2697.962,"min":1200.0,"max":3600.0},{"current":2813.179,"min":1200.0,"max":3600.0},{"current":2696.434,"min":1200.0,"max":3600.0},{"current":2694.361,"min":1200.0,"max":3600.0},{"current":2694.565,"min":1200.0,"max":3600.0},{"current":2694.135,"min":1200.0,"max":3600.0},{"current":2742.36,"min":1200.0,"max":3600.0},{"current":2694.846,"min":1200.0,"max":3600.0},{"current":2693.92,"min":1200.0,"max":3600.0},{"current":2855.901,"min":1200.0,"max":3600.0},{"current":2857.717,"min":1200.0,"max":3600.0},{"current":2718.721,"min":1200.0,"max":3600.0},{"current":2694.762,"min":1200.0,"max":3600.0},{"current":2694.333,"min":1200.0,"max":3600.0},{"current":2692.756,"min":1200.0,"max":3600.0},{"current":2711.032,"min":1200.0,"max":3600.0},{"current":2695.435,"min":1200.0,"max":3600.0},{"current":2779.794,"min":1200.0,"max":3600.0},{"current":2694.833,"min":1200.0,"max":3600.0},{"current":2692.499,"min":1200.0,"max":3600.0},{"current":2693.959,"min":1200.0,"max":3600.0},{"current":2695.071,"min":1200.0,"max":3600.0},{"current":2697.45,"min":1200.0,"max":3600.0},{"current":2696.998,"min":1200.0,"max":3600.0},{"current":2694.187,"min":1200.0,"max":3600.0},{"current":2694.193,"min":1200.0,"max":3600.0},{"current":2694.436,"min":1200.0,"max":3600.0},{"current":2691.745,"min":1200.0,"max":3600.0},{"current":2774.216,"min":1200.0,"max":3600.0},{"current":2694.852,"min":1200.0,"max":3600.0},{"current":2749.881,"min":1200.0,"max":3600.0}],"disk_write_speed":72.81688943359362,"process_ids":[2113736,2113939]}
+{"timestamp":1678267193.576225,"rapl_power_draw_absolute":168.05134451129385,"rapl_estimated_attributable_power_draw":8.213505926849134,"cpu_time_seconds":{"2113736":{"user":210.35,"system":45.26,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":3.52,"system":4.9,"children_user":1.45,"children_system":49.27,"iowait":4.98}},"average_relative_cpu_utilization":0.055061696092042936,"absolute_cpu_utilization":0.9946960996158144,"relative_mem_usage":0.019497439071879716,"absolute_mem_usage":3987808256.0,"absolute_mem_percent_usage":0.007372147120338183,"mem_info_per_process":{"2113736":{"rss":3925962752,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3527000064,"pss":3690739712,"swap":0},"2113939":{"rss":448143360,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160337920,"pss":297068544,"swap":0}},"nvidia_draw_absolute":475.76000000000005,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.2525,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":16.0,"mem":10.333333333333334,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.25,"mem":16.5,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23325,0.226875,0.21925],"cpu_freq":[{"current":2694.628,"min":1200.0,"max":3600.0},{"current":2700.14,"min":1200.0,"max":3600.0},{"current":2660.765,"min":1200.0,"max":3600.0},{"current":2696.256,"min":1200.0,"max":3600.0},{"current":2757.61,"min":1200.0,"max":3600.0},{"current":2695.064,"min":1200.0,"max":3600.0},{"current":2696.878,"min":1200.0,"max":3600.0},{"current":2701.157,"min":1200.0,"max":3600.0},{"current":2693.813,"min":1200.0,"max":3600.0},{"current":2693.783,"min":1200.0,"max":3600.0},{"current":2693.22,"min":1200.0,"max":3600.0},{"current":2696.022,"min":1200.0,"max":3600.0},{"current":2697.649,"min":1200.0,"max":3600.0},{"current":2693.773,"min":1200.0,"max":3600.0},{"current":2737.531,"min":1200.0,"max":3600.0},{"current":2694.564,"min":1200.0,"max":3600.0},{"current":2715.142,"min":1200.0,"max":3600.0},{"current":2834.047,"min":1200.0,"max":3600.0},{"current":2857.121,"min":1200.0,"max":3600.0},{"current":2617.953,"min":1200.0,"max":3600.0},{"current":2696.559,"min":1200.0,"max":3600.0},{"current":2766.431,"min":1200.0,"max":3600.0},{"current":2780.436,"min":1200.0,"max":3600.0},{"current":2771.928,"min":1200.0,"max":3600.0},{"current":2755.17,"min":1200.0,"max":3600.0},{"current":2703.037,"min":1200.0,"max":3600.0},{"current":2694.512,"min":1200.0,"max":3600.0},{"current":2696.582,"min":1200.0,"max":3600.0},{"current":2753.73,"min":1200.0,"max":3600.0},{"current":2700.673,"min":1200.0,"max":3600.0},{"current":2697.477,"min":1200.0,"max":3600.0},{"current":2696.085,"min":1200.0,"max":3600.0},{"current":2697.25,"min":1200.0,"max":3600.0},{"current":2697.171,"min":1200.0,"max":3600.0},{"current":2697.314,"min":1200.0,"max":3600.0},{"current":2724.619,"min":1200.0,"max":3600.0},{"current":2782.951,"min":1200.0,"max":3600.0},{"current":2693.88,"min":1200.0,"max":3600.0},{"current":2703.515,"min":1200.0,"max":3600.0},{"current":2776.875,"min":1200.0,"max":3600.0},{"current":2697.551,"min":1200.0,"max":3600.0},{"current":2701.952,"min":1200.0,"max":3600.0},{"current":2835.586,"min":1200.0,"max":3600.0},{"current":2696.365,"min":1200.0,"max":3600.0},{"current":2702.704,"min":1200.0,"max":3600.0},{"current":2694.839,"min":1200.0,"max":3600.0},{"current":2698.088,"min":1200.0,"max":3600.0},{"current":2720.629,"min":1200.0,"max":3600.0},{"current":2823.424,"min":1200.0,"max":3600.0},{"current":2700.7,"min":1200.0,"max":3600.0},{"current":2855.42,"min":1200.0,"max":3600.0},{"current":2696.963,"min":1200.0,"max":3600.0},{"current":2708.39,"min":1200.0,"max":3600.0},{"current":2707.827,"min":1200.0,"max":3600.0},{"current":2703.575,"min":1200.0,"max":3600.0},{"current":2820.084,"min":1200.0,"max":3600.0},{"current":2698.56,"min":1200.0,"max":3600.0},{"current":2691.981,"min":1200.0,"max":3600.0},{"current":2837.901,"min":1200.0,"max":3600.0},{"current":2851.259,"min":1200.0,"max":3600.0},{"current":2692.991,"min":1200.0,"max":3600.0},{"current":2693.354,"min":1200.0,"max":3600.0},{"current":2694.786,"min":1200.0,"max":3600.0},{"current":2693.398,"min":1200.0,"max":3600.0},{"current":2692.449,"min":1200.0,"max":3600.0},{"current":2704.082,"min":1200.0,"max":3600.0},{"current":2775.49,"min":1200.0,"max":3600.0},{"current":2694.245,"min":1200.0,"max":3600.0},{"current":2696.219,"min":1200.0,"max":3600.0},{"current":2693.939,"min":1200.0,"max":3600.0},{"current":2694.053,"min":1200.0,"max":3600.0},{"current":2694.422,"min":1200.0,"max":3600.0},{"current":2694.205,"min":1200.0,"max":3600.0},{"current":2694.979,"min":1200.0,"max":3600.0},{"current":2694.731,"min":1200.0,"max":3600.0},{"current":2694.345,"min":1200.0,"max":3600.0},{"current":2718.228,"min":1200.0,"max":3600.0},{"current":2779.421,"min":1200.0,"max":3600.0},{"current":2695.213,"min":1200.0,"max":3600.0},{"current":2775.498,"min":1200.0,"max":3600.0}],"disk_write_speed":71.17279920208378,"process_ids":[2113736,2113939]}
+{"timestamp":1678267209.284194,"rapl_power_draw_absolute":167.11478901835895,"rapl_estimated_attributable_power_draw":8.485896520497027,"cpu_time_seconds":{"2113736":{"user":223.61,"system":47.72,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":3.74,"system":5.24,"children_user":1.54,"children_system":52.41,"iowait":5.32}},"average_relative_cpu_utilization":0.057352942518144115,"absolute_cpu_utilization":0.9987311543780486,"relative_mem_usage":0.01923860075211454,"absolute_mem_usage":3937558528.0,"absolute_mem_percent_usage":0.007279251884712045,"mem_info_per_process":{"2113736":{"rss":3858112512,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3476750336,"pss":3640489984,"swap":0},"2113939":{"rss":448143360,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160337920,"pss":297068544,"swap":0}},"nvidia_draw_absolute":475.77000000000004,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.22399999999999998,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":13.0,"mem":7.666666666666667,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":22.4,"mem":15.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23337500000000003,0.22712500000000002,0.21949999999999997],"cpu_freq":[{"current":2694.697,"min":1200.0,"max":3600.0},{"current":2700.062,"min":1200.0,"max":3600.0},{"current":2754.487,"min":1200.0,"max":3600.0},{"current":2696.971,"min":1200.0,"max":3600.0},{"current":2711.544,"min":1200.0,"max":3600.0},{"current":2703.603,"min":1200.0,"max":3600.0},{"current":2711.139,"min":1200.0,"max":3600.0},{"current":2699.702,"min":1200.0,"max":3600.0},{"current":2709.947,"min":1200.0,"max":3600.0},{"current":2714.919,"min":1200.0,"max":3600.0},{"current":2782.398,"min":1200.0,"max":3600.0},{"current":2694.649,"min":1200.0,"max":3600.0},{"current":2698.05,"min":1200.0,"max":3600.0},{"current":2696.3,"min":1200.0,"max":3600.0},{"current":2775.04,"min":1200.0,"max":3600.0},{"current":2696.242,"min":1200.0,"max":3600.0},{"current":2754.347,"min":1200.0,"max":3600.0},{"current":2716.43,"min":1200.0,"max":3600.0},{"current":2693.936,"min":1200.0,"max":3600.0},{"current":2722.321,"min":1200.0,"max":3600.0},{"current":2696.79,"min":1200.0,"max":3600.0},{"current":2696.912,"min":1200.0,"max":3600.0},{"current":2772.304,"min":1200.0,"max":3600.0},{"current":2768.92,"min":1200.0,"max":3600.0},{"current":2778.007,"min":1200.0,"max":3600.0},{"current":2771.139,"min":1200.0,"max":3600.0},{"current":2692.97,"min":1200.0,"max":3600.0},{"current":2697.39,"min":1200.0,"max":3600.0},{"current":2695.177,"min":1200.0,"max":3600.0},{"current":2772.124,"min":1200.0,"max":3600.0},{"current":2696.901,"min":1200.0,"max":3600.0},{"current":2695.798,"min":1200.0,"max":3600.0},{"current":2695.053,"min":1200.0,"max":3600.0},{"current":2695.429,"min":1200.0,"max":3600.0},{"current":2696.194,"min":1200.0,"max":3600.0},{"current":2693.985,"min":1200.0,"max":3600.0},{"current":2782.741,"min":1200.0,"max":3600.0},{"current":2693.022,"min":1200.0,"max":3600.0},{"current":2696.822,"min":1200.0,"max":3600.0},{"current":2696.067,"min":1200.0,"max":3600.0},{"current":2730.753,"min":1200.0,"max":3600.0},{"current":2842.983,"min":1200.0,"max":3600.0},{"current":2751.899,"min":1200.0,"max":3600.0},{"current":2694.951,"min":1200.0,"max":3600.0},{"current":2694.381,"min":1200.0,"max":3600.0},{"current":2692.821,"min":1200.0,"max":3600.0},{"current":2694.848,"min":1200.0,"max":3600.0},{"current":2694.409,"min":1200.0,"max":3600.0},{"current":2695.282,"min":1200.0,"max":3600.0},{"current":2677.406,"min":1200.0,"max":3600.0},{"current":2678.789,"min":1200.0,"max":3600.0},{"current":2696.103,"min":1200.0,"max":3600.0},{"current":2694.742,"min":1200.0,"max":3600.0},{"current":2693.929,"min":1200.0,"max":3600.0},{"current":2697.672,"min":1200.0,"max":3600.0},{"current":2848.337,"min":1200.0,"max":3600.0},{"current":2715.304,"min":1200.0,"max":3600.0},{"current":2697.193,"min":1200.0,"max":3600.0},{"current":2831.841,"min":1200.0,"max":3600.0},{"current":2821.801,"min":1200.0,"max":3600.0},{"current":2696.526,"min":1200.0,"max":3600.0},{"current":2696.397,"min":1200.0,"max":3600.0},{"current":2697.29,"min":1200.0,"max":3600.0},{"current":2692.809,"min":1200.0,"max":3600.0},{"current":2693.606,"min":1200.0,"max":3600.0},{"current":2692.969,"min":1200.0,"max":3600.0},{"current":2767.659,"min":1200.0,"max":3600.0},{"current":2694.733,"min":1200.0,"max":3600.0},{"current":2698.355,"min":1200.0,"max":3600.0},{"current":2681.332,"min":1200.0,"max":3600.0},{"current":2695.955,"min":1200.0,"max":3600.0},{"current":2706.122,"min":1200.0,"max":3600.0},{"current":2694.408,"min":1200.0,"max":3600.0},{"current":2696.055,"min":1200.0,"max":3600.0},{"current":2696.793,"min":1200.0,"max":3600.0},{"current":2697.344,"min":1200.0,"max":3600.0},{"current":2697.544,"min":1200.0,"max":3600.0},{"current":2779.627,"min":1200.0,"max":3600.0},{"current":2695.94,"min":1200.0,"max":3600.0},{"current":2767.003,"min":1200.0,"max":3600.0}],"disk_write_speed":69.902170719594,"process_ids":[2113736,2113939]}
+{"timestamp":1678267225.13618,"rapl_power_draw_absolute":168.2346664431596,"rapl_estimated_attributable_power_draw":8.285008594591131,"cpu_time_seconds":{"2113736":{"user":237.06,"system":50.13,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":3.94,"system":5.62,"children_user":1.62,"children_system":55.59,"iowait":5.65}},"average_relative_cpu_utilization":0.05552244363515473,"absolute_cpu_utilization":0.998727456663809,"relative_mem_usage":0.01902390931151727,"absolute_mem_usage":3904943104.0,"absolute_mem_percent_usage":0.007218956682765352,"mem_info_per_process":{"2113736":{"rss":3851771904,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3444137984,"pss":3607874560,"swap":0},"2113939":{"rss":448143360,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160337920,"pss":297068544,"swap":0}},"nvidia_draw_absolute":477.68000000000006,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.1575,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":15.0,"mem":9.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":10.0,"mem":5.666666666666667,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":15.75,"mem":10.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.22962500000000002,0.226625,0.21949999999999997],"cpu_freq":[{"current":2694.155,"min":1200.0,"max":3600.0},{"current":2696.465,"min":1200.0,"max":3600.0},{"current":2694.152,"min":1200.0,"max":3600.0},{"current":2711.451,"min":1200.0,"max":3600.0},{"current":2700.186,"min":1200.0,"max":3600.0},{"current":2698.411,"min":1200.0,"max":3600.0},{"current":2709.668,"min":1200.0,"max":3600.0},{"current":2740.875,"min":1200.0,"max":3600.0},{"current":2695.026,"min":1200.0,"max":3600.0},{"current":2629.84,"min":1200.0,"max":3600.0},{"current":2625.845,"min":1200.0,"max":3600.0},{"current":2753.267,"min":1200.0,"max":3600.0},{"current":2694.63,"min":1200.0,"max":3600.0},{"current":2711.81,"min":1200.0,"max":3600.0},{"current":2836.958,"min":1200.0,"max":3600.0},{"current":2692.329,"min":1200.0,"max":3600.0},{"current":2709.407,"min":1200.0,"max":3600.0},{"current":2778.57,"min":1200.0,"max":3600.0},{"current":2857.009,"min":1200.0,"max":3600.0},{"current":2692.802,"min":1200.0,"max":3600.0},{"current":2698.228,"min":1200.0,"max":3600.0},{"current":2695.045,"min":1200.0,"max":3600.0},{"current":2786.148,"min":1200.0,"max":3600.0},{"current":2761.701,"min":1200.0,"max":3600.0},{"current":2771.456,"min":1200.0,"max":3600.0},{"current":2771.176,"min":1200.0,"max":3600.0},{"current":2640.673,"min":1200.0,"max":3600.0},{"current":2695.566,"min":1200.0,"max":3600.0},{"current":2695.898,"min":1200.0,"max":3600.0},{"current":2781.251,"min":1200.0,"max":3600.0},{"current":2694.963,"min":1200.0,"max":3600.0},{"current":2698.488,"min":1200.0,"max":3600.0},{"current":2697.632,"min":1200.0,"max":3600.0},{"current":2696.991,"min":1200.0,"max":3600.0},{"current":2697.947,"min":1200.0,"max":3600.0},{"current":2695.522,"min":1200.0,"max":3600.0},{"current":2768.977,"min":1200.0,"max":3600.0},{"current":2693.932,"min":1200.0,"max":3600.0},{"current":2698.155,"min":1200.0,"max":3600.0},{"current":2693.642,"min":1200.0,"max":3600.0},{"current":2734.115,"min":1200.0,"max":3600.0},{"current":2820.324,"min":1200.0,"max":3600.0},{"current":2850.514,"min":1200.0,"max":3600.0},{"current":2721.835,"min":1200.0,"max":3600.0},{"current":2694.723,"min":1200.0,"max":3600.0},{"current":2699.066,"min":1200.0,"max":3600.0},{"current":2709.214,"min":1200.0,"max":3600.0},{"current":2771.706,"min":1200.0,"max":3600.0},{"current":2708.568,"min":1200.0,"max":3600.0},{"current":2816.236,"min":1200.0,"max":3600.0},{"current":2840.634,"min":1200.0,"max":3600.0},{"current":2706.902,"min":1200.0,"max":3600.0},{"current":2695.585,"min":1200.0,"max":3600.0},{"current":2713.737,"min":1200.0,"max":3600.0},{"current":2690.624,"min":1200.0,"max":3600.0},{"current":2854.84,"min":1200.0,"max":3600.0},{"current":2709.322,"min":1200.0,"max":3600.0},{"current":2725.773,"min":1200.0,"max":3600.0},{"current":2852.553,"min":1200.0,"max":3600.0},{"current":2831.377,"min":1200.0,"max":3600.0},{"current":2693.992,"min":1200.0,"max":3600.0},{"current":2693.714,"min":1200.0,"max":3600.0},{"current":2695.282,"min":1200.0,"max":3600.0},{"current":2653.588,"min":1200.0,"max":3600.0},{"current":2695.311,"min":1200.0,"max":3600.0},{"current":2697.903,"min":1200.0,"max":3600.0},{"current":2690.517,"min":1200.0,"max":3600.0},{"current":2693.938,"min":1200.0,"max":3600.0},{"current":2693.804,"min":1200.0,"max":3600.0},{"current":2696.677,"min":1200.0,"max":3600.0},{"current":2694.516,"min":1200.0,"max":3600.0},{"current":2693.943,"min":1200.0,"max":3600.0},{"current":2694.706,"min":1200.0,"max":3600.0},{"current":2695.188,"min":1200.0,"max":3600.0},{"current":2694.736,"min":1200.0,"max":3600.0},{"current":2693.723,"min":1200.0,"max":3600.0},{"current":2634.755,"min":1200.0,"max":3600.0},{"current":2749.308,"min":1200.0,"max":3600.0},{"current":2694.077,"min":1200.0,"max":3600.0},{"current":2784.423,"min":1200.0,"max":3600.0}],"disk_write_speed":70.36809524896925,"process_ids":[2113736,2113939]}
+{"timestamp":1678267240.660263,"rapl_power_draw_absolute":169.4411465374887,"rapl_estimated_attributable_power_draw":8.174108047756725,"cpu_time_seconds":{"2113736":{"user":250.17,"system":52.55,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":4.14,"system":5.93,"children_user":1.72,"children_system":58.71,"iowait":5.98}},"average_relative_cpu_utilization":0.05450821231970958,"absolute_cpu_utilization":0.9987249104079624,"relative_mem_usage":0.018410383854606818,"absolute_mem_usage":3763885056.0,"absolute_mem_percent_usage":0.006958186701962211,"mem_info_per_process":{"2113736":{"rss":3707797504,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3303079936,"pss":3466816512,"swap":0},"2113939":{"rss":448143360,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160337920,"pss":297068544,"swap":0}},"nvidia_draw_absolute":688.83,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.25,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":13.5,"mem":9.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":4.0,"mem":2.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":18.5,"mem":10.5,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.0,"mem":16.666666666666668,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.228625,0.226625,0.21949999999999997],"cpu_freq":[{"current":2695.173,"min":1200.0,"max":3600.0},{"current":2651.714,"min":1200.0,"max":3600.0},{"current":2695.56,"min":1200.0,"max":3600.0},{"current":2703.103,"min":1200.0,"max":3600.0},{"current":2782.684,"min":1200.0,"max":3600.0},{"current":2711.598,"min":1200.0,"max":3600.0},{"current":2694.381,"min":1200.0,"max":3600.0},{"current":2710.132,"min":1200.0,"max":3600.0},{"current":2698.751,"min":1200.0,"max":3600.0},{"current":2696.485,"min":1200.0,"max":3600.0},{"current":2767.653,"min":1200.0,"max":3600.0},{"current":2695.979,"min":1200.0,"max":3600.0},{"current":2714.783,"min":1200.0,"max":3600.0},{"current":2697.928,"min":1200.0,"max":3600.0},{"current":2835.177,"min":1200.0,"max":3600.0},{"current":2596.547,"min":1200.0,"max":3600.0},{"current":2703.055,"min":1200.0,"max":3600.0},{"current":2711.033,"min":1200.0,"max":3600.0},{"current":2699.96,"min":1200.0,"max":3600.0},{"current":2658.139,"min":1200.0,"max":3600.0},{"current":2696.987,"min":1200.0,"max":3600.0},{"current":2696.711,"min":1200.0,"max":3600.0},{"current":2772.163,"min":1200.0,"max":3600.0},{"current":2781.165,"min":1200.0,"max":3600.0},{"current":2778.694,"min":1200.0,"max":3600.0},{"current":2764.88,"min":1200.0,"max":3600.0},{"current":2695.41,"min":1200.0,"max":3600.0},{"current":2699.534,"min":1200.0,"max":3600.0},{"current":2696.139,"min":1200.0,"max":3600.0},{"current":2773.53,"min":1200.0,"max":3600.0},{"current":2696.294,"min":1200.0,"max":3600.0},{"current":2698.86,"min":1200.0,"max":3600.0},{"current":2694.315,"min":1200.0,"max":3600.0},{"current":2693.839,"min":1200.0,"max":3600.0},{"current":2698.011,"min":1200.0,"max":3600.0},{"current":2693.784,"min":1200.0,"max":3600.0},{"current":2779.271,"min":1200.0,"max":3600.0},{"current":2625.421,"min":1200.0,"max":3600.0},{"current":2700.113,"min":1200.0,"max":3600.0},{"current":2693.676,"min":1200.0,"max":3600.0},{"current":2763.676,"min":1200.0,"max":3600.0},{"current":2799.019,"min":1200.0,"max":3600.0},{"current":2764.737,"min":1200.0,"max":3600.0},{"current":2695.841,"min":1200.0,"max":3600.0},{"current":2715.945,"min":1200.0,"max":3600.0},{"current":2694.247,"min":1200.0,"max":3600.0},{"current":2696.32,"min":1200.0,"max":3600.0},{"current":2710.753,"min":1200.0,"max":3600.0},{"current":2784.414,"min":1200.0,"max":3600.0},{"current":2841.662,"min":1200.0,"max":3600.0},{"current":2854.191,"min":1200.0,"max":3600.0},{"current":2712.174,"min":1200.0,"max":3600.0},{"current":2720.693,"min":1200.0,"max":3600.0},{"current":2708.151,"min":1200.0,"max":3600.0},{"current":2691.821,"min":1200.0,"max":3600.0},{"current":2849.517,"min":1200.0,"max":3600.0},{"current":2707.743,"min":1200.0,"max":3600.0},{"current":2707.157,"min":1200.0,"max":3600.0},{"current":2856.282,"min":1200.0,"max":3600.0},{"current":2845.346,"min":1200.0,"max":3600.0},{"current":2694.991,"min":1200.0,"max":3600.0},{"current":2694.497,"min":1200.0,"max":3600.0},{"current":2692.448,"min":1200.0,"max":3600.0},{"current":2657.173,"min":1200.0,"max":3600.0},{"current":2691.839,"min":1200.0,"max":3600.0},{"current":2664.224,"min":1200.0,"max":3600.0},{"current":2772.012,"min":1200.0,"max":3600.0},{"current":2693.922,"min":1200.0,"max":3600.0},{"current":2702.212,"min":1200.0,"max":3600.0},{"current":2678.947,"min":1200.0,"max":3600.0},{"current":2693.945,"min":1200.0,"max":3600.0},{"current":2697.021,"min":1200.0,"max":3600.0},{"current":2695.757,"min":1200.0,"max":3600.0},{"current":2694.448,"min":1200.0,"max":3600.0},{"current":2695.176,"min":1200.0,"max":3600.0},{"current":2693.993,"min":1200.0,"max":3600.0},{"current":2695.058,"min":1200.0,"max":3600.0},{"current":2771.536,"min":1200.0,"max":3600.0},{"current":2694.578,"min":1200.0,"max":3600.0},{"current":2775.366,"min":1200.0,"max":3600.0}],"disk_write_speed":71.63090725716546,"process_ids":[2113736,2113939]}
+{"timestamp":1678267256.620211,"rapl_power_draw_absolute":168.67519565384464,"rapl_estimated_attributable_power_draw":8.102692316659201,"cpu_time_seconds":{"2113736":{"user":263.53,"system":55.16,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":4.36,"system":6.25,"children_user":1.79,"children_system":61.9,"iowait":6.32}},"average_relative_cpu_utilization":0.05421878926437848,"absolute_cpu_utilization":1.0040392073455329,"relative_mem_usage":0.018462931621091198,"absolute_mem_usage":3779731456.0,"absolute_mem_percent_usage":0.006987481488629038,"mem_info_per_process":{"2113736":{"rss":3730280448,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3318923264,"pss":3482662912,"swap":0},"2113939":{"rss":448143360,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160337920,"pss":297068544,"swap":0}},"nvidia_draw_absolute":475.21000000000004,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.21,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":5.25,"mem":3.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":21.666666666666668,"mem":12.333333333333334,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":21.0,"mem":14.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.22762500000000002,0.2265,0.21962500000000001],"cpu_freq":[{"current":2695.902,"min":1200.0,"max":3600.0},{"current":2628.127,"min":1200.0,"max":3600.0},{"current":2792.765,"min":1200.0,"max":3600.0},{"current":2710.083,"min":1200.0,"max":3600.0},{"current":2708.094,"min":1200.0,"max":3600.0},{"current":2708.199,"min":1200.0,"max":3600.0},{"current":2695.892,"min":1200.0,"max":3600.0},{"current":2711.451,"min":1200.0,"max":3600.0},{"current":2730.966,"min":1200.0,"max":3600.0},{"current":2719.786,"min":1200.0,"max":3600.0},{"current":2889.392,"min":1200.0,"max":3600.0},{"current":2696.471,"min":1200.0,"max":3600.0},{"current":2731.706,"min":1200.0,"max":3600.0},{"current":2694.74,"min":1200.0,"max":3600.0},{"current":2788.607,"min":1200.0,"max":3600.0},{"current":2694.025,"min":1200.0,"max":3600.0},{"current":2735.721,"min":1200.0,"max":3600.0},{"current":2694.24,"min":1200.0,"max":3600.0},{"current":2754.546,"min":1200.0,"max":3600.0},{"current":2692.45,"min":1200.0,"max":3600.0},{"current":2696.14,"min":1200.0,"max":3600.0},{"current":2696.41,"min":1200.0,"max":3600.0},{"current":2703.18,"min":1200.0,"max":3600.0},{"current":2748.639,"min":1200.0,"max":3600.0},{"current":2770.687,"min":1200.0,"max":3600.0},{"current":2781.965,"min":1200.0,"max":3600.0},{"current":2672.618,"min":1200.0,"max":3600.0},{"current":2698.155,"min":1200.0,"max":3600.0},{"current":2694.37,"min":1200.0,"max":3600.0},{"current":2697.217,"min":1200.0,"max":3600.0},{"current":2698.049,"min":1200.0,"max":3600.0},{"current":2695.607,"min":1200.0,"max":3600.0},{"current":2694.759,"min":1200.0,"max":3600.0},{"current":2696.649,"min":1200.0,"max":3600.0},{"current":2696.566,"min":1200.0,"max":3600.0},{"current":2696.432,"min":1200.0,"max":3600.0},{"current":2686.841,"min":1200.0,"max":3600.0},{"current":2693.912,"min":1200.0,"max":3600.0},{"current":2696.409,"min":1200.0,"max":3600.0},{"current":2784.814,"min":1200.0,"max":3600.0},{"current":2694.532,"min":1200.0,"max":3600.0},{"current":2842.117,"min":1200.0,"max":3600.0},{"current":2854.649,"min":1200.0,"max":3600.0},{"current":2706.762,"min":1200.0,"max":3600.0},{"current":2726.157,"min":1200.0,"max":3600.0},{"current":2708.504,"min":1200.0,"max":3600.0},{"current":2717.876,"min":1200.0,"max":3600.0},{"current":2706.357,"min":1200.0,"max":3600.0},{"current":2707.492,"min":1200.0,"max":3600.0},{"current":2793.973,"min":1200.0,"max":3600.0},{"current":2826.012,"min":1200.0,"max":3600.0},{"current":2782.391,"min":1200.0,"max":3600.0},{"current":2696.685,"min":1200.0,"max":3600.0},{"current":2725.441,"min":1200.0,"max":3600.0},{"current":2698.983,"min":1200.0,"max":3600.0},{"current":2834.672,"min":1200.0,"max":3600.0},{"current":2707.439,"min":1200.0,"max":3600.0},{"current":2707.307,"min":1200.0,"max":3600.0},{"current":2824.73,"min":1200.0,"max":3600.0},{"current":2799.355,"min":1200.0,"max":3600.0},{"current":2697.673,"min":1200.0,"max":3600.0},{"current":2695.681,"min":1200.0,"max":3600.0},{"current":2693.598,"min":1200.0,"max":3600.0},{"current":2694.063,"min":1200.0,"max":3600.0},{"current":2711.259,"min":1200.0,"max":3600.0},{"current":2695.064,"min":1200.0,"max":3600.0},{"current":2770.432,"min":1200.0,"max":3600.0},{"current":2696.216,"min":1200.0,"max":3600.0},{"current":2695.999,"min":1200.0,"max":3600.0},{"current":2692.059,"min":1200.0,"max":3600.0},{"current":2695.25,"min":1200.0,"max":3600.0},{"current":2695.589,"min":1200.0,"max":3600.0},{"current":2697.502,"min":1200.0,"max":3600.0},{"current":2695.578,"min":1200.0,"max":3600.0},{"current":2697.548,"min":1200.0,"max":3600.0},{"current":2697.342,"min":1200.0,"max":3600.0},{"current":2785.16,"min":1200.0,"max":3600.0},{"current":2743.052,"min":1200.0,"max":3600.0},{"current":2757.054,"min":1200.0,"max":3600.0},{"current":2786.263,"min":1200.0,"max":3600.0}],"disk_write_speed":71.0919734945182,"process_ids":[2113736,2113939]}
+{"timestamp":1678267272.084235,"rapl_power_draw_absolute":166.94673858384618,"rapl_estimated_attributable_power_draw":8.52071146233209,"cpu_time_seconds":{"2113736":{"user":276.39,"system":57.77,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":4.58,"system":6.53,"children_user":1.87,"children_system":65.04,"iowait":6.66}},"average_relative_cpu_utilization":0.05801889960848262,"absolute_cpu_utilization":0.9986759479040896,"relative_mem_usage":0.017216839946182814,"absolute_mem_usage":3529023488.0,"absolute_mem_percent_usage":0.006524004835368145,"mem_info_per_process":{"2113736":{"rss":3481288704,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3068215296,"pss":3231954944,"swap":0},"2113939":{"rss":448143360,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160337920,"pss":297068544,"swap":0}},"nvidia_draw_absolute":475.36,"nvidia_estimated_attributable_power_draw":69.95,"average_gpu_estimated_utilization_absolute":0.19,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":21.666666666666668,"mem":14.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.5,"mem":3.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":19.0,"mem":12.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.95},"cpu_count_adjusted_average_load":[0.227,0.226375,0.21974999999999997],"cpu_freq":[{"current":2694.108,"min":1200.0,"max":3600.0},{"current":2694.298,"min":1200.0,"max":3600.0},{"current":2695.398,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2693.852,"min":1200.0,"max":3600.0},{"current":2693.783,"min":1200.0,"max":3600.0},{"current":2695.161,"min":1200.0,"max":3600.0},{"current":2693.787,"min":1200.0,"max":3600.0},{"current":2695.881,"min":1200.0,"max":3600.0},{"current":2698.736,"min":1200.0,"max":3600.0},{"current":2695.029,"min":1200.0,"max":3600.0},{"current":2697.678,"min":1200.0,"max":3600.0},{"current":2733.148,"min":1200.0,"max":3600.0},{"current":2702.743,"min":1200.0,"max":3600.0},{"current":2816.734,"min":1200.0,"max":3600.0},{"current":2703.656,"min":1200.0,"max":3600.0},{"current":2697.195,"min":1200.0,"max":3600.0},{"current":2695.879,"min":1200.0,"max":3600.0},{"current":2830.344,"min":1200.0,"max":3600.0},{"current":2691.87,"min":1200.0,"max":3600.0},{"current":2696.488,"min":1200.0,"max":3600.0},{"current":2696.906,"min":1200.0,"max":3600.0},{"current":2697.976,"min":1200.0,"max":3600.0},{"current":2686.6,"min":1200.0,"max":3600.0},{"current":2689.205,"min":1200.0,"max":3600.0},{"current":2699.397,"min":1200.0,"max":3600.0},{"current":2694.793,"min":1200.0,"max":3600.0},{"current":2693.752,"min":1200.0,"max":3600.0},{"current":2694.115,"min":1200.0,"max":3600.0},{"current":2685.19,"min":1200.0,"max":3600.0},{"current":2701.652,"min":1200.0,"max":3600.0},{"current":2694.444,"min":1200.0,"max":3600.0},{"current":2694.913,"min":1200.0,"max":3600.0},{"current":2697.663,"min":1200.0,"max":3600.0},{"current":2698.892,"min":1200.0,"max":3600.0},{"current":2697.768,"min":1200.0,"max":3600.0},{"current":2684.803,"min":1200.0,"max":3600.0},{"current":2697.197,"min":1200.0,"max":3600.0},{"current":2696.32,"min":1200.0,"max":3600.0},{"current":2694.291,"min":1200.0,"max":3600.0},{"current":2726.133,"min":1200.0,"max":3600.0},{"current":2824.409,"min":1200.0,"max":3600.0},{"current":2846.013,"min":1200.0,"max":3600.0},{"current":2695.578,"min":1200.0,"max":3600.0},{"current":2709.077,"min":1200.0,"max":3600.0},{"current":2695.509,"min":1200.0,"max":3600.0},{"current":2707.915,"min":1200.0,"max":3600.0},{"current":2708.131,"min":1200.0,"max":3600.0},{"current":2713.426,"min":1200.0,"max":3600.0},{"current":2772.645,"min":1200.0,"max":3600.0},{"current":2801.755,"min":1200.0,"max":3600.0},{"current":2697.369,"min":1200.0,"max":3600.0},{"current":2697.168,"min":1200.0,"max":3600.0},{"current":2707.766,"min":1200.0,"max":3600.0},{"current":2797.534,"min":1200.0,"max":3600.0},{"current":2838.251,"min":1200.0,"max":3600.0},{"current":2696.193,"min":1200.0,"max":3600.0},{"current":2724.405,"min":1200.0,"max":3600.0},{"current":2691.273,"min":1200.0,"max":3600.0},{"current":2837.16,"min":1200.0,"max":3600.0},{"current":2693.988,"min":1200.0,"max":3600.0},{"current":2695.386,"min":1200.0,"max":3600.0},{"current":2696.28,"min":1200.0,"max":3600.0},{"current":2695.45,"min":1200.0,"max":3600.0},{"current":2691.655,"min":1200.0,"max":3600.0},{"current":2693.731,"min":1200.0,"max":3600.0},{"current":2753.952,"min":1200.0,"max":3600.0},{"current":2695.663,"min":1200.0,"max":3600.0},{"current":2693.867,"min":1200.0,"max":3600.0},{"current":2693.754,"min":1200.0,"max":3600.0},{"current":2694.302,"min":1200.0,"max":3600.0},{"current":2721.94,"min":1200.0,"max":3600.0},{"current":2695.264,"min":1200.0,"max":3600.0},{"current":2694.684,"min":1200.0,"max":3600.0},{"current":2696.187,"min":1200.0,"max":3600.0},{"current":2693.831,"min":1200.0,"max":3600.0},{"current":2656.927,"min":1200.0,"max":3600.0},{"current":2774.475,"min":1200.0,"max":3600.0},{"current":2786.177,"min":1200.0,"max":3600.0},{"current":2773.635,"min":1200.0,"max":3600.0}],"disk_write_speed":71.50370411060621,"process_ids":[2113736,2113939]}
+{"timestamp":1678267287.440234,"rapl_power_draw_absolute":168.77648168779518,"rapl_estimated_attributable_power_draw":8.036789979487285,"cpu_time_seconds":{"2113736":{"user":289.13,"system":60.39,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":4.8,"system":6.81,"children_user":1.97,"children_system":68.15,"iowait":7.0}},"average_relative_cpu_utilization":0.0541249944613861,"absolute_cpu_utilization":0.9987384797510827,"relative_mem_usage":0.016593020451835833,"absolute_mem_usage":3388919808.0,"absolute_mem_percent_usage":0.006264999167403355,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2928111616,"pss":3091851264,"swap":0},"2113939":{"rss":448143360,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160337920,"pss":297068544,"swap":0}},"nvidia_draw_absolute":623.72,"nvidia_estimated_attributable_power_draw":217.08,"average_gpu_estimated_utilization_absolute":0.256,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":17.333333333333332,"mem":11.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":1.5,"mem":0.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.6,"mem":17.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":217.08},"cpu_count_adjusted_average_load":[0.22974999999999998,0.22712500000000002,0.220125],"cpu_freq":[{"current":2695.735,"min":1200.0,"max":3600.0},{"current":2709.47,"min":1200.0,"max":3600.0},{"current":2738.65,"min":1200.0,"max":3600.0},{"current":2707.611,"min":1200.0,"max":3600.0},{"current":2699.693,"min":1200.0,"max":3600.0},{"current":2708.257,"min":1200.0,"max":3600.0},{"current":2709.502,"min":1200.0,"max":3600.0},{"current":2701.379,"min":1200.0,"max":3600.0},{"current":2708.771,"min":1200.0,"max":3600.0},{"current":2691.4,"min":1200.0,"max":3600.0},{"current":2693.863,"min":1200.0,"max":3600.0},{"current":2695.848,"min":1200.0,"max":3600.0},{"current":2710.953,"min":1200.0,"max":3600.0},{"current":2702.139,"min":1200.0,"max":3600.0},{"current":2826.933,"min":1200.0,"max":3600.0},{"current":2692.109,"min":1200.0,"max":3600.0},{"current":2700.798,"min":1200.0,"max":3600.0},{"current":2697.623,"min":1200.0,"max":3600.0},{"current":2780.814,"min":1200.0,"max":3600.0},{"current":2742.863,"min":1200.0,"max":3600.0},{"current":2699.973,"min":1200.0,"max":3600.0},{"current":2693.781,"min":1200.0,"max":3600.0},{"current":2695.634,"min":1200.0,"max":3600.0},{"current":2681.258,"min":1200.0,"max":3600.0},{"current":2692.113,"min":1200.0,"max":3600.0},{"current":2696.182,"min":1200.0,"max":3600.0},{"current":2696.968,"min":1200.0,"max":3600.0},{"current":2709.852,"min":1200.0,"max":3600.0},{"current":2694.116,"min":1200.0,"max":3600.0},{"current":2773.31,"min":1200.0,"max":3600.0},{"current":2696.251,"min":1200.0,"max":3600.0},{"current":2695.535,"min":1200.0,"max":3600.0},{"current":2693.787,"min":1200.0,"max":3600.0},{"current":2695.181,"min":1200.0,"max":3600.0},{"current":2694.015,"min":1200.0,"max":3600.0},{"current":2695.041,"min":1200.0,"max":3600.0},{"current":2759.213,"min":1200.0,"max":3600.0},{"current":2693.886,"min":1200.0,"max":3600.0},{"current":2695.893,"min":1200.0,"max":3600.0},{"current":2695.92,"min":1200.0,"max":3600.0},{"current":2715.438,"min":1200.0,"max":3600.0},{"current":2850.469,"min":1200.0,"max":3600.0},{"current":2841.62,"min":1200.0,"max":3600.0},{"current":2706.345,"min":1200.0,"max":3600.0},{"current":2717.602,"min":1200.0,"max":3600.0},{"current":2702.769,"min":1200.0,"max":3600.0},{"current":2695.867,"min":1200.0,"max":3600.0},{"current":2695.757,"min":1200.0,"max":3600.0},{"current":2708.186,"min":1200.0,"max":3600.0},{"current":2812.204,"min":1200.0,"max":3600.0},{"current":2809.368,"min":1200.0,"max":3600.0},{"current":2696.159,"min":1200.0,"max":3600.0},{"current":2727.824,"min":1200.0,"max":3600.0},{"current":2707.814,"min":1200.0,"max":3600.0},{"current":2694.813,"min":1200.0,"max":3600.0},{"current":2811.317,"min":1200.0,"max":3600.0},{"current":2716.477,"min":1200.0,"max":3600.0},{"current":2694.62,"min":1200.0,"max":3600.0},{"current":2655.26,"min":1200.0,"max":3600.0},{"current":2747.397,"min":1200.0,"max":3600.0},{"current":2694.11,"min":1200.0,"max":3600.0},{"current":2695.727,"min":1200.0,"max":3600.0},{"current":2693.774,"min":1200.0,"max":3600.0},{"current":2696.149,"min":1200.0,"max":3600.0},{"current":2694.3,"min":1200.0,"max":3600.0},{"current":2695.268,"min":1200.0,"max":3600.0},{"current":2773.01,"min":1200.0,"max":3600.0},{"current":2696.284,"min":1200.0,"max":3600.0},{"current":2695.226,"min":1200.0,"max":3600.0},{"current":2693.628,"min":1200.0,"max":3600.0},{"current":2695.145,"min":1200.0,"max":3600.0},{"current":2697.265,"min":1200.0,"max":3600.0},{"current":2696.753,"min":1200.0,"max":3600.0},{"current":2697.401,"min":1200.0,"max":3600.0},{"current":2694.209,"min":1200.0,"max":3600.0},{"current":2694.22,"min":1200.0,"max":3600.0},{"current":2691.029,"min":1200.0,"max":3600.0},{"current":2766.996,"min":1200.0,"max":3600.0},{"current":2770.544,"min":1200.0,"max":3600.0},{"current":2746.104,"min":1200.0,"max":3600.0}],"disk_write_speed":70.98919658695081,"process_ids":[2113736,2113939]}
+{"timestamp":1678267303.344235,"rapl_power_draw_absolute":167.48024540587068,"rapl_estimated_attributable_power_draw":8.513305711062229,"cpu_time_seconds":{"2113736":{"user":302.51,"system":62.92,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":5.03,"system":7.11,"children_user":2.05,"children_system":71.35,"iowait":7.34}},"average_relative_cpu_utilization":0.057303453476596745,"absolute_cpu_utilization":0.9986453225383503,"relative_mem_usage":0.019538772403763463,"absolute_mem_usage":3991035904.0,"absolute_mem_percent_usage":0.007378113980924537,"mem_info_per_process":{"2113736":{"rss":3959975936,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3530227712,"pss":3693967360,"swap":0},"2113939":{"rss":448143360,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160337920,"pss":297068544,"swap":0}},"nvidia_draw_absolute":582.54,"nvidia_estimated_attributable_power_draw":177.36,"average_gpu_estimated_utilization_absolute":0.20199999999999999,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":20.2,"mem":13.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":177.36},"cpu_count_adjusted_average_load":[0.22949999999999998,0.22725,0.22025],"cpu_freq":[{"current":2695.64,"min":1200.0,"max":3600.0},{"current":2624.859,"min":1200.0,"max":3600.0},{"current":2657.988,"min":1200.0,"max":3600.0},{"current":2710.134,"min":1200.0,"max":3600.0},{"current":2710.167,"min":1200.0,"max":3600.0},{"current":2738.886,"min":1200.0,"max":3600.0},{"current":2711.456,"min":1200.0,"max":3600.0},{"current":2702.971,"min":1200.0,"max":3600.0},{"current":2712.652,"min":1200.0,"max":3600.0},{"current":2696.281,"min":1200.0,"max":3600.0},{"current":2691.447,"min":1200.0,"max":3600.0},{"current":2696.637,"min":1200.0,"max":3600.0},{"current":2722.156,"min":1200.0,"max":3600.0},{"current":2710.774,"min":1200.0,"max":3600.0},{"current":2818.476,"min":1200.0,"max":3600.0},{"current":2625.766,"min":1200.0,"max":3600.0},{"current":2702.035,"min":1200.0,"max":3600.0},{"current":2703.04,"min":1200.0,"max":3600.0},{"current":2808.223,"min":1200.0,"max":3600.0},{"current":2695.4,"min":1200.0,"max":3600.0},{"current":2694.877,"min":1200.0,"max":3600.0},{"current":2697.86,"min":1200.0,"max":3600.0},{"current":2696.179,"min":1200.0,"max":3600.0},{"current":2697.63,"min":1200.0,"max":3600.0},{"current":2778.888,"min":1200.0,"max":3600.0},{"current":2777.287,"min":1200.0,"max":3600.0},{"current":2694.861,"min":1200.0,"max":3600.0},{"current":2695.363,"min":1200.0,"max":3600.0},{"current":2695.511,"min":1200.0,"max":3600.0},{"current":2702.2,"min":1200.0,"max":3600.0},{"current":2776.931,"min":1200.0,"max":3600.0},{"current":2694.313,"min":1200.0,"max":3600.0},{"current":2696.664,"min":1200.0,"max":3600.0},{"current":2698.138,"min":1200.0,"max":3600.0},{"current":2697.981,"min":1200.0,"max":3600.0},{"current":2700.076,"min":1200.0,"max":3600.0},{"current":2768.59,"min":1200.0,"max":3600.0},{"current":2695.3,"min":1200.0,"max":3600.0},{"current":2698.757,"min":1200.0,"max":3600.0},{"current":2696.968,"min":1200.0,"max":3600.0},{"current":2693.615,"min":1200.0,"max":3600.0},{"current":2722.801,"min":1200.0,"max":3600.0},{"current":2748.602,"min":1200.0,"max":3600.0},{"current":2696.843,"min":1200.0,"max":3600.0},{"current":2693.995,"min":1200.0,"max":3600.0},{"current":2694.422,"min":1200.0,"max":3600.0},{"current":2696.78,"min":1200.0,"max":3600.0},{"current":2696.384,"min":1200.0,"max":3600.0},{"current":2698.284,"min":1200.0,"max":3600.0},{"current":2730.023,"min":1200.0,"max":3600.0},{"current":2764.507,"min":1200.0,"max":3600.0},{"current":2722.843,"min":1200.0,"max":3600.0},{"current":2712.881,"min":1200.0,"max":3600.0},{"current":2700.427,"min":1200.0,"max":3600.0},{"current":2695.176,"min":1200.0,"max":3600.0},{"current":2778.119,"min":1200.0,"max":3600.0},{"current":2709.198,"min":1200.0,"max":3600.0},{"current":2709.889,"min":1200.0,"max":3600.0},{"current":2716.149,"min":1200.0,"max":3600.0},{"current":2839.043,"min":1200.0,"max":3600.0},{"current":2694.638,"min":1200.0,"max":3600.0},{"current":2695.575,"min":1200.0,"max":3600.0},{"current":2694.472,"min":1200.0,"max":3600.0},{"current":2695.375,"min":1200.0,"max":3600.0},{"current":2693.549,"min":1200.0,"max":3600.0},{"current":2767.54,"min":1200.0,"max":3600.0},{"current":2698.34,"min":1200.0,"max":3600.0},{"current":2695.048,"min":1200.0,"max":3600.0},{"current":2696.793,"min":1200.0,"max":3600.0},{"current":2638.892,"min":1200.0,"max":3600.0},{"current":2623.398,"min":1200.0,"max":3600.0},{"current":2694.293,"min":1200.0,"max":3600.0},{"current":2695.235,"min":1200.0,"max":3600.0},{"current":2696.904,"min":1200.0,"max":3600.0},{"current":2696.188,"min":1200.0,"max":3600.0},{"current":2697.138,"min":1200.0,"max":3600.0},{"current":2654.947,"min":1200.0,"max":3600.0},{"current":2758.889,"min":1200.0,"max":3600.0},{"current":2762.148,"min":1200.0,"max":3600.0},{"current":2763.167,"min":1200.0,"max":3600.0}],"disk_write_speed":70.1403941836337,"process_ids":[2113736,2113939]}
+{"timestamp":1678267319.080176,"rapl_power_draw_absolute":168.2959458117831,"rapl_estimated_attributable_power_draw":8.356024491632292,"cpu_time_seconds":{"2113736":{"user":315.71,"system":65.44,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":5.24,"system":7.46,"children_user":2.16,"children_system":74.48,"iowait":7.68}},"average_relative_cpu_utilization":0.056066214556708426,"absolute_cpu_utilization":0.99870423939709,"relative_mem_usage":0.019086059554629786,"absolute_mem_usage":3923648512.0,"absolute_mem_percent_usage":0.007253536835789127,"mem_info_per_process":{"2113736":{"rss":3872792576,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3462836224,"pss":3626575872,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160342016,"pss":297072640,"swap":0}},"nvidia_draw_absolute":479.13000000000005,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.19,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":23.666666666666668,"mem":15.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":13.333333333333334,"mem":7.333333333333333,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":19.0,"mem":12.25,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23125,0.22774999999999998,0.2205],"cpu_freq":[{"current":2695.557,"min":1200.0,"max":3600.0},{"current":2691.212,"min":1200.0,"max":3600.0},{"current":2695.111,"min":1200.0,"max":3600.0},{"current":2700.11,"min":1200.0,"max":3600.0},{"current":2766.118,"min":1200.0,"max":3600.0},{"current":2701.174,"min":1200.0,"max":3600.0},{"current":2697.147,"min":1200.0,"max":3600.0},{"current":2696.018,"min":1200.0,"max":3600.0},{"current":2708.153,"min":1200.0,"max":3600.0},{"current":2717.447,"min":1200.0,"max":3600.0},{"current":2693.49,"min":1200.0,"max":3600.0},{"current":2699.919,"min":1200.0,"max":3600.0},{"current":2740.62,"min":1200.0,"max":3600.0},{"current":2745.274,"min":1200.0,"max":3600.0},{"current":2828.875,"min":1200.0,"max":3600.0},{"current":2693.177,"min":1200.0,"max":3600.0},{"current":2710.429,"min":1200.0,"max":3600.0},{"current":2696.954,"min":1200.0,"max":3600.0},{"current":2835.113,"min":1200.0,"max":3600.0},{"current":2620.396,"min":1200.0,"max":3600.0},{"current":2694.782,"min":1200.0,"max":3600.0},{"current":2695.09,"min":1200.0,"max":3600.0},{"current":2693.886,"min":1200.0,"max":3600.0},{"current":2695.176,"min":1200.0,"max":3600.0},{"current":2690.156,"min":1200.0,"max":3600.0},{"current":2684.769,"min":1200.0,"max":3600.0},{"current":2697.743,"min":1200.0,"max":3600.0},{"current":2695.697,"min":1200.0,"max":3600.0},{"current":2695.032,"min":1200.0,"max":3600.0},{"current":2697.598,"min":1200.0,"max":3600.0},{"current":2690.532,"min":1200.0,"max":3600.0},{"current":2697.871,"min":1200.0,"max":3600.0},{"current":2694.099,"min":1200.0,"max":3600.0},{"current":2696.35,"min":1200.0,"max":3600.0},{"current":2696.474,"min":1200.0,"max":3600.0},{"current":2699.264,"min":1200.0,"max":3600.0},{"current":2783.595,"min":1200.0,"max":3600.0},{"current":2743.469,"min":1200.0,"max":3600.0},{"current":2698.32,"min":1200.0,"max":3600.0},{"current":2608.299,"min":1200.0,"max":3600.0},{"current":2728.822,"min":1200.0,"max":3600.0},{"current":2808.62,"min":1200.0,"max":3600.0},{"current":2805.772,"min":1200.0,"max":3600.0},{"current":2706.366,"min":1200.0,"max":3600.0},{"current":2745.225,"min":1200.0,"max":3600.0},{"current":2694.074,"min":1200.0,"max":3600.0},{"current":2695.757,"min":1200.0,"max":3600.0},{"current":2710.531,"min":1200.0,"max":3600.0},{"current":2695.135,"min":1200.0,"max":3600.0},{"current":2821.828,"min":1200.0,"max":3600.0},{"current":2816.608,"min":1200.0,"max":3600.0},{"current":2696.591,"min":1200.0,"max":3600.0},{"current":2698.569,"min":1200.0,"max":3600.0},{"current":2698.713,"min":1200.0,"max":3600.0},{"current":2694.632,"min":1200.0,"max":3600.0},{"current":2770.461,"min":1200.0,"max":3600.0},{"current":2693.593,"min":1200.0,"max":3600.0},{"current":2694.663,"min":1200.0,"max":3600.0},{"current":2691.186,"min":1200.0,"max":3600.0},{"current":2845.674,"min":1200.0,"max":3600.0},{"current":2693.78,"min":1200.0,"max":3600.0},{"current":2694.424,"min":1200.0,"max":3600.0},{"current":2695.823,"min":1200.0,"max":3600.0},{"current":2693.895,"min":1200.0,"max":3600.0},{"current":2769.601,"min":1200.0,"max":3600.0},{"current":2695.531,"min":1200.0,"max":3600.0},{"current":2712.975,"min":1200.0,"max":3600.0},{"current":2694.813,"min":1200.0,"max":3600.0},{"current":2697.518,"min":1200.0,"max":3600.0},{"current":2697.892,"min":1200.0,"max":3600.0},{"current":2779.671,"min":1200.0,"max":3600.0},{"current":2694.141,"min":1200.0,"max":3600.0},{"current":2694.568,"min":1200.0,"max":3600.0},{"current":2696.654,"min":1200.0,"max":3600.0},{"current":2696.256,"min":1200.0,"max":3600.0},{"current":2696.501,"min":1200.0,"max":3600.0},{"current":2638.962,"min":1200.0,"max":3600.0},{"current":2781.443,"min":1200.0,"max":3600.0},{"current":2782.528,"min":1200.0,"max":3600.0},{"current":2789.494,"min":1200.0,"max":3600.0}],"disk_write_speed":70.22390269152584,"process_ids":[2113736,2113939]}
+{"timestamp":1678267334.664193,"rapl_power_draw_absolute":167.96022346301822,"rapl_estimated_attributable_power_draw":8.237290954781312,"cpu_time_seconds":{"2113736":{"user":328.82,"system":67.92,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":5.46,"system":7.75,"children_user":2.23,"children_system":77.62,"iowait":8.03}},"average_relative_cpu_utilization":0.055521717717469984,"absolute_cpu_utilization":0.9986924586274232,"relative_mem_usage":0.018331227142679152,"absolute_mem_usage":3755024384.0,"absolute_mem_percent_usage":0.006941806230942629,"mem_info_per_process":{"2113736":{"rss":3706183680,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3294212096,"pss":3457951744,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160342016,"pss":297072640,"swap":0}},"nvidia_draw_absolute":476.61,"nvidia_estimated_attributable_power_draw":69.56,"average_gpu_estimated_utilization_absolute":0.2,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":14.5,"mem":9.5,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":16.0,"mem":9.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":16.333333333333332,"mem":9.333333333333334,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":20.0,"mem":13.5,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.56},"cpu_count_adjusted_average_load":[0.22875,0.22737500000000002,0.2205],"cpu_freq":[{"current":2695.661,"min":1200.0,"max":3600.0},{"current":2694.172,"min":1200.0,"max":3600.0},{"current":2702.064,"min":1200.0,"max":3600.0},{"current":2710.058,"min":1200.0,"max":3600.0},{"current":2691.73,"min":1200.0,"max":3600.0},{"current":2713.128,"min":1200.0,"max":3600.0},{"current":2780.056,"min":1200.0,"max":3600.0},{"current":2741.747,"min":1200.0,"max":3600.0},{"current":2702.75,"min":1200.0,"max":3600.0},{"current":2664.383,"min":1200.0,"max":3600.0},{"current":2779.872,"min":1200.0,"max":3600.0},{"current":2698.827,"min":1200.0,"max":3600.0},{"current":2711.773,"min":1200.0,"max":3600.0},{"current":2698.015,"min":1200.0,"max":3600.0},{"current":2697.187,"min":1200.0,"max":3600.0},{"current":2654.544,"min":1200.0,"max":3600.0},{"current":2820.349,"min":1200.0,"max":3600.0},{"current":2703.2,"min":1200.0,"max":3600.0},{"current":2845.069,"min":1200.0,"max":3600.0},{"current":2683.773,"min":1200.0,"max":3600.0},{"current":2777.048,"min":1200.0,"max":3600.0},{"current":2779.606,"min":1200.0,"max":3600.0},{"current":2694.681,"min":1200.0,"max":3600.0},{"current":2695.882,"min":1200.0,"max":3600.0},{"current":2695.211,"min":1200.0,"max":3600.0},{"current":2691.185,"min":1200.0,"max":3600.0},{"current":2692.386,"min":1200.0,"max":3600.0},{"current":2695.5,"min":1200.0,"max":3600.0},{"current":2694.993,"min":1200.0,"max":3600.0},{"current":2698.639,"min":1200.0,"max":3600.0},{"current":2781.694,"min":1200.0,"max":3600.0},{"current":2767.185,"min":1200.0,"max":3600.0},{"current":2732.006,"min":1200.0,"max":3600.0},{"current":2696.772,"min":1200.0,"max":3600.0},{"current":2695.314,"min":1200.0,"max":3600.0},{"current":2696.521,"min":1200.0,"max":3600.0},{"current":2731.751,"min":1200.0,"max":3600.0},{"current":2694.037,"min":1200.0,"max":3600.0},{"current":2699.87,"min":1200.0,"max":3600.0},{"current":2695.812,"min":1200.0,"max":3600.0},{"current":2696.114,"min":1200.0,"max":3600.0},{"current":2817.513,"min":1200.0,"max":3600.0},{"current":2707.534,"min":1200.0,"max":3600.0},{"current":2707.327,"min":1200.0,"max":3600.0},{"current":2834.397,"min":1200.0,"max":3600.0},{"current":2706.874,"min":1200.0,"max":3600.0},{"current":2721.575,"min":1200.0,"max":3600.0},{"current":2707.586,"min":1200.0,"max":3600.0},{"current":2697.175,"min":1200.0,"max":3600.0},{"current":2809.893,"min":1200.0,"max":3600.0},{"current":2805.8,"min":1200.0,"max":3600.0},{"current":2696.697,"min":1200.0,"max":3600.0},{"current":2694.371,"min":1200.0,"max":3600.0},{"current":2709.67,"min":1200.0,"max":3600.0},{"current":2695.373,"min":1200.0,"max":3600.0},{"current":2817.604,"min":1200.0,"max":3600.0},{"current":2693.008,"min":1200.0,"max":3600.0},{"current":2694.152,"min":1200.0,"max":3600.0},{"current":2694.139,"min":1200.0,"max":3600.0},{"current":2818.089,"min":1200.0,"max":3600.0},{"current":2693.465,"min":1200.0,"max":3600.0},{"current":2625.495,"min":1200.0,"max":3600.0},{"current":2695.601,"min":1200.0,"max":3600.0},{"current":2694.69,"min":1200.0,"max":3600.0},{"current":2693.948,"min":1200.0,"max":3600.0},{"current":2633.127,"min":1200.0,"max":3600.0},{"current":2758.14,"min":1200.0,"max":3600.0},{"current":2697.69,"min":1200.0,"max":3600.0},{"current":2693.457,"min":1200.0,"max":3600.0},{"current":2694.114,"min":1200.0,"max":3600.0},{"current":2629.429,"min":1200.0,"max":3600.0},{"current":2690.847,"min":1200.0,"max":3600.0},{"current":2697.324,"min":1200.0,"max":3600.0},{"current":2695.865,"min":1200.0,"max":3600.0},{"current":2697.074,"min":1200.0,"max":3600.0},{"current":2696.43,"min":1200.0,"max":3600.0},{"current":2691.978,"min":1200.0,"max":3600.0},{"current":2793.449,"min":1200.0,"max":3600.0},{"current":2804.464,"min":1200.0,"max":3600.0},{"current":2693.461,"min":1200.0,"max":3600.0}],"disk_write_speed":71.47371619913717,"process_ids":[2113736,2113939]}
+{"timestamp":1678267350.452241,"rapl_power_draw_absolute":166.6237150814162,"rapl_estimated_attributable_power_draw":8.4374930941225,"cpu_time_seconds":{"2113736":{"user":341.89,"system":70.65,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":5.62,"system":8.08,"children_user":2.34,"children_system":80.74,"iowait":8.36}},"average_relative_cpu_utilization":0.05737746483267024,"absolute_cpu_utilization":1.0036963387915858,"relative_mem_usage":0.018206408736973562,"absolute_mem_usage":3729677312.0,"absolute_mem_percent_usage":0.006894947823552391,"mem_info_per_process":{"2113736":{"rss":3664277504,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3268866048,"pss":3432602624,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":473.31,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.16333333333333333,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.333333333333333,"mem":3.3333333333333335,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":17.5,"mem":10.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":16.333333333333332,"mem":10.666666666666666,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.231,0.227875,0.22087500000000002],"cpu_freq":[{"current":2694.229,"min":1200.0,"max":3600.0},{"current":2688.486,"min":1200.0,"max":3600.0},{"current":2697.147,"min":1200.0,"max":3600.0},{"current":2695.422,"min":1200.0,"max":3600.0},{"current":2622.767,"min":1200.0,"max":3600.0},{"current":2701.644,"min":1200.0,"max":3600.0},{"current":2700.947,"min":1200.0,"max":3600.0},{"current":2732.579,"min":1200.0,"max":3600.0},{"current":2759.549,"min":1200.0,"max":3600.0},{"current":2697.281,"min":1200.0,"max":3600.0},{"current":2693.51,"min":1200.0,"max":3600.0},{"current":2712.105,"min":1200.0,"max":3600.0},{"current":2706.571,"min":1200.0,"max":3600.0},{"current":2708.187,"min":1200.0,"max":3600.0},{"current":2700.745,"min":1200.0,"max":3600.0},{"current":2633.198,"min":1200.0,"max":3600.0},{"current":2836.029,"min":1200.0,"max":3600.0},{"current":2694.073,"min":1200.0,"max":3600.0},{"current":2817.423,"min":1200.0,"max":3600.0},{"current":2694.285,"min":1200.0,"max":3600.0},{"current":2696.757,"min":1200.0,"max":3600.0},{"current":2693.612,"min":1200.0,"max":3600.0},{"current":2694.103,"min":1200.0,"max":3600.0},{"current":2696.233,"min":1200.0,"max":3600.0},{"current":2694.301,"min":1200.0,"max":3600.0},{"current":2691.522,"min":1200.0,"max":3600.0},{"current":2691.363,"min":1200.0,"max":3600.0},{"current":2704.525,"min":1200.0,"max":3600.0},{"current":2694.923,"min":1200.0,"max":3600.0},{"current":2699.418,"min":1200.0,"max":3600.0},{"current":2676.491,"min":1200.0,"max":3600.0},{"current":2685.725,"min":1200.0,"max":3600.0},{"current":2695.402,"min":1200.0,"max":3600.0},{"current":2696.185,"min":1200.0,"max":3600.0},{"current":2695.57,"min":1200.0,"max":3600.0},{"current":2699.347,"min":1200.0,"max":3600.0},{"current":2690.259,"min":1200.0,"max":3600.0},{"current":2692.152,"min":1200.0,"max":3600.0},{"current":2695.603,"min":1200.0,"max":3600.0},{"current":2698.056,"min":1200.0,"max":3600.0},{"current":2694.428,"min":1200.0,"max":3600.0},{"current":2719.85,"min":1200.0,"max":3600.0},{"current":2694.298,"min":1200.0,"max":3600.0},{"current":2696.401,"min":1200.0,"max":3600.0},{"current":2748.556,"min":1200.0,"max":3600.0},{"current":2695.641,"min":1200.0,"max":3600.0},{"current":2694.688,"min":1200.0,"max":3600.0},{"current":2694.079,"min":1200.0,"max":3600.0},{"current":2699.675,"min":1200.0,"max":3600.0},{"current":2762.895,"min":1200.0,"max":3600.0},{"current":2738.748,"min":1200.0,"max":3600.0},{"current":2695.416,"min":1200.0,"max":3600.0},{"current":2694.494,"min":1200.0,"max":3600.0},{"current":2693.921,"min":1200.0,"max":3600.0},{"current":2694.415,"min":1200.0,"max":3600.0},{"current":2748.026,"min":1200.0,"max":3600.0},{"current":2695.617,"min":1200.0,"max":3600.0},{"current":2694.522,"min":1200.0,"max":3600.0},{"current":2691.46,"min":1200.0,"max":3600.0},{"current":2738.892,"min":1200.0,"max":3600.0},{"current":2687.81,"min":1200.0,"max":3600.0},{"current":2694.881,"min":1200.0,"max":3600.0},{"current":2591.776,"min":1200.0,"max":3600.0},{"current":2695.843,"min":1200.0,"max":3600.0},{"current":2694.144,"min":1200.0,"max":3600.0},{"current":2695.633,"min":1200.0,"max":3600.0},{"current":2721.224,"min":1200.0,"max":3600.0},{"current":2694.561,"min":1200.0,"max":3600.0},{"current":2697.074,"min":1200.0,"max":3600.0},{"current":2693.965,"min":1200.0,"max":3600.0},{"current":2695.227,"min":1200.0,"max":3600.0},{"current":2691.643,"min":1200.0,"max":3600.0},{"current":2693.695,"min":1200.0,"max":3600.0},{"current":2697.93,"min":1200.0,"max":3600.0},{"current":2695.137,"min":1200.0,"max":3600.0},{"current":2696.96,"min":1200.0,"max":3600.0},{"current":2763.943,"min":1200.0,"max":3600.0},{"current":2755.109,"min":1200.0,"max":3600.0},{"current":2693.759,"min":1200.0,"max":3600.0},{"current":2697.031,"min":1200.0,"max":3600.0}],"disk_write_speed":70.90016359234515,"process_ids":[2113736,2113939]}
+{"timestamp":1678267365.952241,"rapl_power_draw_absolute":166.21176481739604,"rapl_estimated_attributable_power_draw":8.513621121414786,"cpu_time_seconds":{"2113736":{"user":354.93,"system":73.1,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":5.83,"system":8.43,"children_user":2.45,"children_system":83.87,"iowait":8.7}},"average_relative_cpu_utilization":0.05823791935519643,"absolute_cpu_utilization":0.9987051618061781,"relative_mem_usage":0.017144445156801486,"absolute_mem_usage":3517089792.0,"absolute_mem_percent_usage":0.006501943352730653,"mem_info_per_process":{"2113736":{"rss":3467472896,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3056279552,"pss":3220015104,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":478.4,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.23600000000000002,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":24.666666666666668,"mem":15.666666666666666,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":8.666666666666666,"mem":5.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":23.6,"mem":15.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23337500000000003,0.228625,0.22112500000000002],"cpu_freq":[{"current":2695.01,"min":1200.0,"max":3600.0},{"current":2691.597,"min":1200.0,"max":3600.0},{"current":2711.509,"min":1200.0,"max":3600.0},{"current":2701.694,"min":1200.0,"max":3600.0},{"current":2694.137,"min":1200.0,"max":3600.0},{"current":2740.312,"min":1200.0,"max":3600.0},{"current":2766.031,"min":1200.0,"max":3600.0},{"current":2696.127,"min":1200.0,"max":3600.0},{"current":2698.331,"min":1200.0,"max":3600.0},{"current":2694.246,"min":1200.0,"max":3600.0},{"current":2629.116,"min":1200.0,"max":3600.0},{"current":2712.839,"min":1200.0,"max":3600.0},{"current":2778.96,"min":1200.0,"max":3600.0},{"current":2742.079,"min":1200.0,"max":3600.0},{"current":2709.011,"min":1200.0,"max":3600.0},{"current":2694.918,"min":1200.0,"max":3600.0},{"current":2842.366,"min":1200.0,"max":3600.0},{"current":2734.874,"min":1200.0,"max":3600.0},{"current":2839.461,"min":1200.0,"max":3600.0},{"current":2674.914,"min":1200.0,"max":3600.0},{"current":2726.401,"min":1200.0,"max":3600.0},{"current":2695.909,"min":1200.0,"max":3600.0},{"current":2686.403,"min":1200.0,"max":3600.0},{"current":2699.432,"min":1200.0,"max":3600.0},{"current":2698.339,"min":1200.0,"max":3600.0},{"current":2745.025,"min":1200.0,"max":3600.0},{"current":2655.136,"min":1200.0,"max":3600.0},{"current":2697.429,"min":1200.0,"max":3600.0},{"current":2697.946,"min":1200.0,"max":3600.0},{"current":2697.533,"min":1200.0,"max":3600.0},{"current":2771.83,"min":1200.0,"max":3600.0},{"current":2862.365,"min":1200.0,"max":3600.0},{"current":2701.575,"min":1200.0,"max":3600.0},{"current":2696.616,"min":1200.0,"max":3600.0},{"current":2695.389,"min":1200.0,"max":3600.0},{"current":2697.112,"min":1200.0,"max":3600.0},{"current":2682.276,"min":1200.0,"max":3600.0},{"current":2694.106,"min":1200.0,"max":3600.0},{"current":2698.097,"min":1200.0,"max":3600.0},{"current":2695.513,"min":1200.0,"max":3600.0},{"current":2727.001,"min":1200.0,"max":3600.0},{"current":2800.276,"min":1200.0,"max":3600.0},{"current":2698.656,"min":1200.0,"max":3600.0},{"current":2694.448,"min":1200.0,"max":3600.0},{"current":2707.713,"min":1200.0,"max":3600.0},{"current":2694.296,"min":1200.0,"max":3600.0},{"current":2693.764,"min":1200.0,"max":3600.0},{"current":2697.99,"min":1200.0,"max":3600.0},{"current":2692.38,"min":1200.0,"max":3600.0},{"current":2695.11,"min":1200.0,"max":3600.0},{"current":2690.387,"min":1200.0,"max":3600.0},{"current":2694.788,"min":1200.0,"max":3600.0},{"current":2694.052,"min":1200.0,"max":3600.0},{"current":2697.999,"min":1200.0,"max":3600.0},{"current":2694.453,"min":1200.0,"max":3600.0},{"current":2763.581,"min":1200.0,"max":3600.0},{"current":2691.395,"min":1200.0,"max":3600.0},{"current":2703.551,"min":1200.0,"max":3600.0},{"current":2631.278,"min":1200.0,"max":3600.0},{"current":2869.918,"min":1200.0,"max":3600.0},{"current":2865.612,"min":1200.0,"max":3600.0},{"current":2695.835,"min":1200.0,"max":3600.0},{"current":2694.069,"min":1200.0,"max":3600.0},{"current":2694.019,"min":1200.0,"max":3600.0},{"current":2694.433,"min":1200.0,"max":3600.0},{"current":2669.03,"min":1200.0,"max":3600.0},{"current":2707.427,"min":1200.0,"max":3600.0},{"current":2695.351,"min":1200.0,"max":3600.0},{"current":2696.354,"min":1200.0,"max":3600.0},{"current":2694.581,"min":1200.0,"max":3600.0},{"current":2715.777,"min":1200.0,"max":3600.0},{"current":2693.695,"min":1200.0,"max":3600.0},{"current":2694.917,"min":1200.0,"max":3600.0},{"current":2697.627,"min":1200.0,"max":3600.0},{"current":2697.883,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2693.937,"min":1200.0,"max":3600.0},{"current":2677.864,"min":1200.0,"max":3600.0},{"current":2702.817,"min":1200.0,"max":3600.0},{"current":2694.714,"min":1200.0,"max":3600.0}],"disk_write_speed":71.58750561814799,"process_ids":[2113736,2113939]}
+{"timestamp":1678267381.844207,"rapl_power_draw_absolute":166.6414317389927,"rapl_estimated_attributable_power_draw":8.483941759161896,"cpu_time_seconds":{"2113736":{"user":368.32,"system":75.62,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":6.05,"system":8.72,"children_user":2.55,"children_system":87.02,"iowait":9.04}},"average_relative_cpu_utilization":0.05802510351317832,"absolute_cpu_utilization":1.003708052678362,"relative_mem_usage":0.01713605394491362,"absolute_mem_usage":3505573888.0,"absolute_mem_percent_usage":0.006480654230219821,"mem_info_per_process":{"2113736":{"rss":3443093504,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3044761600,"pss":3208499200,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":463.6,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.23399999999999999,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":7.666666666666667,"mem":4.666666666666667,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.0,"mem":3.3333333333333335,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":23.4,"mem":15.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.23424999999999999,0.229,0.22149999999999997],"cpu_freq":[{"current":2694.155,"min":1200.0,"max":3600.0},{"current":2660.112,"min":1200.0,"max":3600.0},{"current":2699.036,"min":1200.0,"max":3600.0},{"current":2694.551,"min":1200.0,"max":3600.0},{"current":2682.431,"min":1200.0,"max":3600.0},{"current":2747.744,"min":1200.0,"max":3600.0},{"current":2695.865,"min":1200.0,"max":3600.0},{"current":2696.498,"min":1200.0,"max":3600.0},{"current":2698.018,"min":1200.0,"max":3600.0},{"current":2687.487,"min":1200.0,"max":3600.0},{"current":2623.172,"min":1200.0,"max":3600.0},{"current":2710.496,"min":1200.0,"max":3600.0},{"current":2710.04,"min":1200.0,"max":3600.0},{"current":2707.992,"min":1200.0,"max":3600.0},{"current":2722.59,"min":1200.0,"max":3600.0},{"current":2695.262,"min":1200.0,"max":3600.0},{"current":2798.871,"min":1200.0,"max":3600.0},{"current":2712.14,"min":1200.0,"max":3600.0},{"current":2847.43,"min":1200.0,"max":3600.0},{"current":2694.691,"min":1200.0,"max":3600.0},{"current":2698.966,"min":1200.0,"max":3600.0},{"current":2690.42,"min":1200.0,"max":3600.0},{"current":2686.961,"min":1200.0,"max":3600.0},{"current":2702.378,"min":1200.0,"max":3600.0},{"current":2700.445,"min":1200.0,"max":3600.0},{"current":2695.868,"min":1200.0,"max":3600.0},{"current":2695.802,"min":1200.0,"max":3600.0},{"current":2693.817,"min":1200.0,"max":3600.0},{"current":2697.517,"min":1200.0,"max":3600.0},{"current":2695.93,"min":1200.0,"max":3600.0},{"current":2686.015,"min":1200.0,"max":3600.0},{"current":2681.093,"min":1200.0,"max":3600.0},{"current":2697.041,"min":1200.0,"max":3600.0},{"current":2701.996,"min":1200.0,"max":3600.0},{"current":2694.973,"min":1200.0,"max":3600.0},{"current":2693.694,"min":1200.0,"max":3600.0},{"current":2674.416,"min":1200.0,"max":3600.0},{"current":2696.666,"min":1200.0,"max":3600.0},{"current":2697.157,"min":1200.0,"max":3600.0},{"current":2695.622,"min":1200.0,"max":3600.0},{"current":2706.623,"min":1200.0,"max":3600.0},{"current":2817.209,"min":1200.0,"max":3600.0},{"current":2709.931,"min":1200.0,"max":3600.0},{"current":2705.315,"min":1200.0,"max":3600.0},{"current":2791.068,"min":1200.0,"max":3600.0},{"current":2694.398,"min":1200.0,"max":3600.0},{"current":2737.35,"min":1200.0,"max":3600.0},{"current":2695.847,"min":1200.0,"max":3600.0},{"current":2696.723,"min":1200.0,"max":3600.0},{"current":2834.872,"min":1200.0,"max":3600.0},{"current":2835.289,"min":1200.0,"max":3600.0},{"current":2775.072,"min":1200.0,"max":3600.0},{"current":2707.725,"min":1200.0,"max":3600.0},{"current":2707.829,"min":1200.0,"max":3600.0},{"current":2710.099,"min":1200.0,"max":3600.0},{"current":2847.583,"min":1200.0,"max":3600.0},{"current":2779.833,"min":1200.0,"max":3600.0},{"current":2694.172,"min":1200.0,"max":3600.0},{"current":2660.294,"min":1200.0,"max":3600.0},{"current":2824.426,"min":1200.0,"max":3600.0},{"current":2693.691,"min":1200.0,"max":3600.0},{"current":2695.372,"min":1200.0,"max":3600.0},{"current":2713.453,"min":1200.0,"max":3600.0},{"current":2694.024,"min":1200.0,"max":3600.0},{"current":2694.425,"min":1200.0,"max":3600.0},{"current":2694.497,"min":1200.0,"max":3600.0},{"current":2732.851,"min":1200.0,"max":3600.0},{"current":2698.083,"min":1200.0,"max":3600.0},{"current":2694.096,"min":1200.0,"max":3600.0},{"current":2695.537,"min":1200.0,"max":3600.0},{"current":2653.298,"min":1200.0,"max":3600.0},{"current":2695.349,"min":1200.0,"max":3600.0},{"current":2694.006,"min":1200.0,"max":3600.0},{"current":2694.888,"min":1200.0,"max":3600.0},{"current":2696.816,"min":1200.0,"max":3600.0},{"current":2696.21,"min":1200.0,"max":3600.0},{"current":2658.916,"min":1200.0,"max":3600.0},{"current":2722.599,"min":1200.0,"max":3600.0},{"current":2781.713,"min":1200.0,"max":3600.0},{"current":2755.945,"min":1200.0,"max":3600.0}],"disk_write_speed":71.50201112059241,"process_ids":[2113736,2113939]}
+{"timestamp":1678267397.652219,"rapl_power_draw_absolute":166.2074263911325,"rapl_estimated_attributable_power_draw":8.584763807184974,"cpu_time_seconds":{"2113736":{"user":381.5,"system":78.25,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":6.26,"system":9.06,"children_user":2.61,"children_system":90.19,"iowait":9.38}},"average_relative_cpu_utilization":0.05887222604738273,"absolute_cpu_utilization":1.003697439918001,"relative_mem_usage":0.016673961632380326,"absolute_mem_usage":3414843392.0,"absolute_mem_percent_usage":0.006312923356046805,"mem_info_per_process":{"2113736":{"rss":3367452672,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":2954031104,"pss":3117768704,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":667.48,"nvidia_estimated_attributable_power_draw":261.37,"average_gpu_estimated_utilization_absolute":0.2825,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":17.666666666666668,"mem":12.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":28.25,"mem":18.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":261.37},"cpu_count_adjusted_average_load":[0.2375,0.22999999999999998,0.221875],"cpu_freq":[{"current":2696.505,"min":1200.0,"max":3600.0},{"current":2697.817,"min":1200.0,"max":3600.0},{"current":2764.232,"min":1200.0,"max":3600.0},{"current":2705.454,"min":1200.0,"max":3600.0},{"current":2622.47,"min":1200.0,"max":3600.0},{"current":2707.639,"min":1200.0,"max":3600.0},{"current":2709.468,"min":1200.0,"max":3600.0},{"current":2694.085,"min":1200.0,"max":3600.0},{"current":2695.599,"min":1200.0,"max":3600.0},{"current":2676.221,"min":1200.0,"max":3600.0},{"current":2763.888,"min":1200.0,"max":3600.0},{"current":2695.302,"min":1200.0,"max":3600.0},{"current":2695.31,"min":1200.0,"max":3600.0},{"current":2696.674,"min":1200.0,"max":3600.0},{"current":2702.648,"min":1200.0,"max":3600.0},{"current":2650.162,"min":1200.0,"max":3600.0},{"current":2764.845,"min":1200.0,"max":3600.0},{"current":2694.068,"min":1200.0,"max":3600.0},{"current":2729.855,"min":1200.0,"max":3600.0},{"current":2691.068,"min":1200.0,"max":3600.0},{"current":2697.11,"min":1200.0,"max":3600.0},{"current":2757.33,"min":1200.0,"max":3600.0},{"current":2779.981,"min":1200.0,"max":3600.0},{"current":2695.974,"min":1200.0,"max":3600.0},{"current":2695.777,"min":1200.0,"max":3600.0},{"current":2696.581,"min":1200.0,"max":3600.0},{"current":2695.962,"min":1200.0,"max":3600.0},{"current":2693.822,"min":1200.0,"max":3600.0},{"current":2695.201,"min":1200.0,"max":3600.0},{"current":2695.317,"min":1200.0,"max":3600.0},{"current":2760.019,"min":1200.0,"max":3600.0},{"current":2772.532,"min":1200.0,"max":3600.0},{"current":2696.772,"min":1200.0,"max":3600.0},{"current":2696.719,"min":1200.0,"max":3600.0},{"current":2694.952,"min":1200.0,"max":3600.0},{"current":2697.273,"min":1200.0,"max":3600.0},{"current":2744.057,"min":1200.0,"max":3600.0},{"current":2696.563,"min":1200.0,"max":3600.0},{"current":2701.61,"min":1200.0,"max":3600.0},{"current":2693.74,"min":1200.0,"max":3600.0},{"current":2748.958,"min":1200.0,"max":3600.0},{"current":2840.812,"min":1200.0,"max":3600.0},{"current":2707.358,"min":1200.0,"max":3600.0},{"current":2718.951,"min":1200.0,"max":3600.0},{"current":2843.139,"min":1200.0,"max":3600.0},{"current":2693.768,"min":1200.0,"max":3600.0},{"current":2709.75,"min":1200.0,"max":3600.0},{"current":2707.53,"min":1200.0,"max":3600.0},{"current":2699.022,"min":1200.0,"max":3600.0},{"current":2840.191,"min":1200.0,"max":3600.0},{"current":2850.058,"min":1200.0,"max":3600.0},{"current":2695.911,"min":1200.0,"max":3600.0},{"current":2697.648,"min":1200.0,"max":3600.0},{"current":2707.869,"min":1200.0,"max":3600.0},{"current":2710.071,"min":1200.0,"max":3600.0},{"current":2820.407,"min":1200.0,"max":3600.0},{"current":2636.117,"min":1200.0,"max":3600.0},{"current":2695.253,"min":1200.0,"max":3600.0},{"current":2695.508,"min":1200.0,"max":3600.0},{"current":2838.578,"min":1200.0,"max":3600.0},{"current":2723.246,"min":1200.0,"max":3600.0},{"current":2693.737,"min":1200.0,"max":3600.0},{"current":2630.188,"min":1200.0,"max":3600.0},{"current":2694.104,"min":1200.0,"max":3600.0},{"current":2694.743,"min":1200.0,"max":3600.0},{"current":2695.477,"min":1200.0,"max":3600.0},{"current":2774.847,"min":1200.0,"max":3600.0},{"current":2695.732,"min":1200.0,"max":3600.0},{"current":2695.453,"min":1200.0,"max":3600.0},{"current":2694.249,"min":1200.0,"max":3600.0},{"current":2692.148,"min":1200.0,"max":3600.0},{"current":2692.421,"min":1200.0,"max":3600.0},{"current":2694.351,"min":1200.0,"max":3600.0},{"current":2694.726,"min":1200.0,"max":3600.0},{"current":2697.978,"min":1200.0,"max":3600.0},{"current":2696.478,"min":1200.0,"max":3600.0},{"current":2626.279,"min":1200.0,"max":3600.0},{"current":2771.378,"min":1200.0,"max":3600.0},{"current":2773.308,"min":1200.0,"max":3600.0},{"current":2773.102,"min":1200.0,"max":3600.0}],"disk_write_speed":72.06142361818915,"process_ids":[2113736,2113939]}
+{"timestamp":1678267413.180226,"rapl_power_draw_absolute":167.4960377091154,"rapl_estimated_attributable_power_draw":8.307376776555223,"cpu_time_seconds":{"2113736":{"user":394.44,"system":80.84,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":6.47,"system":9.35,"children_user":2.69,"children_system":93.34,"iowait":9.72}},"average_relative_cpu_utilization":0.05649460726611772,"absolute_cpu_utilization":0.9987333123583465,"relative_mem_usage":0.016525577499400843,"absolute_mem_usage":3388928000.0,"absolute_mem_percent_usage":0.006265014311719565,"mem_info_per_process":{"2113736":{"rss":3425103872,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":2928115712,"pss":3091853312,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":640.99,"nvidia_estimated_attributable_power_draw":232.44,"average_gpu_estimated_utilization_absolute":0.25,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":23.666666666666668,"mem":15.333333333333334,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":11.0,"mem":6.333333333333333,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.0,"mem":16.5,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":232.44},"cpu_count_adjusted_average_load":[0.233,0.22949999999999998,0.221875],"cpu_freq":[{"current":2699.234,"min":1200.0,"max":3600.0},{"current":2693.182,"min":1200.0,"max":3600.0},{"current":2710.091,"min":1200.0,"max":3600.0},{"current":2707.801,"min":1200.0,"max":3600.0},{"current":2781.08,"min":1200.0,"max":3600.0},{"current":2695.122,"min":1200.0,"max":3600.0},{"current":2726.704,"min":1200.0,"max":3600.0},{"current":2708.317,"min":1200.0,"max":3600.0},{"current":2719.644,"min":1200.0,"max":3600.0},{"current":2697.254,"min":1200.0,"max":3600.0},{"current":2695.024,"min":1200.0,"max":3600.0},{"current":2699.382,"min":1200.0,"max":3600.0},{"current":2708.362,"min":1200.0,"max":3600.0},{"current":2696.707,"min":1200.0,"max":3600.0},{"current":2696.141,"min":1200.0,"max":3600.0},{"current":2695.175,"min":1200.0,"max":3600.0},{"current":2790.605,"min":1200.0,"max":3600.0},{"current":2697.108,"min":1200.0,"max":3600.0},{"current":2743.153,"min":1200.0,"max":3600.0},{"current":2637.861,"min":1200.0,"max":3600.0},{"current":2695.805,"min":1200.0,"max":3600.0},{"current":2773.222,"min":1200.0,"max":3600.0},{"current":2769.272,"min":1200.0,"max":3600.0},{"current":2694.029,"min":1200.0,"max":3600.0},{"current":2697.019,"min":1200.0,"max":3600.0},{"current":2697.165,"min":1200.0,"max":3600.0},{"current":2692.429,"min":1200.0,"max":3600.0},{"current":2699.708,"min":1200.0,"max":3600.0},{"current":2696.948,"min":1200.0,"max":3600.0},{"current":2698.511,"min":1200.0,"max":3600.0},{"current":2776.852,"min":1200.0,"max":3600.0},{"current":2735.434,"min":1200.0,"max":3600.0},{"current":2695.159,"min":1200.0,"max":3600.0},{"current":2694.425,"min":1200.0,"max":3600.0},{"current":2694.435,"min":1200.0,"max":3600.0},{"current":2693.794,"min":1200.0,"max":3600.0},{"current":2686.466,"min":1200.0,"max":3600.0},{"current":2655.347,"min":1200.0,"max":3600.0},{"current":2697.802,"min":1200.0,"max":3600.0},{"current":2693.658,"min":1200.0,"max":3600.0},{"current":2698.152,"min":1200.0,"max":3600.0},{"current":2808.144,"min":1200.0,"max":3600.0},{"current":2696.601,"min":1200.0,"max":3600.0},{"current":2705.883,"min":1200.0,"max":3600.0},{"current":2765.917,"min":1200.0,"max":3600.0},{"current":2695.239,"min":1200.0,"max":3600.0},{"current":2704.065,"min":1200.0,"max":3600.0},{"current":2693.662,"min":1200.0,"max":3600.0},{"current":2711.924,"min":1200.0,"max":3600.0},{"current":2844.071,"min":1200.0,"max":3600.0},{"current":2821.81,"min":1200.0,"max":3600.0},{"current":2742.394,"min":1200.0,"max":3600.0},{"current":2707.778,"min":1200.0,"max":3600.0},{"current":2706.685,"min":1200.0,"max":3600.0},{"current":2700.275,"min":1200.0,"max":3600.0},{"current":2820.094,"min":1200.0,"max":3600.0},{"current":2709.381,"min":1200.0,"max":3600.0},{"current":2698.508,"min":1200.0,"max":3600.0},{"current":2729.709,"min":1200.0,"max":3600.0},{"current":2835.592,"min":1200.0,"max":3600.0},{"current":2694.172,"min":1200.0,"max":3600.0},{"current":2695.773,"min":1200.0,"max":3600.0},{"current":2691.81,"min":1200.0,"max":3600.0},{"current":2693.847,"min":1200.0,"max":3600.0},{"current":2693.633,"min":1200.0,"max":3600.0},{"current":2697.01,"min":1200.0,"max":3600.0},{"current":2683.883,"min":1200.0,"max":3600.0},{"current":2694.354,"min":1200.0,"max":3600.0},{"current":2695.926,"min":1200.0,"max":3600.0},{"current":2695.709,"min":1200.0,"max":3600.0},{"current":2696.01,"min":1200.0,"max":3600.0},{"current":2692.36,"min":1200.0,"max":3600.0},{"current":2695.088,"min":1200.0,"max":3600.0},{"current":2697.188,"min":1200.0,"max":3600.0},{"current":2696.943,"min":1200.0,"max":3600.0},{"current":2696.786,"min":1200.0,"max":3600.0},{"current":2697.591,"min":1200.0,"max":3600.0},{"current":2681.114,"min":1200.0,"max":3600.0},{"current":2694.002,"min":1200.0,"max":3600.0},{"current":2684.009,"min":1200.0,"max":3600.0}],"disk_write_speed":71.57593394315543,"process_ids":[2113736,2113939]}
+{"timestamp":1678267428.884205,"rapl_power_draw_absolute":167.6541201412158,"rapl_estimated_attributable_power_draw":8.356828758468197,"cpu_time_seconds":{"2113736":{"user":407.67,"system":83.33,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":6.69,"system":9.64,"children_user":2.82,"children_system":96.46,"iowait":10.06}},"average_relative_cpu_utilization":0.056315381761670294,"absolute_cpu_utilization":1.004036584612774,"relative_mem_usage":0.019172025822203672,"absolute_mem_usage":3932141568.0,"absolute_mem_percent_usage":0.00726923770561883,"mem_info_per_process":{"2113736":{"rss":3879198720,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3471331328,"pss":3635066880,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":464.23,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.196,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":12.666666666666666,"mem":8.666666666666666,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":14.0,"mem":8.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":21.333333333333332,"mem":12.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":19.6,"mem":11.8,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.2375,0.23075,0.222375],"cpu_freq":[{"current":2695.141,"min":1200.0,"max":3600.0},{"current":2697.219,"min":1200.0,"max":3600.0},{"current":2715.116,"min":1200.0,"max":3600.0},{"current":2710.322,"min":1200.0,"max":3600.0},{"current":2709.753,"min":1200.0,"max":3600.0},{"current":2694.374,"min":1200.0,"max":3600.0},{"current":2776.757,"min":1200.0,"max":3600.0},{"current":2710.198,"min":1200.0,"max":3600.0},{"current":2707.948,"min":1200.0,"max":3600.0},{"current":2643.506,"min":1200.0,"max":3600.0},{"current":2625.108,"min":1200.0,"max":3600.0},{"current":2742.398,"min":1200.0,"max":3600.0},{"current":2707.483,"min":1200.0,"max":3600.0},{"current":2708.341,"min":1200.0,"max":3600.0},{"current":2711.371,"min":1200.0,"max":3600.0},{"current":2692.06,"min":1200.0,"max":3600.0},{"current":2723.4,"min":1200.0,"max":3600.0},{"current":2809.744,"min":1200.0,"max":3600.0},{"current":2829.689,"min":1200.0,"max":3600.0},{"current":2695.711,"min":1200.0,"max":3600.0},{"current":2786.014,"min":1200.0,"max":3600.0},{"current":2694.733,"min":1200.0,"max":3600.0},{"current":2771.542,"min":1200.0,"max":3600.0},{"current":2701.117,"min":1200.0,"max":3600.0},{"current":2719.043,"min":1200.0,"max":3600.0},{"current":2697.481,"min":1200.0,"max":3600.0},{"current":2692.213,"min":1200.0,"max":3600.0},{"current":2696.348,"min":1200.0,"max":3600.0},{"current":2697.041,"min":1200.0,"max":3600.0},{"current":2697.145,"min":1200.0,"max":3600.0},{"current":2774.193,"min":1200.0,"max":3600.0},{"current":2749.855,"min":1200.0,"max":3600.0},{"current":2695.138,"min":1200.0,"max":3600.0},{"current":2698.62,"min":1200.0,"max":3600.0},{"current":2696.787,"min":1200.0,"max":3600.0},{"current":2695.3,"min":1200.0,"max":3600.0},{"current":2778.442,"min":1200.0,"max":3600.0},{"current":2693.388,"min":1200.0,"max":3600.0},{"current":2701.273,"min":1200.0,"max":3600.0},{"current":2680.457,"min":1200.0,"max":3600.0},{"current":2695.82,"min":1200.0,"max":3600.0},{"current":2706.895,"min":1200.0,"max":3600.0},{"current":2695.178,"min":1200.0,"max":3600.0},{"current":2694.063,"min":1200.0,"max":3600.0},{"current":2694.245,"min":1200.0,"max":3600.0},{"current":2723.056,"min":1200.0,"max":3600.0},{"current":2693.882,"min":1200.0,"max":3600.0},{"current":2694.473,"min":1200.0,"max":3600.0},{"current":2774.203,"min":1200.0,"max":3600.0},{"current":2749.226,"min":1200.0,"max":3600.0},{"current":2752.256,"min":1200.0,"max":3600.0},{"current":2694.054,"min":1200.0,"max":3600.0},{"current":2694.812,"min":1200.0,"max":3600.0},{"current":2694.497,"min":1200.0,"max":3600.0},{"current":2693.732,"min":1200.0,"max":3600.0},{"current":2827.01,"min":1200.0,"max":3600.0},{"current":2702.392,"min":1200.0,"max":3600.0},{"current":2690.282,"min":1200.0,"max":3600.0},{"current":2694.31,"min":1200.0,"max":3600.0},{"current":2804.482,"min":1200.0,"max":3600.0},{"current":2694.876,"min":1200.0,"max":3600.0},{"current":2695.089,"min":1200.0,"max":3600.0},{"current":2693.656,"min":1200.0,"max":3600.0},{"current":2708.465,"min":1200.0,"max":3600.0},{"current":2717.642,"min":1200.0,"max":3600.0},{"current":2693.303,"min":1200.0,"max":3600.0},{"current":2767.304,"min":1200.0,"max":3600.0},{"current":2694.005,"min":1200.0,"max":3600.0},{"current":2695.465,"min":1200.0,"max":3600.0},{"current":2693.498,"min":1200.0,"max":3600.0},{"current":2695.201,"min":1200.0,"max":3600.0},{"current":2694.399,"min":1200.0,"max":3600.0},{"current":2695.571,"min":1200.0,"max":3600.0},{"current":2696.255,"min":1200.0,"max":3600.0},{"current":2695.689,"min":1200.0,"max":3600.0},{"current":2695.99,"min":1200.0,"max":3600.0},{"current":2693.958,"min":1200.0,"max":3600.0},{"current":2762.186,"min":1200.0,"max":3600.0},{"current":2694.315,"min":1200.0,"max":3600.0},{"current":2768.567,"min":1200.0,"max":3600.0}],"disk_write_speed":71.31994205414924,"process_ids":[2113736,2113939]}
+{"timestamp":1678267444.756192,"rapl_power_draw_absolute":167.2763211920051,"rapl_estimated_attributable_power_draw":8.498984420714995,"cpu_time_seconds":{"2113736":{"user":421.0,"system":85.87,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":6.89,"system":9.99,"children_user":2.88,"children_system":99.64,"iowait":10.4}},"average_relative_cpu_utilization":0.05745194295405424,"absolute_cpu_utilization":0.9987209540296377,"relative_mem_usage":0.018788807384790333,"absolute_mem_usage":3860291584.0,"absolute_mem_percent_usage":0.007136410694228555,"mem_info_per_process":{"2113736":{"rss":3808124928,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3399479296,"pss":3563216896,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":478.05000000000007,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.215,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":16.333333333333332,"mem":10.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":8.5,"mem":5.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":26.0,"mem":15.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":21.5,"mem":13.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.23475000000000001,0.230375,0.2225],"cpu_freq":[{"current":2695.672,"min":1200.0,"max":3600.0},{"current":2693.824,"min":1200.0,"max":3600.0},{"current":2710.061,"min":1200.0,"max":3600.0},{"current":2722.776,"min":1200.0,"max":3600.0},{"current":2711.955,"min":1200.0,"max":3600.0},{"current":2695.355,"min":1200.0,"max":3600.0},{"current":2712.555,"min":1200.0,"max":3600.0},{"current":2712.532,"min":1200.0,"max":3600.0},{"current":2714.559,"min":1200.0,"max":3600.0},{"current":2696.929,"min":1200.0,"max":3600.0},{"current":2693.485,"min":1200.0,"max":3600.0},{"current":2697.395,"min":1200.0,"max":3600.0},{"current":2708.105,"min":1200.0,"max":3600.0},{"current":2694.906,"min":1200.0,"max":3600.0},{"current":2695.797,"min":1200.0,"max":3600.0},{"current":2694.826,"min":1200.0,"max":3600.0},{"current":2717.954,"min":1200.0,"max":3600.0},{"current":2809.33,"min":1200.0,"max":3600.0},{"current":2759.438,"min":1200.0,"max":3600.0},{"current":2694.696,"min":1200.0,"max":3600.0},{"current":2767.496,"min":1200.0,"max":3600.0},{"current":2696.685,"min":1200.0,"max":3600.0},{"current":2773.535,"min":1200.0,"max":3600.0},{"current":2675.378,"min":1200.0,"max":3600.0},{"current":2696.548,"min":1200.0,"max":3600.0},{"current":2694.765,"min":1200.0,"max":3600.0},{"current":2691.607,"min":1200.0,"max":3600.0},{"current":2697.756,"min":1200.0,"max":3600.0},{"current":2715.181,"min":1200.0,"max":3600.0},{"current":2696.826,"min":1200.0,"max":3600.0},{"current":2777.044,"min":1200.0,"max":3600.0},{"current":2726.038,"min":1200.0,"max":3600.0},{"current":2694.499,"min":1200.0,"max":3600.0},{"current":2694.462,"min":1200.0,"max":3600.0},{"current":2697.148,"min":1200.0,"max":3600.0},{"current":2698.982,"min":1200.0,"max":3600.0},{"current":2712.162,"min":1200.0,"max":3600.0},{"current":2692.142,"min":1200.0,"max":3600.0},{"current":2693.842,"min":1200.0,"max":3600.0},{"current":2693.663,"min":1200.0,"max":3600.0},{"current":2695.482,"min":1200.0,"max":3600.0},{"current":2703.144,"min":1200.0,"max":3600.0},{"current":2706.38,"min":1200.0,"max":3600.0},{"current":2696.194,"min":1200.0,"max":3600.0},{"current":2720.386,"min":1200.0,"max":3600.0},{"current":2759.573,"min":1200.0,"max":3600.0},{"current":2698.186,"min":1200.0,"max":3600.0},{"current":2696.147,"min":1200.0,"max":3600.0},{"current":2718.221,"min":1200.0,"max":3600.0},{"current":2863.879,"min":1200.0,"max":3600.0},{"current":2810.547,"min":1200.0,"max":3600.0},{"current":2709.376,"min":1200.0,"max":3600.0},{"current":2710.327,"min":1200.0,"max":3600.0},{"current":2706.47,"min":1200.0,"max":3600.0},{"current":2695.824,"min":1200.0,"max":3600.0},{"current":2799.579,"min":1200.0,"max":3600.0},{"current":2701.083,"min":1200.0,"max":3600.0},{"current":2691.505,"min":1200.0,"max":3600.0},{"current":2692.497,"min":1200.0,"max":3600.0},{"current":2826.177,"min":1200.0,"max":3600.0},{"current":2696.724,"min":1200.0,"max":3600.0},{"current":2699.768,"min":1200.0,"max":3600.0},{"current":2694.565,"min":1200.0,"max":3600.0},{"current":2673.279,"min":1200.0,"max":3600.0},{"current":2694.892,"min":1200.0,"max":3600.0},{"current":2696.046,"min":1200.0,"max":3600.0},{"current":2681.231,"min":1200.0,"max":3600.0},{"current":2694.921,"min":1200.0,"max":3600.0},{"current":2696.191,"min":1200.0,"max":3600.0},{"current":2695.459,"min":1200.0,"max":3600.0},{"current":2603.305,"min":1200.0,"max":3600.0},{"current":2693.613,"min":1200.0,"max":3600.0},{"current":2694.635,"min":1200.0,"max":3600.0},{"current":2695.515,"min":1200.0,"max":3600.0},{"current":2695.318,"min":1200.0,"max":3600.0},{"current":2695.132,"min":1200.0,"max":3600.0},{"current":2695.624,"min":1200.0,"max":3600.0},{"current":2694.034,"min":1200.0,"max":3600.0},{"current":2694.412,"min":1200.0,"max":3600.0},{"current":2679.809,"min":1200.0,"max":3600.0}],"disk_write_speed":71.88345920500898,"process_ids":[2113736,2113939]}
+{"timestamp":1678267460.312211,"rapl_power_draw_absolute":166.8897448958465,"rapl_estimated_attributable_power_draw":8.528697185727966,"cpu_time_seconds":{"2113736":{"user":434.14,"system":88.3,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":7.09,"system":10.28,"children_user":2.98,"children_system":102.78,"iowait":10.73}},"average_relative_cpu_utilization":0.05795599883524577,"absolute_cpu_utilization":1.003728139398073,"relative_mem_usage":0.01796344677859678,"absolute_mem_usage":3691496448.0,"absolute_mem_percent_usage":0.006824363951781194,"mem_info_per_process":{"2113736":{"rss":3636477952,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3230687232,"pss":3394421760,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":491.85999999999996,"nvidia_estimated_attributable_power_draw":69.95,"average_gpu_estimated_utilization_absolute":0.24333333333333332,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":21.25,"mem":14.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.75,"mem":3.75,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.333333333333332,"mem":16.666666666666668,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.95},"cpu_count_adjusted_average_load":[0.23162500000000003,0.229875,0.2225],"cpu_freq":[{"current":2694.733,"min":1200.0,"max":3600.0},{"current":2698.386,"min":1200.0,"max":3600.0},{"current":2695.351,"min":1200.0,"max":3600.0},{"current":2699.207,"min":1200.0,"max":3600.0},{"current":2706.755,"min":1200.0,"max":3600.0},{"current":2695.145,"min":1200.0,"max":3600.0},{"current":2701.279,"min":1200.0,"max":3600.0},{"current":2696.632,"min":1200.0,"max":3600.0},{"current":2711.79,"min":1200.0,"max":3600.0},{"current":2695.861,"min":1200.0,"max":3600.0},{"current":2693.932,"min":1200.0,"max":3600.0},{"current":2696.709,"min":1200.0,"max":3600.0},{"current":2832.394,"min":1200.0,"max":3600.0},{"current":2696.171,"min":1200.0,"max":3600.0},{"current":2723.428,"min":1200.0,"max":3600.0},{"current":2692.889,"min":1200.0,"max":3600.0},{"current":2695.974,"min":1200.0,"max":3600.0},{"current":2819.42,"min":1200.0,"max":3600.0},{"current":2697.516,"min":1200.0,"max":3600.0},{"current":2682.702,"min":1200.0,"max":3600.0},{"current":2781.666,"min":1200.0,"max":3600.0},{"current":2696.013,"min":1200.0,"max":3600.0},{"current":2771.61,"min":1200.0,"max":3600.0},{"current":2692.658,"min":1200.0,"max":3600.0},{"current":2694.094,"min":1200.0,"max":3600.0},{"current":2709.139,"min":1200.0,"max":3600.0},{"current":2693.784,"min":1200.0,"max":3600.0},{"current":2697.474,"min":1200.0,"max":3600.0},{"current":2698.455,"min":1200.0,"max":3600.0},{"current":2695.076,"min":1200.0,"max":3600.0},{"current":2763.455,"min":1200.0,"max":3600.0},{"current":2767.964,"min":1200.0,"max":3600.0},{"current":2702.037,"min":1200.0,"max":3600.0},{"current":2696.395,"min":1200.0,"max":3600.0},{"current":2695.52,"min":1200.0,"max":3600.0},{"current":2696.857,"min":1200.0,"max":3600.0},{"current":2775.806,"min":1200.0,"max":3600.0},{"current":2697.974,"min":1200.0,"max":3600.0},{"current":2651.839,"min":1200.0,"max":3600.0},{"current":2699.837,"min":1200.0,"max":3600.0},{"current":2723.162,"min":1200.0,"max":3600.0},{"current":2764.156,"min":1200.0,"max":3600.0},{"current":2695.918,"min":1200.0,"max":3600.0},{"current":2694.165,"min":1200.0,"max":3600.0},{"current":2748.255,"min":1200.0,"max":3600.0},{"current":2845.41,"min":1200.0,"max":3600.0},{"current":2716.46,"min":1200.0,"max":3600.0},{"current":2695.976,"min":1200.0,"max":3600.0},{"current":2695.602,"min":1200.0,"max":3600.0},{"current":2696.486,"min":1200.0,"max":3600.0},{"current":2850.46,"min":1200.0,"max":3600.0},{"current":2818.609,"min":1200.0,"max":3600.0},{"current":2632.071,"min":1200.0,"max":3600.0},{"current":2756.372,"min":1200.0,"max":3600.0},{"current":2695.634,"min":1200.0,"max":3600.0},{"current":2819.962,"min":1200.0,"max":3600.0},{"current":2695.309,"min":1200.0,"max":3600.0},{"current":2692.086,"min":1200.0,"max":3600.0},{"current":2696.874,"min":1200.0,"max":3600.0},{"current":2854.46,"min":1200.0,"max":3600.0},{"current":2694.886,"min":1200.0,"max":3600.0},{"current":2693.55,"min":1200.0,"max":3600.0},{"current":2694.313,"min":1200.0,"max":3600.0},{"current":2755.022,"min":1200.0,"max":3600.0},{"current":2693.833,"min":1200.0,"max":3600.0},{"current":2695.779,"min":1200.0,"max":3600.0},{"current":2787.072,"min":1200.0,"max":3600.0},{"current":2696.165,"min":1200.0,"max":3600.0},{"current":2698.706,"min":1200.0,"max":3600.0},{"current":2693.91,"min":1200.0,"max":3600.0},{"current":2697.59,"min":1200.0,"max":3600.0},{"current":2694.156,"min":1200.0,"max":3600.0},{"current":2693.681,"min":1200.0,"max":3600.0},{"current":2694.498,"min":1200.0,"max":3600.0},{"current":2696.501,"min":1200.0,"max":3600.0},{"current":2693.949,"min":1200.0,"max":3600.0},{"current":2733.885,"min":1200.0,"max":3600.0},{"current":2694.693,"min":1200.0,"max":3600.0},{"current":2762.561,"min":1200.0,"max":3600.0},{"current":2783.963,"min":1200.0,"max":3600.0}],"disk_write_speed":71.18645582826801,"process_ids":[2113736,2113939]}
+{"timestamp":1678267476.184238,"rapl_power_draw_absolute":167.20559066851652,"rapl_estimated_attributable_power_draw":8.436587594929573,"cpu_time_seconds":{"2113736":{"user":447.47,"system":90.84,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":7.3,"system":10.61,"children_user":3.09,"children_system":105.94,"iowait":11.08}},"average_relative_cpu_utilization":0.0572225153345264,"absolute_cpu_utilization":0.9987095407180306,"relative_mem_usage":0.018006736553726317,"absolute_mem_usage":3694133248.0,"absolute_mem_percent_usage":0.006829238528560973,"mem_info_per_process":{"2113736":{"rss":3634724864,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3233320960,"pss":3397058560,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":467.45000000000005,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.245,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":11.666666666666666,"mem":7.666666666666667,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":5.5,"mem":3.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.5,"mem":15.5,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.23199999999999998,0.230125,0.222625],"cpu_freq":[{"current":2694.517,"min":1200.0,"max":3600.0},{"current":2630.602,"min":1200.0,"max":3600.0},{"current":2713.643,"min":1200.0,"max":3600.0},{"current":2695.651,"min":1200.0,"max":3600.0},{"current":2699.287,"min":1200.0,"max":3600.0},{"current":2696.135,"min":1200.0,"max":3600.0},{"current":2708.935,"min":1200.0,"max":3600.0},{"current":2697.639,"min":1200.0,"max":3600.0},{"current":2694.332,"min":1200.0,"max":3600.0},{"current":2718.891,"min":1200.0,"max":3600.0},{"current":2661.675,"min":1200.0,"max":3600.0},{"current":2736.15,"min":1200.0,"max":3600.0},{"current":2834.296,"min":1200.0,"max":3600.0},{"current":2709.28,"min":1200.0,"max":3600.0},{"current":2709.931,"min":1200.0,"max":3600.0},{"current":2692.265,"min":1200.0,"max":3600.0},{"current":2694.763,"min":1200.0,"max":3600.0},{"current":2832.879,"min":1200.0,"max":3600.0},{"current":2711.593,"min":1200.0,"max":3600.0},{"current":2693.608,"min":1200.0,"max":3600.0},{"current":2769.865,"min":1200.0,"max":3600.0},{"current":2696.063,"min":1200.0,"max":3600.0},{"current":2770.217,"min":1200.0,"max":3600.0},{"current":2625.13,"min":1200.0,"max":3600.0},{"current":2698.563,"min":1200.0,"max":3600.0},{"current":2701.886,"min":1200.0,"max":3600.0},{"current":2683.693,"min":1200.0,"max":3600.0},{"current":2695.482,"min":1200.0,"max":3600.0},{"current":2697.252,"min":1200.0,"max":3600.0},{"current":2697.003,"min":1200.0,"max":3600.0},{"current":2752.945,"min":1200.0,"max":3600.0},{"current":2711.951,"min":1200.0,"max":3600.0},{"current":2697.713,"min":1200.0,"max":3600.0},{"current":2696.876,"min":1200.0,"max":3600.0},{"current":2694.4,"min":1200.0,"max":3600.0},{"current":2694.136,"min":1200.0,"max":3600.0},{"current":2772.536,"min":1200.0,"max":3600.0},{"current":2697.14,"min":1200.0,"max":3600.0},{"current":2694.894,"min":1200.0,"max":3600.0},{"current":2693.642,"min":1200.0,"max":3600.0},{"current":2724.3,"min":1200.0,"max":3600.0},{"current":2856.904,"min":1200.0,"max":3600.0},{"current":2706.229,"min":1200.0,"max":3600.0},{"current":2705.991,"min":1200.0,"max":3600.0},{"current":2712.069,"min":1200.0,"max":3600.0},{"current":2801.057,"min":1200.0,"max":3600.0},{"current":2714.711,"min":1200.0,"max":3600.0},{"current":2708.21,"min":1200.0,"max":3600.0},{"current":2711.06,"min":1200.0,"max":3600.0},{"current":2695.319,"min":1200.0,"max":3600.0},{"current":2813.123,"min":1200.0,"max":3600.0},{"current":2787.026,"min":1200.0,"max":3600.0},{"current":2624.76,"min":1200.0,"max":3600.0},{"current":2721.279,"min":1200.0,"max":3600.0},{"current":2709.631,"min":1200.0,"max":3600.0},{"current":2856.999,"min":1200.0,"max":3600.0},{"current":2780.85,"min":1200.0,"max":3600.0},{"current":2664.097,"min":1200.0,"max":3600.0},{"current":2751.518,"min":1200.0,"max":3600.0},{"current":2871.698,"min":1200.0,"max":3600.0},{"current":2776.88,"min":1200.0,"max":3600.0},{"current":2694.396,"min":1200.0,"max":3600.0},{"current":2693.594,"min":1200.0,"max":3600.0},{"current":2761.996,"min":1200.0,"max":3600.0},{"current":2693.918,"min":1200.0,"max":3600.0},{"current":2694.277,"min":1200.0,"max":3600.0},{"current":2768.304,"min":1200.0,"max":3600.0},{"current":2694.81,"min":1200.0,"max":3600.0},{"current":2693.588,"min":1200.0,"max":3600.0},{"current":2695.265,"min":1200.0,"max":3600.0},{"current":2696.306,"min":1200.0,"max":3600.0},{"current":2693.116,"min":1200.0,"max":3600.0},{"current":2694.118,"min":1200.0,"max":3600.0},{"current":2696.494,"min":1200.0,"max":3600.0},{"current":2695.777,"min":1200.0,"max":3600.0},{"current":2696.107,"min":1200.0,"max":3600.0},{"current":2775.79,"min":1200.0,"max":3600.0},{"current":2694.542,"min":1200.0,"max":3600.0},{"current":2767.056,"min":1200.0,"max":3600.0},{"current":2783.779,"min":1200.0,"max":3600.0}],"disk_write_speed":71.08330536197914,"process_ids":[2113736,2113939]}
+{"timestamp":1678267491.632213,"rapl_power_draw_absolute":167.1211853347647,"rapl_estimated_attributable_power_draw":8.426118691283264,"cpu_time_seconds":{"2113736":{"user":460.68,"system":93.09,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":7.52,"system":10.94,"children_user":3.18,"children_system":109.09,"iowait":11.42}},"average_relative_cpu_utilization":0.057321291489620944,"absolute_cpu_utilization":0.9987190589921869,"relative_mem_usage":0.017177781177219603,"absolute_mem_usage":3523186688.0,"absolute_mem_percent_usage":0.006513214510069218,"mem_info_per_process":{"2113736":{"rss":3460583424,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3062374400,"pss":3226112000,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":477.8300000000001,"nvidia_estimated_attributable_power_draw":70.04,"average_gpu_estimated_utilization_absolute":0.24600000000000002,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":27.5,"mem":17.5,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.6,"mem":16.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.04},"cpu_count_adjusted_average_load":[0.23399999999999999,0.230625,0.223],"cpu_freq":[{"current":2694.507,"min":1200.0,"max":3600.0},{"current":2661.52,"min":1200.0,"max":3600.0},{"current":2726.305,"min":1200.0,"max":3600.0},{"current":2703.932,"min":1200.0,"max":3600.0},{"current":2704.632,"min":1200.0,"max":3600.0},{"current":2666.005,"min":1200.0,"max":3600.0},{"current":2711.76,"min":1200.0,"max":3600.0},{"current":2739.093,"min":1200.0,"max":3600.0},{"current":2724.963,"min":1200.0,"max":3600.0},{"current":2695.229,"min":1200.0,"max":3600.0},{"current":2695.628,"min":1200.0,"max":3600.0},{"current":2637.498,"min":1200.0,"max":3600.0},{"current":2756.569,"min":1200.0,"max":3600.0},{"current":2696.361,"min":1200.0,"max":3600.0},{"current":2697.893,"min":1200.0,"max":3600.0},{"current":2695.178,"min":1200.0,"max":3600.0},{"current":2710.269,"min":1200.0,"max":3600.0},{"current":2825.313,"min":1200.0,"max":3600.0},{"current":2711.225,"min":1200.0,"max":3600.0},{"current":2659.574,"min":1200.0,"max":3600.0},{"current":2691.962,"min":1200.0,"max":3600.0},{"current":2696.548,"min":1200.0,"max":3600.0},{"current":2698.102,"min":1200.0,"max":3600.0},{"current":2681.527,"min":1200.0,"max":3600.0},{"current":2696.552,"min":1200.0,"max":3600.0},{"current":2698.286,"min":1200.0,"max":3600.0},{"current":2697.105,"min":1200.0,"max":3600.0},{"current":2695.374,"min":1200.0,"max":3600.0},{"current":2696.002,"min":1200.0,"max":3600.0},{"current":2693.904,"min":1200.0,"max":3600.0},{"current":2712.311,"min":1200.0,"max":3600.0},{"current":2714.594,"min":1200.0,"max":3600.0},{"current":2763.673,"min":1200.0,"max":3600.0},{"current":2695.755,"min":1200.0,"max":3600.0},{"current":2698.855,"min":1200.0,"max":3600.0},{"current":2697.997,"min":1200.0,"max":3600.0},{"current":2699.851,"min":1200.0,"max":3600.0},{"current":2656.397,"min":1200.0,"max":3600.0},{"current":2655.655,"min":1200.0,"max":3600.0},{"current":2748.733,"min":1200.0,"max":3600.0},{"current":2748.916,"min":1200.0,"max":3600.0},{"current":2830.007,"min":1200.0,"max":3600.0},{"current":2736.038,"min":1200.0,"max":3600.0},{"current":2700.596,"min":1200.0,"max":3600.0},{"current":2716.47,"min":1200.0,"max":3600.0},{"current":2845.783,"min":1200.0,"max":3600.0},{"current":2699.402,"min":1200.0,"max":3600.0},{"current":2708.923,"min":1200.0,"max":3600.0},{"current":2696.567,"min":1200.0,"max":3600.0},{"current":2708.747,"min":1200.0,"max":3600.0},{"current":2846.552,"min":1200.0,"max":3600.0},{"current":2809.334,"min":1200.0,"max":3600.0},{"current":2694.526,"min":1200.0,"max":3600.0},{"current":2696.599,"min":1200.0,"max":3600.0},{"current":2697.243,"min":1200.0,"max":3600.0},{"current":2837.064,"min":1200.0,"max":3600.0},{"current":2707.905,"min":1200.0,"max":3600.0},{"current":2694.686,"min":1200.0,"max":3600.0},{"current":2699.849,"min":1200.0,"max":3600.0},{"current":2852.014,"min":1200.0,"max":3600.0},{"current":2771.694,"min":1200.0,"max":3600.0},{"current":2696.004,"min":1200.0,"max":3600.0},{"current":2697.273,"min":1200.0,"max":3600.0},{"current":2773.362,"min":1200.0,"max":3600.0},{"current":2694.268,"min":1200.0,"max":3600.0},{"current":2694.284,"min":1200.0,"max":3600.0},{"current":2749.298,"min":1200.0,"max":3600.0},{"current":2693.767,"min":1200.0,"max":3600.0},{"current":2694.905,"min":1200.0,"max":3600.0},{"current":2695.746,"min":1200.0,"max":3600.0},{"current":2697.039,"min":1200.0,"max":3600.0},{"current":2694.815,"min":1200.0,"max":3600.0},{"current":2694.336,"min":1200.0,"max":3600.0},{"current":2694.157,"min":1200.0,"max":3600.0},{"current":2696.628,"min":1200.0,"max":3600.0},{"current":2695.863,"min":1200.0,"max":3600.0},{"current":2695.42,"min":1200.0,"max":3600.0},{"current":2773.643,"min":1200.0,"max":3600.0},{"current":2770.196,"min":1200.0,"max":3600.0},{"current":2778.181,"min":1200.0,"max":3600.0}],"disk_write_speed":71.09548820458106,"process_ids":[2113736,2113939]}
+{"timestamp":1678267507.536204,"rapl_power_draw_absolute":167.0558844644312,"rapl_estimated_attributable_power_draw":8.358400472112857,"cpu_time_seconds":{"2113736":{"user":474.1,"system":95.58,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":7.74,"system":11.27,"children_user":3.26,"children_system":112.27,"iowait":11.76}},"average_relative_cpu_utilization":0.05692893388991595,"absolute_cpu_utilization":0.9987026528203194,"relative_mem_usage":0.017162335652072445,"absolute_mem_usage":3525509120.0,"absolute_mem_percent_usage":0.006517507923714475,"mem_info_per_process":{"2113736":{"rss":3476885504,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3064696832,"pss":3228434432,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":679.43,"nvidia_estimated_attributable_power_draw":70.04,"average_gpu_estimated_utilization_absolute":0.24,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":18.5,"mem":12.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.0,"mem":16.25,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.04},"cpu_count_adjusted_average_load":[0.23374999999999999,0.23075,0.22312500000000002],"cpu_freq":[{"current":2694.061,"min":1200.0,"max":3600.0},{"current":2692.828,"min":1200.0,"max":3600.0},{"current":2767.969,"min":1200.0,"max":3600.0},{"current":2701.187,"min":1200.0,"max":3600.0},{"current":2694.857,"min":1200.0,"max":3600.0},{"current":2655.565,"min":1200.0,"max":3600.0},{"current":2696.685,"min":1200.0,"max":3600.0},{"current":2704.265,"min":1200.0,"max":3600.0},{"current":2701.792,"min":1200.0,"max":3600.0},{"current":2694.38,"min":1200.0,"max":3600.0},{"current":2692.456,"min":1200.0,"max":3600.0},{"current":2690.581,"min":1200.0,"max":3600.0},{"current":2733.14,"min":1200.0,"max":3600.0},{"current":2698.36,"min":1200.0,"max":3600.0},{"current":2695.405,"min":1200.0,"max":3600.0},{"current":2695.374,"min":1200.0,"max":3600.0},{"current":2756.074,"min":1200.0,"max":3600.0},{"current":2735.915,"min":1200.0,"max":3600.0},{"current":2695.12,"min":1200.0,"max":3600.0},{"current":2692.346,"min":1200.0,"max":3600.0},{"current":2695.966,"min":1200.0,"max":3600.0},{"current":2696.085,"min":1200.0,"max":3600.0},{"current":2700.088,"min":1200.0,"max":3600.0},{"current":2695.958,"min":1200.0,"max":3600.0},{"current":2697.067,"min":1200.0,"max":3600.0},{"current":2695.918,"min":1200.0,"max":3600.0},{"current":2693.293,"min":1200.0,"max":3600.0},{"current":2695.724,"min":1200.0,"max":3600.0},{"current":2764.946,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2689.43,"min":1200.0,"max":3600.0},{"current":2690.036,"min":1200.0,"max":3600.0},{"current":2696.243,"min":1200.0,"max":3600.0},{"current":2696.745,"min":1200.0,"max":3600.0},{"current":2694.46,"min":1200.0,"max":3600.0},{"current":2696.131,"min":1200.0,"max":3600.0},{"current":2696.256,"min":1200.0,"max":3600.0},{"current":2696.008,"min":1200.0,"max":3600.0},{"current":2691.991,"min":1200.0,"max":3600.0},{"current":2693.543,"min":1200.0,"max":3600.0},{"current":2735.581,"min":1200.0,"max":3600.0},{"current":2829.647,"min":1200.0,"max":3600.0},{"current":2712.674,"min":1200.0,"max":3600.0},{"current":2711.425,"min":1200.0,"max":3600.0},{"current":2711.884,"min":1200.0,"max":3600.0},{"current":2819.705,"min":1200.0,"max":3600.0},{"current":2694.667,"min":1200.0,"max":3600.0},{"current":2694.49,"min":1200.0,"max":3600.0},{"current":2705.196,"min":1200.0,"max":3600.0},{"current":2695.631,"min":1200.0,"max":3600.0},{"current":2846.79,"min":1200.0,"max":3600.0},{"current":2827.515,"min":1200.0,"max":3600.0},{"current":2695.046,"min":1200.0,"max":3600.0},{"current":2708.557,"min":1200.0,"max":3600.0},{"current":2696.16,"min":1200.0,"max":3600.0},{"current":2850.271,"min":1200.0,"max":3600.0},{"current":2695.16,"min":1200.0,"max":3600.0},{"current":2692.202,"min":1200.0,"max":3600.0},{"current":2712.178,"min":1200.0,"max":3600.0},{"current":2843.684,"min":1200.0,"max":3600.0},{"current":2775.753,"min":1200.0,"max":3600.0},{"current":2694.317,"min":1200.0,"max":3600.0},{"current":2694.172,"min":1200.0,"max":3600.0},{"current":2760.128,"min":1200.0,"max":3600.0},{"current":2693.898,"min":1200.0,"max":3600.0},{"current":2695.579,"min":1200.0,"max":3600.0},{"current":2782.697,"min":1200.0,"max":3600.0},{"current":2696.885,"min":1200.0,"max":3600.0},{"current":2691.961,"min":1200.0,"max":3600.0},{"current":2710.224,"min":1200.0,"max":3600.0},{"current":2694.861,"min":1200.0,"max":3600.0},{"current":2694.824,"min":1200.0,"max":3600.0},{"current":2696.631,"min":1200.0,"max":3600.0},{"current":2695.631,"min":1200.0,"max":3600.0},{"current":2697.311,"min":1200.0,"max":3600.0},{"current":2695.967,"min":1200.0,"max":3600.0},{"current":2694.455,"min":1200.0,"max":3600.0},{"current":2780.058,"min":1200.0,"max":3600.0},{"current":2767.718,"min":1200.0,"max":3600.0},{"current":2764.251,"min":1200.0,"max":3600.0}],"disk_write_speed":71.63770413871042,"process_ids":[2113736,2113939]}
+{"timestamp":1678267522.936244,"rapl_power_draw_absolute":167.36661977194092,"rapl_estimated_attributable_power_draw":8.222687082636332,"cpu_time_seconds":{"2113736":{"user":487.02,"system":98.07,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":7.97,"system":11.54,"children_user":3.35,"children_system":115.4,"iowait":12.1}},"average_relative_cpu_utilization":0.05603302719470258,"absolute_cpu_utilization":1.0040060269322977,"relative_mem_usage":0.016547286870945102,"absolute_mem_usage":3388928000.0,"absolute_mem_percent_usage":0.006265014311719565,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2928115712,"pss":3091853312,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":465.20000000000005,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.302,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":8.25,"mem":5.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":10.666666666666666,"mem":6.333333333333333,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":21.0,"mem":12.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":30.2,"mem":20.8,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23875000000000002,0.23224999999999998,0.22374999999999998],"cpu_freq":[{"current":2694.176,"min":1200.0,"max":3600.0},{"current":2706.738,"min":1200.0,"max":3600.0},{"current":2696.215,"min":1200.0,"max":3600.0},{"current":2715.664,"min":1200.0,"max":3600.0},{"current":2781.83,"min":1200.0,"max":3600.0},{"current":2637.355,"min":1200.0,"max":3600.0},{"current":2708.795,"min":1200.0,"max":3600.0},{"current":2702.421,"min":1200.0,"max":3600.0},{"current":2720.886,"min":1200.0,"max":3600.0},{"current":2724.399,"min":1200.0,"max":3600.0},{"current":2683.647,"min":1200.0,"max":3600.0},{"current":2747.121,"min":1200.0,"max":3600.0},{"current":2856.937,"min":1200.0,"max":3600.0},{"current":2695.686,"min":1200.0,"max":3600.0},{"current":2720.711,"min":1200.0,"max":3600.0},{"current":2694.247,"min":1200.0,"max":3600.0},{"current":2710.422,"min":1200.0,"max":3600.0},{"current":2695.933,"min":1200.0,"max":3600.0},{"current":2705.092,"min":1200.0,"max":3600.0},{"current":2625.211,"min":1200.0,"max":3600.0},{"current":2695.303,"min":1200.0,"max":3600.0},{"current":2697.345,"min":1200.0,"max":3600.0},{"current":2697.636,"min":1200.0,"max":3600.0},{"current":2691.891,"min":1200.0,"max":3600.0},{"current":2694.001,"min":1200.0,"max":3600.0},{"current":2696.035,"min":1200.0,"max":3600.0},{"current":2692.715,"min":1200.0,"max":3600.0},{"current":2695.462,"min":1200.0,"max":3600.0},{"current":2768.218,"min":1200.0,"max":3600.0},{"current":2697.353,"min":1200.0,"max":3600.0},{"current":2767.687,"min":1200.0,"max":3600.0},{"current":2701.191,"min":1200.0,"max":3600.0},{"current":2702.793,"min":1200.0,"max":3600.0},{"current":2701.159,"min":1200.0,"max":3600.0},{"current":2695.922,"min":1200.0,"max":3600.0},{"current":2696.294,"min":1200.0,"max":3600.0},{"current":2697.819,"min":1200.0,"max":3600.0},{"current":2680.832,"min":1200.0,"max":3600.0},{"current":2691.742,"min":1200.0,"max":3600.0},{"current":2682.323,"min":1200.0,"max":3600.0},{"current":2697.739,"min":1200.0,"max":3600.0},{"current":2682.563,"min":1200.0,"max":3600.0},{"current":2696.382,"min":1200.0,"max":3600.0},{"current":2699.697,"min":1200.0,"max":3600.0},{"current":2692.135,"min":1200.0,"max":3600.0},{"current":2684.567,"min":1200.0,"max":3600.0},{"current":2694.244,"min":1200.0,"max":3600.0},{"current":2694.071,"min":1200.0,"max":3600.0},{"current":2695.896,"min":1200.0,"max":3600.0},{"current":2694.735,"min":1200.0,"max":3600.0},{"current":2702.682,"min":1200.0,"max":3600.0},{"current":2800.631,"min":1200.0,"max":3600.0},{"current":2693.058,"min":1200.0,"max":3600.0},{"current":2700.719,"min":1200.0,"max":3600.0},{"current":2710.741,"min":1200.0,"max":3600.0},{"current":2824.07,"min":1200.0,"max":3600.0},{"current":2694.056,"min":1200.0,"max":3600.0},{"current":2709.017,"min":1200.0,"max":3600.0},{"current":2695.892,"min":1200.0,"max":3600.0},{"current":2843.688,"min":1200.0,"max":3600.0},{"current":2697.729,"min":1200.0,"max":3600.0},{"current":2696.49,"min":1200.0,"max":3600.0},{"current":2697.052,"min":1200.0,"max":3600.0},{"current":2774.133,"min":1200.0,"max":3600.0},{"current":2694.135,"min":1200.0,"max":3600.0},{"current":2694.205,"min":1200.0,"max":3600.0},{"current":2768.357,"min":1200.0,"max":3600.0},{"current":2696.608,"min":1200.0,"max":3600.0},{"current":2696.895,"min":1200.0,"max":3600.0},{"current":2693.794,"min":1200.0,"max":3600.0},{"current":2696.515,"min":1200.0,"max":3600.0},{"current":2696.396,"min":1200.0,"max":3600.0},{"current":2695.675,"min":1200.0,"max":3600.0},{"current":2695.901,"min":1200.0,"max":3600.0},{"current":2696.88,"min":1200.0,"max":3600.0},{"current":2695.701,"min":1200.0,"max":3600.0},{"current":2771.944,"min":1200.0,"max":3600.0},{"current":2776.603,"min":1200.0,"max":3600.0},{"current":2773.17,"min":1200.0,"max":3600.0},{"current":2774.691,"min":1200.0,"max":3600.0}],"disk_write_speed":71.69113853613189,"process_ids":[2113736,2113939]}
+{"timestamp":1678267538.384187,"rapl_power_draw_absolute":166.78096041068517,"rapl_estimated_attributable_power_draw":8.415585810297685,"cpu_time_seconds":{"2113736":{"user":500.04,"system":100.5,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":8.18,"system":11.84,"children_user":3.42,"children_system":118.57,"iowait":12.43}},"average_relative_cpu_utilization":0.05709958218887596,"absolute_cpu_utilization":1.0036922633847192,"relative_mem_usage":0.01865094778023481,"absolute_mem_usage":3834798080.0,"absolute_mem_percent_usage":0.00708928158218608,"mem_info_per_process":{"2113736":{"rss":3783065600,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3373985792,"pss":3537723392,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":474.8,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.2575,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":19.0,"mem":12.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":5.5,"mem":3.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":18.75,"mem":10.5,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.75,"mem":18.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23925000000000002,0.232625,0.224125],"cpu_freq":[{"current":2694.172,"min":1200.0,"max":3600.0},{"current":2690.737,"min":1200.0,"max":3600.0},{"current":2774.814,"min":1200.0,"max":3600.0},{"current":2698.002,"min":1200.0,"max":3600.0},{"current":2761.958,"min":1200.0,"max":3600.0},{"current":2696.186,"min":1200.0,"max":3600.0},{"current":2698.279,"min":1200.0,"max":3600.0},{"current":2701.235,"min":1200.0,"max":3600.0},{"current":2694.15,"min":1200.0,"max":3600.0},{"current":2695.577,"min":1200.0,"max":3600.0},{"current":2696.392,"min":1200.0,"max":3600.0},{"current":2691.853,"min":1200.0,"max":3600.0},{"current":2700.764,"min":1200.0,"max":3600.0},{"current":2696.22,"min":1200.0,"max":3600.0},{"current":2696.831,"min":1200.0,"max":3600.0},{"current":2664.36,"min":1200.0,"max":3600.0},{"current":2755.441,"min":1200.0,"max":3600.0},{"current":2694.406,"min":1200.0,"max":3600.0},{"current":2710.163,"min":1200.0,"max":3600.0},{"current":2656.466,"min":1200.0,"max":3600.0},{"current":2695.164,"min":1200.0,"max":3600.0},{"current":2696.322,"min":1200.0,"max":3600.0},{"current":2696.644,"min":1200.0,"max":3600.0},{"current":2695.0,"min":1200.0,"max":3600.0},{"current":2695.808,"min":1200.0,"max":3600.0},{"current":2695.803,"min":1200.0,"max":3600.0},{"current":2696.805,"min":1200.0,"max":3600.0},{"current":2697.205,"min":1200.0,"max":3600.0},{"current":2698.204,"min":1200.0,"max":3600.0},{"current":2694.928,"min":1200.0,"max":3600.0},{"current":2767.027,"min":1200.0,"max":3600.0},{"current":2771.113,"min":1200.0,"max":3600.0},{"current":2696.238,"min":1200.0,"max":3600.0},{"current":2698.349,"min":1200.0,"max":3600.0},{"current":2696.768,"min":1200.0,"max":3600.0},{"current":2698.51,"min":1200.0,"max":3600.0},{"current":2699.764,"min":1200.0,"max":3600.0},{"current":2697.173,"min":1200.0,"max":3600.0},{"current":2765.019,"min":1200.0,"max":3600.0},{"current":2693.904,"min":1200.0,"max":3600.0},{"current":2749.716,"min":1200.0,"max":3600.0},{"current":2781.432,"min":1200.0,"max":3600.0},{"current":2680.754,"min":1200.0,"max":3600.0},{"current":2694.31,"min":1200.0,"max":3600.0},{"current":2694.099,"min":1200.0,"max":3600.0},{"current":2734.387,"min":1200.0,"max":3600.0},{"current":2694.22,"min":1200.0,"max":3600.0},{"current":2695.75,"min":1200.0,"max":3600.0},{"current":2695.16,"min":1200.0,"max":3600.0},{"current":2695.942,"min":1200.0,"max":3600.0},{"current":2760.194,"min":1200.0,"max":3600.0},{"current":2773.601,"min":1200.0,"max":3600.0},{"current":2695.775,"min":1200.0,"max":3600.0},{"current":2696.361,"min":1200.0,"max":3600.0},{"current":2694.227,"min":1200.0,"max":3600.0},{"current":2767.691,"min":1200.0,"max":3600.0},{"current":2693.252,"min":1200.0,"max":3600.0},{"current":2694.363,"min":1200.0,"max":3600.0},{"current":2694.302,"min":1200.0,"max":3600.0},{"current":2746.26,"min":1200.0,"max":3600.0},{"current":2697.501,"min":1200.0,"max":3600.0},{"current":2693.728,"min":1200.0,"max":3600.0},{"current":2694.094,"min":1200.0,"max":3600.0},{"current":2768.55,"min":1200.0,"max":3600.0},{"current":2694.265,"min":1200.0,"max":3600.0},{"current":2694.838,"min":1200.0,"max":3600.0},{"current":2773.455,"min":1200.0,"max":3600.0},{"current":2694.195,"min":1200.0,"max":3600.0},{"current":2697.651,"min":1200.0,"max":3600.0},{"current":2717.117,"min":1200.0,"max":3600.0},{"current":2686.527,"min":1200.0,"max":3600.0},{"current":2696.5,"min":1200.0,"max":3600.0},{"current":2695.505,"min":1200.0,"max":3600.0},{"current":2697.05,"min":1200.0,"max":3600.0},{"current":2695.832,"min":1200.0,"max":3600.0},{"current":2786.027,"min":1200.0,"max":3600.0},{"current":2784.071,"min":1200.0,"max":3600.0},{"current":2774.279,"min":1200.0,"max":3600.0},{"current":2759.956,"min":1200.0,"max":3600.0},{"current":2770.5,"min":1200.0,"max":3600.0}],"disk_write_speed":70.23206847809453,"process_ids":[2113736,2113939]}
+{"timestamp":1678267554.03621,"rapl_power_draw_absolute":166.80156076865012,"rapl_estimated_attributable_power_draw":8.486358962877748,"cpu_time_seconds":{"2113736":{"user":513.2,"system":103.0,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":8.37,"system":12.16,"children_user":3.52,"children_system":121.69,"iowait":12.77}},"average_relative_cpu_utilization":0.0577391822567192,"absolute_cpu_utilization":1.0037062135403922,"relative_mem_usage":0.01804977633158023,"absolute_mem_usage":3718287360.0,"absolute_mem_percent_usage":0.006873891544903273,"mem_info_per_process":{"2113736":{"rss":3669635072,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3257475072,"pss":3421212672,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":858.03,"nvidia_estimated_attributable_power_draw":70.0,"average_gpu_estimated_utilization_absolute":0.25,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":20.0,"mem":13.25,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.0,"mem":3.6666666666666665,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.0,"mem":17.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.0},"cpu_count_adjusted_average_load":[0.23937499999999998,0.23312499999999997,0.224375],"cpu_freq":[{"current":2694.317,"min":1200.0,"max":3600.0},{"current":2696.54,"min":1200.0,"max":3600.0},{"current":2755.301,"min":1200.0,"max":3600.0},{"current":2699.757,"min":1200.0,"max":3600.0},{"current":2702.965,"min":1200.0,"max":3600.0},{"current":2693.142,"min":1200.0,"max":3600.0},{"current":2715.056,"min":1200.0,"max":3600.0},{"current":2712.269,"min":1200.0,"max":3600.0},{"current":2695.057,"min":1200.0,"max":3600.0},{"current":2703.239,"min":1200.0,"max":3600.0},{"current":2695.783,"min":1200.0,"max":3600.0},{"current":2603.795,"min":1200.0,"max":3600.0},{"current":2722.065,"min":1200.0,"max":3600.0},{"current":2708.952,"min":1200.0,"max":3600.0},{"current":2708.579,"min":1200.0,"max":3600.0},{"current":2692.012,"min":1200.0,"max":3600.0},{"current":2828.978,"min":1200.0,"max":3600.0},{"current":2784.334,"min":1200.0,"max":3600.0},{"current":2713.547,"min":1200.0,"max":3600.0},{"current":2694.846,"min":1200.0,"max":3600.0},{"current":2695.186,"min":1200.0,"max":3600.0},{"current":2689.079,"min":1200.0,"max":3600.0},{"current":2696.22,"min":1200.0,"max":3600.0},{"current":2672.238,"min":1200.0,"max":3600.0},{"current":2696.447,"min":1200.0,"max":3600.0},{"current":2697.741,"min":1200.0,"max":3600.0},{"current":2660.768,"min":1200.0,"max":3600.0},{"current":2696.841,"min":1200.0,"max":3600.0},{"current":2696.608,"min":1200.0,"max":3600.0},{"current":2698.455,"min":1200.0,"max":3600.0},{"current":2768.949,"min":1200.0,"max":3600.0},{"current":2770.705,"min":1200.0,"max":3600.0},{"current":2696.632,"min":1200.0,"max":3600.0},{"current":2702.589,"min":1200.0,"max":3600.0},{"current":2695.719,"min":1200.0,"max":3600.0},{"current":2697.26,"min":1200.0,"max":3600.0},{"current":2696.577,"min":1200.0,"max":3600.0},{"current":2661.578,"min":1200.0,"max":3600.0},{"current":2694.13,"min":1200.0,"max":3600.0},{"current":2693.472,"min":1200.0,"max":3600.0},{"current":2723.012,"min":1200.0,"max":3600.0},{"current":2816.914,"min":1200.0,"max":3600.0},{"current":2692.291,"min":1200.0,"max":3600.0},{"current":2694.945,"min":1200.0,"max":3600.0},{"current":2698.935,"min":1200.0,"max":3600.0},{"current":2739.456,"min":1200.0,"max":3600.0},{"current":2694.244,"min":1200.0,"max":3600.0},{"current":2695.174,"min":1200.0,"max":3600.0},{"current":2698.762,"min":1200.0,"max":3600.0},{"current":2694.278,"min":1200.0,"max":3600.0},{"current":2735.08,"min":1200.0,"max":3600.0},{"current":2720.952,"min":1200.0,"max":3600.0},{"current":2694.674,"min":1200.0,"max":3600.0},{"current":2694.233,"min":1200.0,"max":3600.0},{"current":2694.675,"min":1200.0,"max":3600.0},{"current":2700.236,"min":1200.0,"max":3600.0},{"current":2695.865,"min":1200.0,"max":3600.0},{"current":2696.669,"min":1200.0,"max":3600.0},{"current":2754.241,"min":1200.0,"max":3600.0},{"current":2754.418,"min":1200.0,"max":3600.0},{"current":2693.825,"min":1200.0,"max":3600.0},{"current":2696.306,"min":1200.0,"max":3600.0},{"current":2694.027,"min":1200.0,"max":3600.0},{"current":2771.646,"min":1200.0,"max":3600.0},{"current":2695.143,"min":1200.0,"max":3600.0},{"current":2696.937,"min":1200.0,"max":3600.0},{"current":2726.574,"min":1200.0,"max":3600.0},{"current":2693.763,"min":1200.0,"max":3600.0},{"current":2697.245,"min":1200.0,"max":3600.0},{"current":2694.821,"min":1200.0,"max":3600.0},{"current":2695.556,"min":1200.0,"max":3600.0},{"current":2700.962,"min":1200.0,"max":3600.0},{"current":2694.013,"min":1200.0,"max":3600.0},{"current":2694.384,"min":1200.0,"max":3600.0},{"current":2695.377,"min":1200.0,"max":3600.0},{"current":2694.42,"min":1200.0,"max":3600.0},{"current":2738.807,"min":1200.0,"max":3600.0},{"current":2664.67,"min":1200.0,"max":3600.0},{"current":2723.266,"min":1200.0,"max":3600.0},{"current":2686.549,"min":1200.0,"max":3600.0}],"disk_write_speed":71.64552214727397,"process_ids":[2113736,2113939]}
+{"timestamp":1678267569.536271,"rapl_power_draw_absolute":166.7143757261797,"rapl_estimated_attributable_power_draw":8.34771038163865,"cpu_time_seconds":{"2113736":{"user":526.14,"system":105.56,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":8.58,"system":12.46,"children_user":3.66,"children_system":124.75,"iowait":13.11}},"average_relative_cpu_utilization":0.05687948063583863,"absolute_cpu_utilization":0.9987159140819424,"relative_mem_usage":0.01745372869236869,"absolute_mem_usage":3577999360.0,"absolute_mem_percent_usage":0.0066145451298237805,"mem_info_per_process":{"2113736":{"rss":3522080768,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3117187072,"pss":3280924672,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":479.9100000000001,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.2275,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":7.2,"mem":4.4,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":4.5,"mem":2.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":22.75,"mem":15.5,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.236125,0.23275,0.224375],"cpu_freq":[{"current":2694.272,"min":1200.0,"max":3600.0},{"current":2693.127,"min":1200.0,"max":3600.0},{"current":2724.612,"min":1200.0,"max":3600.0},{"current":2696.074,"min":1200.0,"max":3600.0},{"current":2702.754,"min":1200.0,"max":3600.0},{"current":2703.688,"min":1200.0,"max":3600.0},{"current":2693.974,"min":1200.0,"max":3600.0},{"current":2702.241,"min":1200.0,"max":3600.0},{"current":2696.092,"min":1200.0,"max":3600.0},{"current":2695.832,"min":1200.0,"max":3600.0},{"current":2694.084,"min":1200.0,"max":3600.0},{"current":2686.179,"min":1200.0,"max":3600.0},{"current":2695.384,"min":1200.0,"max":3600.0},{"current":2701.442,"min":1200.0,"max":3600.0},{"current":2697.806,"min":1200.0,"max":3600.0},{"current":2692.52,"min":1200.0,"max":3600.0},{"current":2730.463,"min":1200.0,"max":3600.0},{"current":2695.261,"min":1200.0,"max":3600.0},{"current":2695.858,"min":1200.0,"max":3600.0},{"current":2620.728,"min":1200.0,"max":3600.0},{"current":2771.294,"min":1200.0,"max":3600.0},{"current":2694.985,"min":1200.0,"max":3600.0},{"current":2697.994,"min":1200.0,"max":3600.0},{"current":2695.869,"min":1200.0,"max":3600.0},{"current":2696.304,"min":1200.0,"max":3600.0},{"current":2696.417,"min":1200.0,"max":3600.0},{"current":2693.65,"min":1200.0,"max":3600.0},{"current":2729.218,"min":1200.0,"max":3600.0},{"current":2694.595,"min":1200.0,"max":3600.0},{"current":2694.837,"min":1200.0,"max":3600.0},{"current":2761.463,"min":1200.0,"max":3600.0},{"current":2773.755,"min":1200.0,"max":3600.0},{"current":2696.019,"min":1200.0,"max":3600.0},{"current":2697.004,"min":1200.0,"max":3600.0},{"current":2695.784,"min":1200.0,"max":3600.0},{"current":2655.777,"min":1200.0,"max":3600.0},{"current":2697.016,"min":1200.0,"max":3600.0},{"current":2634.397,"min":1200.0,"max":3600.0},{"current":2694.989,"min":1200.0,"max":3600.0},{"current":2693.765,"min":1200.0,"max":3600.0},{"current":2694.111,"min":1200.0,"max":3600.0},{"current":2758.455,"min":1200.0,"max":3600.0},{"current":2696.241,"min":1200.0,"max":3600.0},{"current":2696.251,"min":1200.0,"max":3600.0},{"current":2693.88,"min":1200.0,"max":3600.0},{"current":2694.128,"min":1200.0,"max":3600.0},{"current":2748.491,"min":1200.0,"max":3600.0},{"current":2698.742,"min":1200.0,"max":3600.0},{"current":2696.5,"min":1200.0,"max":3600.0},{"current":2694.803,"min":1200.0,"max":3600.0},{"current":2772.437,"min":1200.0,"max":3600.0},{"current":2714.038,"min":1200.0,"max":3600.0},{"current":2693.895,"min":1200.0,"max":3600.0},{"current":2694.607,"min":1200.0,"max":3600.0},{"current":2779.884,"min":1200.0,"max":3600.0},{"current":2816.067,"min":1200.0,"max":3600.0},{"current":2872.552,"min":1200.0,"max":3600.0},{"current":2705.747,"min":1200.0,"max":3600.0},{"current":2694.482,"min":1200.0,"max":3600.0},{"current":2862.286,"min":1200.0,"max":3600.0},{"current":2762.606,"min":1200.0,"max":3600.0},{"current":2699.568,"min":1200.0,"max":3600.0},{"current":2693.786,"min":1200.0,"max":3600.0},{"current":2774.95,"min":1200.0,"max":3600.0},{"current":2694.46,"min":1200.0,"max":3600.0},{"current":2696.509,"min":1200.0,"max":3600.0},{"current":2774.614,"min":1200.0,"max":3600.0},{"current":2694.301,"min":1200.0,"max":3600.0},{"current":2695.732,"min":1200.0,"max":3600.0},{"current":2695.071,"min":1200.0,"max":3600.0},{"current":2696.048,"min":1200.0,"max":3600.0},{"current":2624.132,"min":1200.0,"max":3600.0},{"current":2695.764,"min":1200.0,"max":3600.0},{"current":2696.29,"min":1200.0,"max":3600.0},{"current":2695.467,"min":1200.0,"max":3600.0},{"current":2830.22,"min":1200.0,"max":3600.0},{"current":2790.96,"min":1200.0,"max":3600.0},{"current":2770.908,"min":1200.0,"max":3600.0},{"current":2697.187,"min":1200.0,"max":3600.0},{"current":2757.242,"min":1200.0,"max":3600.0}],"disk_write_speed":71.14660791299279,"process_ids":[2113736,2113939]}
+{"timestamp":1678267585.284219,"rapl_power_draw_absolute":166.04932282241668,"rapl_estimated_attributable_power_draw":8.508012408826584,"cpu_time_seconds":{"2113736":{"user":539.39,"system":108.07,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":8.78,"system":12.78,"children_user":3.77,"children_system":127.92,"iowait":13.45}},"average_relative_cpu_utilization":0.05825297375008503,"absolute_cpu_utilization":0.9991297237014489,"relative_mem_usage":0.017346131140382658,"absolute_mem_usage":3561453568.0,"absolute_mem_percent_usage":0.006583957397160609,"mem_info_per_process":{"2113736":{"rss":3503230976,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3100643328,"pss":3264378880,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":474.76000000000005,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.2075,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":15.666666666666666,"mem":9.666666666666666,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":3.0,"mem":1.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":20.75,"mem":13.5,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23562500000000003,0.23275,0.2245],"cpu_freq":[{"current":2695.165,"min":1200.0,"max":3600.0},{"current":2716.743,"min":1200.0,"max":3600.0},{"current":2816.014,"min":1200.0,"max":3600.0},{"current":2706.51,"min":1200.0,"max":3600.0},{"current":2699.926,"min":1200.0,"max":3600.0},{"current":2707.922,"min":1200.0,"max":3600.0},{"current":2720.339,"min":1200.0,"max":3600.0},{"current":2696.669,"min":1200.0,"max":3600.0},{"current":2710.772,"min":1200.0,"max":3600.0},{"current":2708.123,"min":1200.0,"max":3600.0},{"current":2693.036,"min":1200.0,"max":3600.0},{"current":2697.869,"min":1200.0,"max":3600.0},{"current":2707.339,"min":1200.0,"max":3600.0},{"current":2693.612,"min":1200.0,"max":3600.0},{"current":2700.504,"min":1200.0,"max":3600.0},{"current":2697.523,"min":1200.0,"max":3600.0},{"current":2837.14,"min":1200.0,"max":3600.0},{"current":2713.948,"min":1200.0,"max":3600.0},{"current":2694.988,"min":1200.0,"max":3600.0},{"current":2664.848,"min":1200.0,"max":3600.0},{"current":2805.266,"min":1200.0,"max":3600.0},{"current":2694.603,"min":1200.0,"max":3600.0},{"current":2695.985,"min":1200.0,"max":3600.0},{"current":2698.176,"min":1200.0,"max":3600.0},{"current":2698.653,"min":1200.0,"max":3600.0},{"current":2696.641,"min":1200.0,"max":3600.0},{"current":2631.428,"min":1200.0,"max":3600.0},{"current":2718.646,"min":1200.0,"max":3600.0},{"current":2694.552,"min":1200.0,"max":3600.0},{"current":2699.322,"min":1200.0,"max":3600.0},{"current":2810.04,"min":1200.0,"max":3600.0},{"current":2776.955,"min":1200.0,"max":3600.0},{"current":2699.615,"min":1200.0,"max":3600.0},{"current":2696.999,"min":1200.0,"max":3600.0},{"current":2696.867,"min":1200.0,"max":3600.0},{"current":2608.208,"min":1200.0,"max":3600.0},{"current":2697.129,"min":1200.0,"max":3600.0},{"current":2692.109,"min":1200.0,"max":3600.0},{"current":2695.375,"min":1200.0,"max":3600.0},{"current":2698.262,"min":1200.0,"max":3600.0},{"current":2706.712,"min":1200.0,"max":3600.0},{"current":2848.803,"min":1200.0,"max":3600.0},{"current":2657.572,"min":1200.0,"max":3600.0},{"current":2709.552,"min":1200.0,"max":3600.0},{"current":2694.23,"min":1200.0,"max":3600.0},{"current":2694.779,"min":1200.0,"max":3600.0},{"current":2694.529,"min":1200.0,"max":3600.0},{"current":2835.741,"min":1200.0,"max":3600.0},{"current":2694.872,"min":1200.0,"max":3600.0},{"current":2706.824,"min":1200.0,"max":3600.0},{"current":2863.357,"min":1200.0,"max":3600.0},{"current":2709.573,"min":1200.0,"max":3600.0},{"current":2694.93,"min":1200.0,"max":3600.0},{"current":2840.55,"min":1200.0,"max":3600.0},{"current":2694.458,"min":1200.0,"max":3600.0},{"current":2713.048,"min":1200.0,"max":3600.0},{"current":2692.265,"min":1200.0,"max":3600.0},{"current":2839.697,"min":1200.0,"max":3600.0},{"current":2706.792,"min":1200.0,"max":3600.0},{"current":2852.852,"min":1200.0,"max":3600.0},{"current":2694.302,"min":1200.0,"max":3600.0},{"current":2694.403,"min":1200.0,"max":3600.0},{"current":2693.916,"min":1200.0,"max":3600.0},{"current":2771.908,"min":1200.0,"max":3600.0},{"current":2694.243,"min":1200.0,"max":3600.0},{"current":2709.626,"min":1200.0,"max":3600.0},{"current":2840.013,"min":1200.0,"max":3600.0},{"current":2695.42,"min":1200.0,"max":3600.0},{"current":2693.774,"min":1200.0,"max":3600.0},{"current":2693.999,"min":1200.0,"max":3600.0},{"current":2659.799,"min":1200.0,"max":3600.0},{"current":2652.363,"min":1200.0,"max":3600.0},{"current":2696.168,"min":1200.0,"max":3600.0},{"current":2695.513,"min":1200.0,"max":3600.0},{"current":2695.436,"min":1200.0,"max":3600.0},{"current":2782.12,"min":1200.0,"max":3600.0},{"current":2769.269,"min":1200.0,"max":3600.0},{"current":2773.28,"min":1200.0,"max":3600.0},{"current":2694.45,"min":1200.0,"max":3600.0},{"current":2768.625,"min":1200.0,"max":3600.0}],"disk_write_speed":71.79961245931418,"process_ids":[2113736,2113939]}
+{"timestamp":1678267601.860253,"rapl_power_draw_absolute":167.632072807891,"rapl_estimated_attributable_power_draw":8.35344344294036,"cpu_time_seconds":{"2113736":{"user":553.49,"system":110.56,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":8.99,"system":13.12,"children_user":3.84,"children_system":131.14,"iowait":13.79}},"average_relative_cpu_utilization":0.056410280661034956,"absolute_cpu_utilization":1.003712298125446,"relative_mem_usage":0.01880749308511675,"absolute_mem_usage":3862061056.0,"absolute_mem_percent_usage":0.007139681866529704,"mem_info_per_process":{"2113736":{"rss":3808911360,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3401248768,"pss":3564986368,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":480.07000000000005,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.2,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":23.0,"mem":15.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":20.0,"mem":12.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23500000000000001,0.23275,0.224625],"cpu_freq":[{"current":2694.731,"min":1200.0,"max":3600.0},{"current":2696.391,"min":1200.0,"max":3600.0},{"current":2664.677,"min":1200.0,"max":3600.0},{"current":2702.685,"min":1200.0,"max":3600.0},{"current":2704.505,"min":1200.0,"max":3600.0},{"current":2693.905,"min":1200.0,"max":3600.0},{"current":2700.491,"min":1200.0,"max":3600.0},{"current":2693.894,"min":1200.0,"max":3600.0},{"current":2703.716,"min":1200.0,"max":3600.0},{"current":2695.699,"min":1200.0,"max":3600.0},{"current":2636.13,"min":1200.0,"max":3600.0},{"current":2696.78,"min":1200.0,"max":3600.0},{"current":2695.166,"min":1200.0,"max":3600.0},{"current":2693.863,"min":1200.0,"max":3600.0},{"current":2694.648,"min":1200.0,"max":3600.0},{"current":2680.207,"min":1200.0,"max":3600.0},{"current":2687.452,"min":1200.0,"max":3600.0},{"current":2693.776,"min":1200.0,"max":3600.0},{"current":2695.964,"min":1200.0,"max":3600.0},{"current":2694.129,"min":1200.0,"max":3600.0},{"current":2727.233,"min":1200.0,"max":3600.0},{"current":2699.796,"min":1200.0,"max":3600.0},{"current":2695.948,"min":1200.0,"max":3600.0},{"current":2693.86,"min":1200.0,"max":3600.0},{"current":2696.885,"min":1200.0,"max":3600.0},{"current":2697.934,"min":1200.0,"max":3600.0},{"current":2692.246,"min":1200.0,"max":3600.0},{"current":2695.422,"min":1200.0,"max":3600.0},{"current":2697.783,"min":1200.0,"max":3600.0},{"current":2710.562,"min":1200.0,"max":3600.0},{"current":2776.285,"min":1200.0,"max":3600.0},{"current":2761.607,"min":1200.0,"max":3600.0},{"current":2698.83,"min":1200.0,"max":3600.0},{"current":2697.839,"min":1200.0,"max":3600.0},{"current":2695.512,"min":1200.0,"max":3600.0},{"current":2694.769,"min":1200.0,"max":3600.0},{"current":2696.133,"min":1200.0,"max":3600.0},{"current":2693.112,"min":1200.0,"max":3600.0},{"current":2695.211,"min":1200.0,"max":3600.0},{"current":2695.361,"min":1200.0,"max":3600.0},{"current":2711.307,"min":1200.0,"max":3600.0},{"current":2825.722,"min":1200.0,"max":3600.0},{"current":2698.711,"min":1200.0,"max":3600.0},{"current":2694.122,"min":1200.0,"max":3600.0},{"current":2703.202,"min":1200.0,"max":3600.0},{"current":2698.027,"min":1200.0,"max":3600.0},{"current":2710.02,"min":1200.0,"max":3600.0},{"current":2819.57,"min":1200.0,"max":3600.0},{"current":2700.86,"min":1200.0,"max":3600.0},{"current":2694.999,"min":1200.0,"max":3600.0},{"current":2751.768,"min":1200.0,"max":3600.0},{"current":2694.88,"min":1200.0,"max":3600.0},{"current":2691.092,"min":1200.0,"max":3600.0},{"current":2758.636,"min":1200.0,"max":3600.0},{"current":2693.829,"min":1200.0,"max":3600.0},{"current":2678.285,"min":1200.0,"max":3600.0},{"current":2696.33,"min":1200.0,"max":3600.0},{"current":2757.785,"min":1200.0,"max":3600.0},{"current":2698.905,"min":1200.0,"max":3600.0},{"current":2696.095,"min":1200.0,"max":3600.0},{"current":2653.565,"min":1200.0,"max":3600.0},{"current":2696.007,"min":1200.0,"max":3600.0},{"current":2695.541,"min":1200.0,"max":3600.0},{"current":2757.554,"min":1200.0,"max":3600.0},{"current":2695.446,"min":1200.0,"max":3600.0},{"current":2695.527,"min":1200.0,"max":3600.0},{"current":2682.113,"min":1200.0,"max":3600.0},{"current":2696.393,"min":1200.0,"max":3600.0},{"current":2694.979,"min":1200.0,"max":3600.0},{"current":2694.98,"min":1200.0,"max":3600.0},{"current":2627.885,"min":1200.0,"max":3600.0},{"current":2696.137,"min":1200.0,"max":3600.0},{"current":2694.387,"min":1200.0,"max":3600.0},{"current":2697.405,"min":1200.0,"max":3600.0},{"current":2693.759,"min":1200.0,"max":3600.0},{"current":2747.831,"min":1200.0,"max":3600.0},{"current":2780.049,"min":1200.0,"max":3600.0},{"current":2771.55,"min":1200.0,"max":3600.0},{"current":2696.847,"min":1200.0,"max":3600.0},{"current":2773.83,"min":1200.0,"max":3600.0}],"disk_write_speed":71.53195501010482,"process_ids":[2113736,2113939]}
+{"timestamp":1678267617.504193,"rapl_power_draw_absolute":165.89626458515013,"rapl_estimated_attributable_power_draw":8.546088030756202,"cpu_time_seconds":{"2113736":{"user":566.58,"system":113.11,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":9.18,"system":13.44,"children_user":3.9,"children_system":134.31,"iowait":14.13}},"average_relative_cpu_utilization":0.05857738727173113,"absolute_cpu_utilization":0.9937007274467923,"relative_mem_usage":0.01841830099734838,"absolute_mem_usage":3781083136.0,"absolute_mem_percent_usage":0.006989980300803527,"mem_info_per_process":{"2113736":{"rss":3728621568,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3320270848,"pss":3484008448,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":463.78,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.18,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":7.0,"mem":4.5,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":12.666666666666666,"mem":7.333333333333333,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":14.666666666666666,"mem":8.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":18.0,"mem":12.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.236375,0.23312499999999997,0.225],"cpu_freq":[{"current":2695.063,"min":1200.0,"max":3600.0},{"current":2753.074,"min":1200.0,"max":3600.0},{"current":2857.16,"min":1200.0,"max":3600.0},{"current":2708.03,"min":1200.0,"max":3600.0},{"current":2709.63,"min":1200.0,"max":3600.0},{"current":2697.265,"min":1200.0,"max":3600.0},{"current":2708.68,"min":1200.0,"max":3600.0},{"current":2691.992,"min":1200.0,"max":3600.0},{"current":2695.628,"min":1200.0,"max":3600.0},{"current":2724.923,"min":1200.0,"max":3600.0},{"current":2623.623,"min":1200.0,"max":3600.0},{"current":2702.454,"min":1200.0,"max":3600.0},{"current":2697.338,"min":1200.0,"max":3600.0},{"current":2846.35,"min":1200.0,"max":3600.0},{"current":2708.428,"min":1200.0,"max":3600.0},{"current":2828.168,"min":1200.0,"max":3600.0},{"current":2857.395,"min":1200.0,"max":3600.0},{"current":2624.257,"min":1200.0,"max":3600.0},{"current":2708.617,"min":1200.0,"max":3600.0},{"current":2661.254,"min":1200.0,"max":3600.0},{"current":2795.679,"min":1200.0,"max":3600.0},{"current":2747.022,"min":1200.0,"max":3600.0},{"current":2734.752,"min":1200.0,"max":3600.0},{"current":2744.504,"min":1200.0,"max":3600.0},{"current":2767.334,"min":1200.0,"max":3600.0},{"current":2744.849,"min":1200.0,"max":3600.0},{"current":2827.549,"min":1200.0,"max":3600.0},{"current":2795.962,"min":1200.0,"max":3600.0},{"current":2710.915,"min":1200.0,"max":3600.0},{"current":2743.596,"min":1200.0,"max":3600.0},{"current":2917.919,"min":1200.0,"max":3600.0},{"current":2822.983,"min":1200.0,"max":3600.0},{"current":2872.411,"min":1200.0,"max":3600.0},{"current":2815.792,"min":1200.0,"max":3600.0},{"current":2745.692,"min":1200.0,"max":3600.0},{"current":2938.727,"min":1200.0,"max":3600.0},{"current":2870.284,"min":1200.0,"max":3600.0},{"current":2824.764,"min":1200.0,"max":3600.0},{"current":2827.248,"min":1200.0,"max":3600.0},{"current":2757.883,"min":1200.0,"max":3600.0},{"current":2734.99,"min":1200.0,"max":3600.0},{"current":2724.304,"min":1200.0,"max":3600.0},{"current":2693.885,"min":1200.0,"max":3600.0},{"current":2694.255,"min":1200.0,"max":3600.0},{"current":2694.393,"min":1200.0,"max":3600.0},{"current":2693.781,"min":1200.0,"max":3600.0},{"current":2706.808,"min":1200.0,"max":3600.0},{"current":2837.657,"min":1200.0,"max":3600.0},{"current":2709.851,"min":1200.0,"max":3600.0},{"current":2784.928,"min":1200.0,"max":3600.0},{"current":2840.731,"min":1200.0,"max":3600.0},{"current":2708.164,"min":1200.0,"max":3600.0},{"current":2707.606,"min":1200.0,"max":3600.0},{"current":2695.085,"min":1200.0,"max":3600.0},{"current":2707.922,"min":1200.0,"max":3600.0},{"current":2866.035,"min":1200.0,"max":3600.0},{"current":2689.388,"min":1200.0,"max":3600.0},{"current":2864.899,"min":1200.0,"max":3600.0},{"current":2698.369,"min":1200.0,"max":3600.0},{"current":2772.47,"min":1200.0,"max":3600.0},{"current":2754.769,"min":1200.0,"max":3600.0},{"current":2706.535,"min":1200.0,"max":3600.0},{"current":2707.743,"min":1200.0,"max":3600.0},{"current":2739.876,"min":1200.0,"max":3600.0},{"current":2784.916,"min":1200.0,"max":3600.0},{"current":2707.26,"min":1200.0,"max":3600.0},{"current":2975.12,"min":1200.0,"max":3600.0},{"current":2881.207,"min":1200.0,"max":3600.0},{"current":2706.407,"min":1200.0,"max":3600.0},{"current":2870.676,"min":1200.0,"max":3600.0},{"current":2782.324,"min":1200.0,"max":3600.0},{"current":2849.511,"min":1200.0,"max":3600.0},{"current":2762.335,"min":1200.0,"max":3600.0},{"current":2875.31,"min":1200.0,"max":3600.0},{"current":2745.588,"min":1200.0,"max":3600.0},{"current":2969.5,"min":1200.0,"max":3600.0},{"current":2960.501,"min":1200.0,"max":3600.0},{"current":2973.677,"min":1200.0,"max":3600.0},{"current":2819.559,"min":1200.0,"max":3600.0},{"current":2955.803,"min":1200.0,"max":3600.0}],"disk_write_speed":72.24088791692095,"process_ids":[2113736,2113939]}
+{"timestamp":1678267633.05222,"rapl_power_draw_absolute":159.72772324896488,"rapl_estimated_attributable_power_draw":9.786245464976732,"cpu_time_seconds":{"2113736":{"user":579.7,"system":115.55,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":9.37,"system":13.75,"children_user":3.99,"children_system":137.44,"iowait":14.48}},"average_relative_cpu_utilization":0.07022188547137431,"absolute_cpu_utilization":0.9987169986116249,"relative_mem_usage":0.018889759097996426,"absolute_mem_usage":3888439296.0,"absolute_mem_percent_usage":0.007188446564722753,"mem_info_per_process":{"2113736":{"rss":3835191296,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3427627008,"pss":3591364608,"swap":0},"2113939":{"rss":448147456,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160346112,"pss":297074688,"swap":0}},"nvidia_draw_absolute":476.63,"nvidia_estimated_attributable_power_draw":70.0,"average_gpu_estimated_utilization_absolute":0.15,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":11.75,"mem":7.5,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":11.5,"mem":6.75,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":19.5,"mem":11.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":15.0,"mem":9.25,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.0},"cpu_count_adjusted_average_load":[0.22774999999999998,0.23137500000000003,0.2245],"cpu_freq":[{"current":2693.988,"min":1200.0,"max":3600.0},{"current":2694.333,"min":1200.0,"max":3600.0},{"current":2697.183,"min":1200.0,"max":3600.0},{"current":2694.247,"min":1200.0,"max":3600.0},{"current":2708.527,"min":1200.0,"max":3600.0},{"current":2700.171,"min":1200.0,"max":3600.0},{"current":2697.208,"min":1200.0,"max":3600.0},{"current":2826.107,"min":1200.0,"max":3600.0},{"current":2695.008,"min":1200.0,"max":3600.0},{"current":2701.708,"min":1200.0,"max":3600.0},{"current":2694.375,"min":1200.0,"max":3600.0},{"current":2696.209,"min":1200.0,"max":3600.0},{"current":2701.097,"min":1200.0,"max":3600.0},{"current":2697.023,"min":1200.0,"max":3600.0},{"current":2694.33,"min":1200.0,"max":3600.0},{"current":2701.129,"min":1200.0,"max":3600.0},{"current":2741.024,"min":1200.0,"max":3600.0},{"current":2694.009,"min":1200.0,"max":3600.0},{"current":2694.983,"min":1200.0,"max":3600.0},{"current":2695.801,"min":1200.0,"max":3600.0},{"current":2693.809,"min":1200.0,"max":3600.0},{"current":2699.405,"min":1200.0,"max":3600.0},{"current":2701.246,"min":1200.0,"max":3600.0},{"current":2696.961,"min":1200.0,"max":3600.0},{"current":2696.125,"min":1200.0,"max":3600.0},{"current":2697.181,"min":1200.0,"max":3600.0},{"current":2695.723,"min":1200.0,"max":3600.0},{"current":2648.472,"min":1200.0,"max":3600.0},{"current":2694.025,"min":1200.0,"max":3600.0},{"current":2695.613,"min":1200.0,"max":3600.0},{"current":2698.304,"min":1200.0,"max":3600.0},{"current":2670.931,"min":1200.0,"max":3600.0},{"current":2698.302,"min":1200.0,"max":3600.0},{"current":2612.526,"min":1200.0,"max":3600.0},{"current":2694.784,"min":1200.0,"max":3600.0},{"current":2648.414,"min":1200.0,"max":3600.0},{"current":2695.477,"min":1200.0,"max":3600.0},{"current":2694.292,"min":1200.0,"max":3600.0},{"current":2629.241,"min":1200.0,"max":3600.0},{"current":2607.748,"min":1200.0,"max":3600.0},{"current":2715.56,"min":1200.0,"max":3600.0},{"current":2698.139,"min":1200.0,"max":3600.0},{"current":2694.637,"min":1200.0,"max":3600.0},{"current":2695.377,"min":1200.0,"max":3600.0},{"current":2693.995,"min":1200.0,"max":3600.0},{"current":2695.193,"min":1200.0,"max":3600.0},{"current":2673.356,"min":1200.0,"max":3600.0},{"current":2691.022,"min":1200.0,"max":3600.0},{"current":2694.733,"min":1200.0,"max":3600.0},{"current":2693.859,"min":1200.0,"max":3600.0},{"current":2670.41,"min":1200.0,"max":3600.0},{"current":2694.623,"min":1200.0,"max":3600.0},{"current":2694.141,"min":1200.0,"max":3600.0},{"current":2696.983,"min":1200.0,"max":3600.0},{"current":2695.934,"min":1200.0,"max":3600.0},{"current":2695.551,"min":1200.0,"max":3600.0},{"current":2697.004,"min":1200.0,"max":3600.0},{"current":2737.359,"min":1200.0,"max":3600.0},{"current":2735.021,"min":1200.0,"max":3600.0},{"current":2710.606,"min":1200.0,"max":3600.0},{"current":2694.78,"min":1200.0,"max":3600.0},{"current":2696.53,"min":1200.0,"max":3600.0},{"current":2730.231,"min":1200.0,"max":3600.0},{"current":2693.969,"min":1200.0,"max":3600.0},{"current":2694.243,"min":1200.0,"max":3600.0},{"current":2695.065,"min":1200.0,"max":3600.0},{"current":2693.156,"min":1200.0,"max":3600.0},{"current":2695.795,"min":1200.0,"max":3600.0},{"current":2698.558,"min":1200.0,"max":3600.0},{"current":2695.251,"min":1200.0,"max":3600.0},{"current":2694.045,"min":1200.0,"max":3600.0},{"current":2693.643,"min":1200.0,"max":3600.0},{"current":2693.762,"min":1200.0,"max":3600.0},{"current":2700.695,"min":1200.0,"max":3600.0},{"current":2693.888,"min":1200.0,"max":3600.0},{"current":2695.207,"min":1200.0,"max":3600.0},{"current":2693.759,"min":1200.0,"max":3600.0},{"current":2673.148,"min":1200.0,"max":3600.0},{"current":2657.734,"min":1200.0,"max":3600.0},{"current":2686.018,"min":1200.0,"max":3600.0}],"disk_write_speed":58.324265344585115,"process_ids":[2113736,2113939]}
+{"timestamp":1678267649.168202,"rapl_power_draw_absolute":163.8306884985484,"rapl_estimated_attributable_power_draw":8.282163354009814,"cpu_time_seconds":{"2113736":{"user":593.29,"system":118.09,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":9.65,"system":14.09,"children_user":4.07,"children_system":140.67,"iowait":14.76}},"average_relative_cpu_utilization":0.05757351004119755,"absolute_cpu_utilization":1.0037236594825174,"relative_mem_usage":0.019198041303224143,"absolute_mem_usage":3945037824.0,"absolute_mem_percent_usage":0.007293078645410882,"mem_info_per_process":{"2113736":{"rss":3892174848,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3484221440,"pss":3647956992,"swap":0},"2113939":{"rss":448151552,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160354304,"pss":297080832,"swap":0}},"nvidia_draw_absolute":728.56,"nvidia_estimated_attributable_power_draw":71.49,"average_gpu_estimated_utilization_absolute":0.1325,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":9.0,"mem":6.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":7.666666666666667,"mem":4.666666666666667,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":72.33333333333333,"mem":41.666666666666664,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":13.25,"mem":7.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":71.49},"cpu_count_adjusted_average_load":[0.22712500000000002,0.23112499999999997,0.2245],"cpu_freq":[{"current":2645.189,"min":1200.0,"max":3600.0},{"current":2698.936,"min":1200.0,"max":3600.0},{"current":2711.667,"min":1200.0,"max":3600.0},{"current":2694.483,"min":1200.0,"max":3600.0},{"current":2706.275,"min":1200.0,"max":3600.0},{"current":2711.001,"min":1200.0,"max":3600.0},{"current":2764.303,"min":1200.0,"max":3600.0},{"current":2695.125,"min":1200.0,"max":3600.0},{"current":2739.543,"min":1200.0,"max":3600.0},{"current":2697.552,"min":1200.0,"max":3600.0},{"current":2715.514,"min":1200.0,"max":3600.0},{"current":2710.07,"min":1200.0,"max":3600.0},{"current":2708.172,"min":1200.0,"max":3600.0},{"current":2698.038,"min":1200.0,"max":3600.0},{"current":2696.355,"min":1200.0,"max":3600.0},{"current":2710.108,"min":1200.0,"max":3600.0},{"current":2740.729,"min":1200.0,"max":3600.0},{"current":2733.191,"min":1200.0,"max":3600.0},{"current":2597.09,"min":1200.0,"max":3600.0},{"current":2665.874,"min":1200.0,"max":3600.0},{"current":2714.516,"min":1200.0,"max":3600.0},{"current":2696.056,"min":1200.0,"max":3600.0},{"current":2755.822,"min":1200.0,"max":3600.0},{"current":2697.945,"min":1200.0,"max":3600.0},{"current":2695.648,"min":1200.0,"max":3600.0},{"current":2695.034,"min":1200.0,"max":3600.0},{"current":2662.066,"min":1200.0,"max":3600.0},{"current":2695.09,"min":1200.0,"max":3600.0},{"current":2694.992,"min":1200.0,"max":3600.0},{"current":2696.82,"min":1200.0,"max":3600.0},{"current":2698.038,"min":1200.0,"max":3600.0},{"current":2688.039,"min":1200.0,"max":3600.0},{"current":2694.457,"min":1200.0,"max":3600.0},{"current":2693.762,"min":1200.0,"max":3600.0},{"current":2694.69,"min":1200.0,"max":3600.0},{"current":2776.236,"min":1200.0,"max":3600.0},{"current":2695.73,"min":1200.0,"max":3600.0},{"current":2693.709,"min":1200.0,"max":3600.0},{"current":2697.286,"min":1200.0,"max":3600.0},{"current":2692.361,"min":1200.0,"max":3600.0},{"current":2731.753,"min":1200.0,"max":3600.0},{"current":2694.531,"min":1200.0,"max":3600.0},{"current":2707.128,"min":1200.0,"max":3600.0},{"current":2695.951,"min":1200.0,"max":3600.0},{"current":2699.764,"min":1200.0,"max":3600.0},{"current":2695.301,"min":1200.0,"max":3600.0},{"current":2632.6,"min":1200.0,"max":3600.0},{"current":2780.646,"min":1200.0,"max":3600.0},{"current":2711.727,"min":1200.0,"max":3600.0},{"current":2695.32,"min":1200.0,"max":3600.0},{"current":2708.06,"min":1200.0,"max":3600.0},{"current":2743.011,"min":1200.0,"max":3600.0},{"current":2693.898,"min":1200.0,"max":3600.0},{"current":2694.212,"min":1200.0,"max":3600.0},{"current":2716.747,"min":1200.0,"max":3600.0},{"current":2693.534,"min":1200.0,"max":3600.0},{"current":2693.948,"min":1200.0,"max":3600.0},{"current":2693.4,"min":1200.0,"max":3600.0},{"current":2779.339,"min":1200.0,"max":3600.0},{"current":2750.127,"min":1200.0,"max":3600.0},{"current":2674.588,"min":1200.0,"max":3600.0},{"current":2785.968,"min":1200.0,"max":3600.0},{"current":2705.746,"min":1200.0,"max":3600.0},{"current":2694.578,"min":1200.0,"max":3600.0},{"current":2694.602,"min":1200.0,"max":3600.0},{"current":2697.862,"min":1200.0,"max":3600.0},{"current":2711.224,"min":1200.0,"max":3600.0},{"current":2697.886,"min":1200.0,"max":3600.0},{"current":2697.345,"min":1200.0,"max":3600.0},{"current":2694.201,"min":1200.0,"max":3600.0},{"current":2744.672,"min":1200.0,"max":3600.0},{"current":2694.456,"min":1200.0,"max":3600.0},{"current":2711.335,"min":1200.0,"max":3600.0},{"current":2694.248,"min":1200.0,"max":3600.0},{"current":2695.883,"min":1200.0,"max":3600.0},{"current":2766.161,"min":1200.0,"max":3600.0},{"current":2728.253,"min":1200.0,"max":3600.0},{"current":2724.483,"min":1200.0,"max":3600.0},{"current":2696.535,"min":1200.0,"max":3600.0},{"current":2728.691,"min":1200.0,"max":3600.0}],"disk_write_speed":71.92876241705883,"process_ids":[2113736,2113939]}
+{"timestamp":1678267665.408198,"rapl_power_draw_absolute":160.28317866164292,"rapl_estimated_attributable_power_draw":8.461656422737029,"cpu_time_seconds":{"2113736":{"user":606.81,"system":120.81,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":9.84,"system":14.41,"children_user":4.19,"children_system":143.85,"iowait":15.1}},"average_relative_cpu_utilization":0.06023811970758594,"absolute_cpu_utilization":0.9987355743924357,"relative_mem_usage":0.019362470182620536,"absolute_mem_usage":3978815488.0,"absolute_mem_percent_usage":0.00735552244721973,"mem_info_per_process":{"2113736":{"rss":3925237760,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3518001152,"pss":3681734656,"swap":0},"2113939":{"rss":448151552,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160354304,"pss":297080832,"swap":0}},"nvidia_draw_absolute":644.0099999999999,"nvidia_estimated_attributable_power_draw":71.4,"average_gpu_estimated_utilization_absolute":0.1875,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":9.333333333333334,"mem":6.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":7.0,"mem":4.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":62.8,"mem":35.8,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":18.75,"mem":11.25,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":71.4},"cpu_count_adjusted_average_load":[0.22574999999999998,0.230625,0.2245],"cpu_freq":[{"current":2679.45,"min":1200.0,"max":3600.0},{"current":2697.373,"min":1200.0,"max":3600.0},{"current":2695.333,"min":1200.0,"max":3600.0},{"current":2694.456,"min":1200.0,"max":3600.0},{"current":2707.169,"min":1200.0,"max":3600.0},{"current":2705.178,"min":1200.0,"max":3600.0},{"current":2709.335,"min":1200.0,"max":3600.0},{"current":2673.862,"min":1200.0,"max":3600.0},{"current":2695.436,"min":1200.0,"max":3600.0},{"current":2732.66,"min":1200.0,"max":3600.0},{"current":2695.541,"min":1200.0,"max":3600.0},{"current":2593.862,"min":1200.0,"max":3600.0},{"current":2697.862,"min":1200.0,"max":3600.0},{"current":2694.474,"min":1200.0,"max":3600.0},{"current":2694.81,"min":1200.0,"max":3600.0},{"current":2696.39,"min":1200.0,"max":3600.0},{"current":2714.59,"min":1200.0,"max":3600.0},{"current":2698.225,"min":1200.0,"max":3600.0},{"current":2680.632,"min":1200.0,"max":3600.0},{"current":2697.825,"min":1200.0,"max":3600.0},{"current":2700.918,"min":1200.0,"max":3600.0},{"current":2708.698,"min":1200.0,"max":3600.0},{"current":2698.054,"min":1200.0,"max":3600.0},{"current":2696.127,"min":1200.0,"max":3600.0},{"current":2697.685,"min":1200.0,"max":3600.0},{"current":2696.488,"min":1200.0,"max":3600.0},{"current":2694.747,"min":1200.0,"max":3600.0},{"current":2768.548,"min":1200.0,"max":3600.0},{"current":2733.681,"min":1200.0,"max":3600.0},{"current":2699.919,"min":1200.0,"max":3600.0},{"current":2694.204,"min":1200.0,"max":3600.0},{"current":2717.504,"min":1200.0,"max":3600.0},{"current":2695.59,"min":1200.0,"max":3600.0},{"current":2694.657,"min":1200.0,"max":3600.0},{"current":2696.118,"min":1200.0,"max":3600.0},{"current":2695.753,"min":1200.0,"max":3600.0},{"current":2695.905,"min":1200.0,"max":3600.0},{"current":2696.752,"min":1200.0,"max":3600.0},{"current":2694.368,"min":1200.0,"max":3600.0},{"current":2693.932,"min":1200.0,"max":3600.0},{"current":2713.123,"min":1200.0,"max":3600.0},{"current":2695.831,"min":1200.0,"max":3600.0},{"current":2693.459,"min":1200.0,"max":3600.0},{"current":2696.82,"min":1200.0,"max":3600.0},{"current":2693.933,"min":1200.0,"max":3600.0},{"current":2693.989,"min":1200.0,"max":3600.0},{"current":2648.325,"min":1200.0,"max":3600.0},{"current":2697.311,"min":1200.0,"max":3600.0},{"current":2695.75,"min":1200.0,"max":3600.0},{"current":2695.612,"min":1200.0,"max":3600.0},{"current":2693.841,"min":1200.0,"max":3600.0},{"current":2712.127,"min":1200.0,"max":3600.0},{"current":2695.357,"min":1200.0,"max":3600.0},{"current":2694.012,"min":1200.0,"max":3600.0},{"current":2695.408,"min":1200.0,"max":3600.0},{"current":2693.994,"min":1200.0,"max":3600.0},{"current":2697.217,"min":1200.0,"max":3600.0},{"current":2633.075,"min":1200.0,"max":3600.0},{"current":2707.533,"min":1200.0,"max":3600.0},{"current":2738.882,"min":1200.0,"max":3600.0},{"current":2694.242,"min":1200.0,"max":3600.0},{"current":2696.479,"min":1200.0,"max":3600.0},{"current":2695.137,"min":1200.0,"max":3600.0},{"current":2696.496,"min":1200.0,"max":3600.0},{"current":2693.998,"min":1200.0,"max":3600.0},{"current":2695.766,"min":1200.0,"max":3600.0},{"current":2828.171,"min":1200.0,"max":3600.0},{"current":2724.692,"min":1200.0,"max":3600.0},{"current":2695.22,"min":1200.0,"max":3600.0},{"current":2601.567,"min":1200.0,"max":3600.0},{"current":2677.495,"min":1200.0,"max":3600.0},{"current":2696.868,"min":1200.0,"max":3600.0},{"current":2695.616,"min":1200.0,"max":3600.0},{"current":2697.875,"min":1200.0,"max":3600.0},{"current":2695.434,"min":1200.0,"max":3600.0},{"current":2694.053,"min":1200.0,"max":3600.0},{"current":2727.88,"min":1200.0,"max":3600.0},{"current":2782.599,"min":1200.0,"max":3600.0},{"current":2742.007,"min":1200.0,"max":3600.0},{"current":2830.206,"min":1200.0,"max":3600.0}],"disk_write_speed":71.31064571354358,"process_ids":[2113736,2113939]}
+{"timestamp":1678267681.620275,"rapl_power_draw_absolute":161.65753145141213,"rapl_estimated_attributable_power_draw":8.302731174888837,"cpu_time_seconds":{"2113736":{"user":620.31,"system":123.53,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":10.07,"system":14.7,"children_user":4.32,"children_system":147.03,"iowait":15.44}},"average_relative_cpu_utilization":0.05842456016819111,"absolute_cpu_utilization":0.9987134895744749,"relative_mem_usage":0.019437166812578375,"absolute_mem_usage":3991052288.0,"absolute_mem_percent_usage":0.007378144269556955,"mem_info_per_process":{"2113736":{"rss":3949465600,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3530235904,"pss":3693971456,"swap":0},"2113939":{"rss":448151552,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160354304,"pss":297080832,"swap":0}},"nvidia_draw_absolute":840.9399999999999,"nvidia_estimated_attributable_power_draw":210.36,"average_gpu_estimated_utilization_absolute":0.21600000000000003,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":10.0,"mem":6.333333333333333,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.5,"mem":5.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":74.4,"mem":42.2,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":21.6,"mem":13.8,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":210.36},"cpu_count_adjusted_average_load":[0.23362500000000003,0.232125,0.22512500000000002],"cpu_freq":[{"current":2705.819,"min":1200.0,"max":3600.0},{"current":2692.864,"min":1200.0,"max":3600.0},{"current":2695.382,"min":1200.0,"max":3600.0},{"current":2707.661,"min":1200.0,"max":3600.0},{"current":2708.956,"min":1200.0,"max":3600.0},{"current":2709.24,"min":1200.0,"max":3600.0},{"current":2747.549,"min":1200.0,"max":3600.0},{"current":2696.971,"min":1200.0,"max":3600.0},{"current":2695.17,"min":1200.0,"max":3600.0},{"current":2710.619,"min":1200.0,"max":3600.0},{"current":2706.582,"min":1200.0,"max":3600.0},{"current":2691.973,"min":1200.0,"max":3600.0},{"current":2713.462,"min":1200.0,"max":3600.0},{"current":2697.108,"min":1200.0,"max":3600.0},{"current":2700.799,"min":1200.0,"max":3600.0},{"current":2697.505,"min":1200.0,"max":3600.0},{"current":2747.719,"min":1200.0,"max":3600.0},{"current":2711.37,"min":1200.0,"max":3600.0},{"current":2684.734,"min":1200.0,"max":3600.0},{"current":2595.743,"min":1200.0,"max":3600.0},{"current":2695.823,"min":1200.0,"max":3600.0},{"current":2696.191,"min":1200.0,"max":3600.0},{"current":2694.356,"min":1200.0,"max":3600.0},{"current":2690.436,"min":1200.0,"max":3600.0},{"current":2697.328,"min":1200.0,"max":3600.0},{"current":2695.819,"min":1200.0,"max":3600.0},{"current":2651.49,"min":1200.0,"max":3600.0},{"current":2695.569,"min":1200.0,"max":3600.0},{"current":2695.185,"min":1200.0,"max":3600.0},{"current":2668.333,"min":1200.0,"max":3600.0},{"current":2699.645,"min":1200.0,"max":3600.0},{"current":2813.742,"min":1200.0,"max":3600.0},{"current":2712.648,"min":1200.0,"max":3600.0},{"current":2695.569,"min":1200.0,"max":3600.0},{"current":2695.77,"min":1200.0,"max":3600.0},{"current":2697.972,"min":1200.0,"max":3600.0},{"current":2695.966,"min":1200.0,"max":3600.0},{"current":2695.283,"min":1200.0,"max":3600.0},{"current":2693.79,"min":1200.0,"max":3600.0},{"current":2693.885,"min":1200.0,"max":3600.0},{"current":2743.145,"min":1200.0,"max":3600.0},{"current":2785.231,"min":1200.0,"max":3600.0},{"current":2695.622,"min":1200.0,"max":3600.0},{"current":2696.078,"min":1200.0,"max":3600.0},{"current":2696.549,"min":1200.0,"max":3600.0},{"current":2694.261,"min":1200.0,"max":3600.0},{"current":2636.595,"min":1200.0,"max":3600.0},{"current":2731.227,"min":1200.0,"max":3600.0},{"current":2702.404,"min":1200.0,"max":3600.0},{"current":2735.195,"min":1200.0,"max":3600.0},{"current":2694.759,"min":1200.0,"max":3600.0},{"current":2743.179,"min":1200.0,"max":3600.0},{"current":2703.308,"min":1200.0,"max":3600.0},{"current":2703.961,"min":1200.0,"max":3600.0},{"current":2698.26,"min":1200.0,"max":3600.0},{"current":2740.993,"min":1200.0,"max":3600.0},{"current":2691.802,"min":1200.0,"max":3600.0},{"current":2694.261,"min":1200.0,"max":3600.0},{"current":2758.068,"min":1200.0,"max":3600.0},{"current":2792.547,"min":1200.0,"max":3600.0},{"current":2695.265,"min":1200.0,"max":3600.0},{"current":2694.082,"min":1200.0,"max":3600.0},{"current":2695.153,"min":1200.0,"max":3600.0},{"current":2694.278,"min":1200.0,"max":3600.0},{"current":2688.125,"min":1200.0,"max":3600.0},{"current":2696.279,"min":1200.0,"max":3600.0},{"current":2733.441,"min":1200.0,"max":3600.0},{"current":2694.313,"min":1200.0,"max":3600.0},{"current":2697.531,"min":1200.0,"max":3600.0},{"current":2724.826,"min":1200.0,"max":3600.0},{"current":2816.263,"min":1200.0,"max":3600.0},{"current":2695.404,"min":1200.0,"max":3600.0},{"current":2714.166,"min":1200.0,"max":3600.0},{"current":2695.16,"min":1200.0,"max":3600.0},{"current":2695.43,"min":1200.0,"max":3600.0},{"current":2693.981,"min":1200.0,"max":3600.0},{"current":2733.458,"min":1200.0,"max":3600.0},{"current":2712.321,"min":1200.0,"max":3600.0},{"current":2699.335,"min":1200.0,"max":3600.0},{"current":2710.152,"min":1200.0,"max":3600.0}],"disk_write_speed":71.99743537759286,"process_ids":[2113736,2113939]}
+{"timestamp":1678267697.976194,"rapl_power_draw_absolute":160.59543709846875,"rapl_estimated_attributable_power_draw":8.219341165353688,"cpu_time_seconds":{"2113736":{"user":633.98,"system":126.23,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":10.28,"system":15.04,"children_user":4.43,"children_system":150.25,"iowait":15.78}},"average_relative_cpu_utilization":0.05883813736544592,"absolute_cpu_utilization":1.0036471929262691,"relative_mem_usage":0.01651489962208891,"absolute_mem_usage":3388936192.0,"absolute_mem_percent_usage":0.0062650294560357735,"mem_info_per_process":{"2113736":{"rss":3410423808,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":2928119808,"pss":3091855360,"swap":0},"2113939":{"rss":448151552,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160354304,"pss":297080832,"swap":0}},"nvidia_draw_absolute":903.81,"nvidia_estimated_attributable_power_draw":252.74,"average_gpu_estimated_utilization_absolute":0.278,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":6.333333333333333,"mem":3.6666666666666665,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":73.75,"mem":42.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":27.8,"mem":18.4,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":252.74},"cpu_count_adjusted_average_load":[0.23537499999999997,0.23275,0.22549999999999998],"cpu_freq":[{"current":2663.503,"min":1200.0,"max":3600.0},{"current":2694.561,"min":1200.0,"max":3600.0},{"current":2693.777,"min":1200.0,"max":3600.0},{"current":2698.912,"min":1200.0,"max":3600.0},{"current":2705.872,"min":1200.0,"max":3600.0},{"current":2704.981,"min":1200.0,"max":3600.0},{"current":2707.275,"min":1200.0,"max":3600.0},{"current":2694.853,"min":1200.0,"max":3600.0},{"current":2701.066,"min":1200.0,"max":3600.0},{"current":2695.217,"min":1200.0,"max":3600.0},{"current":2698.629,"min":1200.0,"max":3600.0},{"current":2696.431,"min":1200.0,"max":3600.0},{"current":2696.9,"min":1200.0,"max":3600.0},{"current":2694.72,"min":1200.0,"max":3600.0},{"current":2718.231,"min":1200.0,"max":3600.0},{"current":2694.264,"min":1200.0,"max":3600.0},{"current":2740.833,"min":1200.0,"max":3600.0},{"current":2694.585,"min":1200.0,"max":3600.0},{"current":2692.263,"min":1200.0,"max":3600.0},{"current":2633.755,"min":1200.0,"max":3600.0},{"current":2703.173,"min":1200.0,"max":3600.0},{"current":2698.792,"min":1200.0,"max":3600.0},{"current":2694.652,"min":1200.0,"max":3600.0},{"current":2695.315,"min":1200.0,"max":3600.0},{"current":2697.216,"min":1200.0,"max":3600.0},{"current":2678.0,"min":1200.0,"max":3600.0},{"current":2624.563,"min":1200.0,"max":3600.0},{"current":2708.585,"min":1200.0,"max":3600.0},{"current":2696.163,"min":1200.0,"max":3600.0},{"current":2700.996,"min":1200.0,"max":3600.0},{"current":2696.002,"min":1200.0,"max":3600.0},{"current":2718.667,"min":1200.0,"max":3600.0},{"current":2700.19,"min":1200.0,"max":3600.0},{"current":2698.675,"min":1200.0,"max":3600.0},{"current":2767.761,"min":1200.0,"max":3600.0},{"current":2696.184,"min":1200.0,"max":3600.0},{"current":2695.289,"min":1200.0,"max":3600.0},{"current":2694.528,"min":1200.0,"max":3600.0},{"current":2695.057,"min":1200.0,"max":3600.0},{"current":2692.32,"min":1200.0,"max":3600.0},{"current":2706.058,"min":1200.0,"max":3600.0},{"current":2693.126,"min":1200.0,"max":3600.0},{"current":2694.699,"min":1200.0,"max":3600.0},{"current":2693.929,"min":1200.0,"max":3600.0},{"current":2703.369,"min":1200.0,"max":3600.0},{"current":2694.138,"min":1200.0,"max":3600.0},{"current":2696.467,"min":1200.0,"max":3600.0},{"current":2683.975,"min":1200.0,"max":3600.0},{"current":2694.574,"min":1200.0,"max":3600.0},{"current":2696.0,"min":1200.0,"max":3600.0},{"current":2694.909,"min":1200.0,"max":3600.0},{"current":2692.188,"min":1200.0,"max":3600.0},{"current":2698.457,"min":1200.0,"max":3600.0},{"current":2694.0,"min":1200.0,"max":3600.0},{"current":2695.168,"min":1200.0,"max":3600.0},{"current":2695.998,"min":1200.0,"max":3600.0},{"current":2607.074,"min":1200.0,"max":3600.0},{"current":2696.673,"min":1200.0,"max":3600.0},{"current":2695.988,"min":1200.0,"max":3600.0},{"current":2714.68,"min":1200.0,"max":3600.0},{"current":2706.764,"min":1200.0,"max":3600.0},{"current":2696.854,"min":1200.0,"max":3600.0},{"current":2695.813,"min":1200.0,"max":3600.0},{"current":2695.925,"min":1200.0,"max":3600.0},{"current":2682.66,"min":1200.0,"max":3600.0},{"current":2694.607,"min":1200.0,"max":3600.0},{"current":2719.406,"min":1200.0,"max":3600.0},{"current":2696.364,"min":1200.0,"max":3600.0},{"current":2693.823,"min":1200.0,"max":3600.0},{"current":2631.902,"min":1200.0,"max":3600.0},{"current":2812.202,"min":1200.0,"max":3600.0},{"current":2694.991,"min":1200.0,"max":3600.0},{"current":2695.62,"min":1200.0,"max":3600.0},{"current":2694.129,"min":1200.0,"max":3600.0},{"current":2696.442,"min":1200.0,"max":3600.0},{"current":2598.563,"min":1200.0,"max":3600.0},{"current":2726.036,"min":1200.0,"max":3600.0},{"current":2720.578,"min":1200.0,"max":3600.0},{"current":2698.652,"min":1200.0,"max":3600.0},{"current":2738.905,"min":1200.0,"max":3600.0}],"disk_write_speed":72.54712173193944,"process_ids":[2113736,2113939]}
+{"timestamp":1678267714.508172,"rapl_power_draw_absolute":161.14271585767233,"rapl_estimated_attributable_power_draw":8.028986488673652,"cpu_time_seconds":{"2113736":{"user":647.78,"system":128.97,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":10.48,"system":15.36,"children_user":4.53,"children_system":153.59,"iowait":16.13}},"average_relative_cpu_utilization":0.05728832094660274,"absolute_cpu_utilization":0.998989204559453,"relative_mem_usage":0.016511189625368374,"absolute_mem_usage":3388936192.0,"absolute_mem_percent_usage":0.0062650294560357735,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2928119808,"pss":3091855360,"swap":0},"2113939":{"rss":448151552,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160354304,"pss":297080832,"swap":0}},"nvidia_draw_absolute":847.76,"nvidia_estimated_attributable_power_draw":229.9,"average_gpu_estimated_utilization_absolute":0.2525,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":7.5,"mem":4.5,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":73.66666666666667,"mem":42.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.25,"mem":16.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":229.9},"cpu_count_adjusted_average_load":[0.239875,0.233875,0.22599999999999998],"cpu_freq":[{"current":2663.491,"min":1200.0,"max":3600.0},{"current":2696.405,"min":1200.0,"max":3600.0},{"current":2707.042,"min":1200.0,"max":3600.0},{"current":2714.403,"min":1200.0,"max":3600.0},{"current":2707.549,"min":1200.0,"max":3600.0},{"current":2709.681,"min":1200.0,"max":3600.0},{"current":2740.792,"min":1200.0,"max":3600.0},{"current":2693.048,"min":1200.0,"max":3600.0},{"current":2704.799,"min":1200.0,"max":3600.0},{"current":2707.199,"min":1200.0,"max":3600.0},{"current":2697.365,"min":1200.0,"max":3600.0},{"current":2715.467,"min":1200.0,"max":3600.0},{"current":2710.741,"min":1200.0,"max":3600.0},{"current":2700.25,"min":1200.0,"max":3600.0},{"current":2695.572,"min":1200.0,"max":3600.0},{"current":2696.703,"min":1200.0,"max":3600.0},{"current":2694.741,"min":1200.0,"max":3600.0},{"current":2694.524,"min":1200.0,"max":3600.0},{"current":2695.553,"min":1200.0,"max":3600.0},{"current":2694.2,"min":1200.0,"max":3600.0},{"current":2696.557,"min":1200.0,"max":3600.0},{"current":2695.529,"min":1200.0,"max":3600.0},{"current":2694.011,"min":1200.0,"max":3600.0},{"current":2696.055,"min":1200.0,"max":3600.0},{"current":2693.83,"min":1200.0,"max":3600.0},{"current":2734.366,"min":1200.0,"max":3600.0},{"current":2634.249,"min":1200.0,"max":3600.0},{"current":2702.358,"min":1200.0,"max":3600.0},{"current":2786.635,"min":1200.0,"max":3600.0},{"current":2696.642,"min":1200.0,"max":3600.0},{"current":2694.239,"min":1200.0,"max":3600.0},{"current":2595.455,"min":1200.0,"max":3600.0},{"current":2696.794,"min":1200.0,"max":3600.0},{"current":2659.245,"min":1200.0,"max":3600.0},{"current":2702.683,"min":1200.0,"max":3600.0},{"current":2696.675,"min":1200.0,"max":3600.0},{"current":2696.537,"min":1200.0,"max":3600.0},{"current":2693.815,"min":1200.0,"max":3600.0},{"current":2658.536,"min":1200.0,"max":3600.0},{"current":2696.574,"min":1200.0,"max":3600.0},{"current":2740.835,"min":1200.0,"max":3600.0},{"current":2781.053,"min":1200.0,"max":3600.0},{"current":2695.024,"min":1200.0,"max":3600.0},{"current":2756.399,"min":1200.0,"max":3600.0},{"current":2694.018,"min":1200.0,"max":3600.0},{"current":2698.499,"min":1200.0,"max":3600.0},{"current":2695.976,"min":1200.0,"max":3600.0},{"current":2748.642,"min":1200.0,"max":3600.0},{"current":2697.01,"min":1200.0,"max":3600.0},{"current":2696.046,"min":1200.0,"max":3600.0},{"current":2695.301,"min":1200.0,"max":3600.0},{"current":2728.92,"min":1200.0,"max":3600.0},{"current":2708.387,"min":1200.0,"max":3600.0},{"current":2708.059,"min":1200.0,"max":3600.0},{"current":2693.747,"min":1200.0,"max":3600.0},{"current":2748.035,"min":1200.0,"max":3600.0},{"current":2741.611,"min":1200.0,"max":3600.0},{"current":2698.383,"min":1200.0,"max":3600.0},{"current":2741.063,"min":1200.0,"max":3600.0},{"current":2736.68,"min":1200.0,"max":3600.0},{"current":2694.803,"min":1200.0,"max":3600.0},{"current":2695.296,"min":1200.0,"max":3600.0},{"current":2694.339,"min":1200.0,"max":3600.0},{"current":2695.201,"min":1200.0,"max":3600.0},{"current":2694.482,"min":1200.0,"max":3600.0},{"current":2695.597,"min":1200.0,"max":3600.0},{"current":2755.962,"min":1200.0,"max":3600.0},{"current":2694.718,"min":1200.0,"max":3600.0},{"current":2604.154,"min":1200.0,"max":3600.0},{"current":2694.517,"min":1200.0,"max":3600.0},{"current":2727.848,"min":1200.0,"max":3600.0},{"current":2734.142,"min":1200.0,"max":3600.0},{"current":2696.236,"min":1200.0,"max":3600.0},{"current":2649.371,"min":1200.0,"max":3600.0},{"current":2695.726,"min":1200.0,"max":3600.0},{"current":2694.454,"min":1200.0,"max":3600.0},{"current":2711.234,"min":1200.0,"max":3600.0},{"current":2791.423,"min":1200.0,"max":3600.0},{"current":2695.126,"min":1200.0,"max":3600.0},{"current":2812.681,"min":1200.0,"max":3600.0}],"disk_write_speed":72.15030619512802,"process_ids":[2113736,2113939]}
+{"timestamp":1678267730.604178,"rapl_power_draw_absolute":158.50922032592683,"rapl_estimated_attributable_power_draw":8.06939276407826,"cpu_time_seconds":{"2113736":{"user":661.13,"system":131.72,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":10.71,"system":15.64,"children_user":4.62,"children_system":156.8,"iowait":16.47}},"average_relative_cpu_utilization":0.05869994654462496,"absolute_cpu_utilization":0.9987327907449374,"relative_mem_usage":0.01647536127010083,"absolute_mem_usage":3388933120.0,"absolute_mem_percent_usage":0.006265023776917195,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2928119808,"pss":3091852288,"swap":0},"2113939":{"rss":448151552,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160354304,"pss":297080832,"swap":0}},"nvidia_draw_absolute":817.6700000000001,"nvidia_estimated_attributable_power_draw":215.69,"average_gpu_estimated_utilization_absolute":0.276,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":11.0,"mem":7.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.0,"mem":5.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":75.33333333333333,"mem":43.333333333333336,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":27.6,"mem":18.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":215.69},"cpu_count_adjusted_average_load":[0.23575,0.23325,0.225875],"cpu_freq":[{"current":2677.69,"min":1200.0,"max":3600.0},{"current":2628.859,"min":1200.0,"max":3600.0},{"current":2694.898,"min":1200.0,"max":3600.0},{"current":2654.982,"min":1200.0,"max":3600.0},{"current":2707.351,"min":1200.0,"max":3600.0},{"current":2709.321,"min":1200.0,"max":3600.0},{"current":2724.489,"min":1200.0,"max":3600.0},{"current":2715.281,"min":1200.0,"max":3600.0},{"current":2693.814,"min":1200.0,"max":3600.0},{"current":2694.901,"min":1200.0,"max":3600.0},{"current":2725.655,"min":1200.0,"max":3600.0},{"current":2747.347,"min":1200.0,"max":3600.0},{"current":2696.37,"min":1200.0,"max":3600.0},{"current":2710.205,"min":1200.0,"max":3600.0},{"current":2697.667,"min":1200.0,"max":3600.0},{"current":2705.96,"min":1200.0,"max":3600.0},{"current":2696.414,"min":1200.0,"max":3600.0},{"current":2708.781,"min":1200.0,"max":3600.0},{"current":2695.765,"min":1200.0,"max":3600.0},{"current":2692.367,"min":1200.0,"max":3600.0},{"current":2694.653,"min":1200.0,"max":3600.0},{"current":2694.445,"min":1200.0,"max":3600.0},{"current":2698.251,"min":1200.0,"max":3600.0},{"current":2709.512,"min":1200.0,"max":3600.0},{"current":2700.164,"min":1200.0,"max":3600.0},{"current":2695.843,"min":1200.0,"max":3600.0},{"current":2696.491,"min":1200.0,"max":3600.0},{"current":2701.735,"min":1200.0,"max":3600.0},{"current":2705.524,"min":1200.0,"max":3600.0},{"current":2705.654,"min":1200.0,"max":3600.0},{"current":2690.53,"min":1200.0,"max":3600.0},{"current":2635.094,"min":1200.0,"max":3600.0},{"current":2693.883,"min":1200.0,"max":3600.0},{"current":2702.457,"min":1200.0,"max":3600.0},{"current":2678.421,"min":1200.0,"max":3600.0},{"current":2685.447,"min":1200.0,"max":3600.0},{"current":2696.579,"min":1200.0,"max":3600.0},{"current":2627.827,"min":1200.0,"max":3600.0},{"current":2695.529,"min":1200.0,"max":3600.0},{"current":2695.173,"min":1200.0,"max":3600.0},{"current":2719.19,"min":1200.0,"max":3600.0},{"current":2727.94,"min":1200.0,"max":3600.0},{"current":2708.9,"min":1200.0,"max":3600.0},{"current":2743.231,"min":1200.0,"max":3600.0},{"current":2694.171,"min":1200.0,"max":3600.0},{"current":2693.984,"min":1200.0,"max":3600.0},{"current":2693.503,"min":1200.0,"max":3600.0},{"current":2745.979,"min":1200.0,"max":3600.0},{"current":2701.499,"min":1200.0,"max":3600.0},{"current":2706.248,"min":1200.0,"max":3600.0},{"current":2707.724,"min":1200.0,"max":3600.0},{"current":2757.939,"min":1200.0,"max":3600.0},{"current":2694.608,"min":1200.0,"max":3600.0},{"current":2693.986,"min":1200.0,"max":3600.0},{"current":2695.356,"min":1200.0,"max":3600.0},{"current":2712.034,"min":1200.0,"max":3600.0},{"current":2711.381,"min":1200.0,"max":3600.0},{"current":2696.961,"min":1200.0,"max":3600.0},{"current":2733.084,"min":1200.0,"max":3600.0},{"current":2706.63,"min":1200.0,"max":3600.0},{"current":2696.404,"min":1200.0,"max":3600.0},{"current":2697.724,"min":1200.0,"max":3600.0},{"current":2694.923,"min":1200.0,"max":3600.0},{"current":2651.947,"min":1200.0,"max":3600.0},{"current":2697.013,"min":1200.0,"max":3600.0},{"current":2696.965,"min":1200.0,"max":3600.0},{"current":2735.336,"min":1200.0,"max":3600.0},{"current":2694.56,"min":1200.0,"max":3600.0},{"current":2696.178,"min":1200.0,"max":3600.0},{"current":2720.213,"min":1200.0,"max":3600.0},{"current":2781.385,"min":1200.0,"max":3600.0},{"current":2706.252,"min":1200.0,"max":3600.0},{"current":2694.733,"min":1200.0,"max":3600.0},{"current":2694.114,"min":1200.0,"max":3600.0},{"current":2693.846,"min":1200.0,"max":3600.0},{"current":2696.33,"min":1200.0,"max":3600.0},{"current":2709.455,"min":1200.0,"max":3600.0},{"current":2688.831,"min":1200.0,"max":3600.0},{"current":2693.796,"min":1200.0,"max":3600.0},{"current":2776.012,"min":1200.0,"max":3600.0}],"disk_write_speed":72.51478221862946,"process_ids":[2113736,2113939]}
+{"timestamp":1678267746.732194,"rapl_power_draw_absolute":157.70334486620786,"rapl_estimated_attributable_power_draw":8.25006559499462,"cpu_time_seconds":{"2113736":{"user":674.72,"system":134.27,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":10.91,"system":15.95,"children_user":4.75,"children_system":159.94,"iowait":16.82}},"average_relative_cpu_utilization":0.06039322305524123,"absolute_cpu_utilization":1.0037258646584148,"relative_mem_usage":0.01651002097732902,"absolute_mem_usage":3388936192.0,"absolute_mem_percent_usage":0.0062650294560357735,"mem_info_per_process":{"2113736":{"rss":3529961472,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":2928119808,"pss":3091855360,"swap":0},"2113939":{"rss":448151552,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160354304,"pss":297080832,"swap":0}},"nvidia_draw_absolute":843.04,"nvidia_estimated_attributable_power_draw":218.52,"average_gpu_estimated_utilization_absolute":0.23600000000000002,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":9.0,"mem":6.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":13.333333333333334,"mem":7.333333333333333,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":76.25,"mem":43.5,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":23.6,"mem":15.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":218.52},"cpu_count_adjusted_average_load":[0.235875,0.23349999999999999,0.226125],"cpu_freq":[{"current":2701.93,"min":1200.0,"max":3600.0},{"current":2694.899,"min":1200.0,"max":3600.0},{"current":2704.837,"min":1200.0,"max":3600.0},{"current":2647.725,"min":1200.0,"max":3600.0},{"current":2708.474,"min":1200.0,"max":3600.0},{"current":2706.555,"min":1200.0,"max":3600.0},{"current":2730.997,"min":1200.0,"max":3600.0},{"current":2627.621,"min":1200.0,"max":3600.0},{"current":2697.998,"min":1200.0,"max":3600.0},{"current":2696.248,"min":1200.0,"max":3600.0},{"current":2696.258,"min":1200.0,"max":3600.0},{"current":2696.615,"min":1200.0,"max":3600.0},{"current":2709.1,"min":1200.0,"max":3600.0},{"current":2696.149,"min":1200.0,"max":3600.0},{"current":2698.029,"min":1200.0,"max":3600.0},{"current":2710.766,"min":1200.0,"max":3600.0},{"current":2696.416,"min":1200.0,"max":3600.0},{"current":2713.954,"min":1200.0,"max":3600.0},{"current":2697.408,"min":1200.0,"max":3600.0},{"current":2629.641,"min":1200.0,"max":3600.0},{"current":2695.22,"min":1200.0,"max":3600.0},{"current":2853.184,"min":1200.0,"max":3600.0},{"current":2840.954,"min":1200.0,"max":3600.0},{"current":2792.11,"min":1200.0,"max":3600.0},{"current":2693.248,"min":1200.0,"max":3600.0},{"current":2693.443,"min":1200.0,"max":3600.0},{"current":2694.747,"min":1200.0,"max":3600.0},{"current":2699.002,"min":1200.0,"max":3600.0},{"current":2693.759,"min":1200.0,"max":3600.0},{"current":2697.825,"min":1200.0,"max":3600.0},{"current":2793.529,"min":1200.0,"max":3600.0},{"current":2836.376,"min":1200.0,"max":3600.0},{"current":2696.268,"min":1200.0,"max":3600.0},{"current":2695.436,"min":1200.0,"max":3600.0},{"current":2792.979,"min":1200.0,"max":3600.0},{"current":2698.148,"min":1200.0,"max":3600.0},{"current":2695.454,"min":1200.0,"max":3600.0},{"current":2691.593,"min":1200.0,"max":3600.0},{"current":2700.448,"min":1200.0,"max":3600.0},{"current":2694.635,"min":1200.0,"max":3600.0},{"current":2777.352,"min":1200.0,"max":3600.0},{"current":2745.088,"min":1200.0,"max":3600.0},{"current":2694.868,"min":1200.0,"max":3600.0},{"current":2773.56,"min":1200.0,"max":3600.0},{"current":2725.564,"min":1200.0,"max":3600.0},{"current":2694.068,"min":1200.0,"max":3600.0},{"current":2791.028,"min":1200.0,"max":3600.0},{"current":2807.074,"min":1200.0,"max":3600.0},{"current":2706.54,"min":1200.0,"max":3600.0},{"current":2698.427,"min":1200.0,"max":3600.0},{"current":2696.359,"min":1200.0,"max":3600.0},{"current":2728.357,"min":1200.0,"max":3600.0},{"current":2694.651,"min":1200.0,"max":3600.0},{"current":2707.993,"min":1200.0,"max":3600.0},{"current":2694.009,"min":1200.0,"max":3600.0},{"current":2729.014,"min":1200.0,"max":3600.0},{"current":2698.841,"min":1200.0,"max":3600.0},{"current":2709.185,"min":1200.0,"max":3600.0},{"current":2732.935,"min":1200.0,"max":3600.0},{"current":2763.441,"min":1200.0,"max":3600.0},{"current":2694.055,"min":1200.0,"max":3600.0},{"current":2694.801,"min":1200.0,"max":3600.0},{"current":2694.948,"min":1200.0,"max":3600.0},{"current":2693.439,"min":1200.0,"max":3600.0},{"current":2732.317,"min":1200.0,"max":3600.0},{"current":2693.829,"min":1200.0,"max":3600.0},{"current":2747.461,"min":1200.0,"max":3600.0},{"current":2696.018,"min":1200.0,"max":3600.0},{"current":2697.382,"min":1200.0,"max":3600.0},{"current":2694.276,"min":1200.0,"max":3600.0},{"current":2693.765,"min":1200.0,"max":3600.0},{"current":2814.192,"min":1200.0,"max":3600.0},{"current":2694.729,"min":1200.0,"max":3600.0},{"current":2694.727,"min":1200.0,"max":3600.0},{"current":2762.478,"min":1200.0,"max":3600.0},{"current":2693.858,"min":1200.0,"max":3600.0},{"current":2715.195,"min":1200.0,"max":3600.0},{"current":2750.814,"min":1200.0,"max":3600.0},{"current":2693.802,"min":1200.0,"max":3600.0},{"current":2714.646,"min":1200.0,"max":3600.0}],"disk_write_speed":71.62180145771848,"process_ids":[2113736,2113939]}
+{"timestamp":1678267762.952224,"rapl_power_draw_absolute":155.11463100351037,"rapl_estimated_attributable_power_draw":8.550857545109702,"cpu_time_seconds":{"2113736":{"user":688.23,"system":136.99,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":11.11,"system":16.26,"children_user":4.85,"children_system":163.17,"iowait":17.16}},"average_relative_cpu_utilization":0.06398106430725237,"absolute_cpu_utilization":1.0090028016334245,"relative_mem_usage":0.016502478990966428,"absolute_mem_usage":3388936192.0,"absolute_mem_percent_usage":0.0062650294560357735,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2928119808,"pss":3091855360,"swap":0},"2113939":{"rss":448151552,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160354304,"pss":297080832,"swap":0}},"nvidia_draw_absolute":655.98,"nvidia_estimated_attributable_power_draw":248.11,"average_gpu_estimated_utilization_absolute":0.284,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":12.0,"mem":7.5,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.0,"mem":3.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":76.33333333333333,"mem":43.666666666666664,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":28.4,"mem":19.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":248.11},"cpu_count_adjusted_average_load":[0.23625,0.23374999999999999,0.226375],"cpu_freq":[{"current":2703.158,"min":1200.0,"max":3600.0},{"current":2668.994,"min":1200.0,"max":3600.0},{"current":2695.717,"min":1200.0,"max":3600.0},{"current":2694.714,"min":1200.0,"max":3600.0},{"current":2713.666,"min":1200.0,"max":3600.0},{"current":2711.54,"min":1200.0,"max":3600.0},{"current":2780.015,"min":1200.0,"max":3600.0},{"current":2694.913,"min":1200.0,"max":3600.0},{"current":2699.202,"min":1200.0,"max":3600.0},{"current":2696.429,"min":1200.0,"max":3600.0},{"current":2695.203,"min":1200.0,"max":3600.0},{"current":2662.468,"min":1200.0,"max":3600.0},{"current":2699.528,"min":1200.0,"max":3600.0},{"current":2761.141,"min":1200.0,"max":3600.0},{"current":2694.274,"min":1200.0,"max":3600.0},{"current":2696.542,"min":1200.0,"max":3600.0},{"current":2703.963,"min":1200.0,"max":3600.0},{"current":2709.883,"min":1200.0,"max":3600.0},{"current":2693.105,"min":1200.0,"max":3600.0},{"current":2632.097,"min":1200.0,"max":3600.0},{"current":2705.429,"min":1200.0,"max":3600.0},{"current":2650.055,"min":1200.0,"max":3600.0},{"current":2701.518,"min":1200.0,"max":3600.0},{"current":2703.585,"min":1200.0,"max":3600.0},{"current":2691.063,"min":1200.0,"max":3600.0},{"current":2694.124,"min":1200.0,"max":3600.0},{"current":2694.479,"min":1200.0,"max":3600.0},{"current":2693.809,"min":1200.0,"max":3600.0},{"current":2773.737,"min":1200.0,"max":3600.0},{"current":2708.18,"min":1200.0,"max":3600.0},{"current":2698.752,"min":1200.0,"max":3600.0},{"current":2768.579,"min":1200.0,"max":3600.0},{"current":2704.23,"min":1200.0,"max":3600.0},{"current":2753.255,"min":1200.0,"max":3600.0},{"current":2724.005,"min":1200.0,"max":3600.0},{"current":2750.483,"min":1200.0,"max":3600.0},{"current":2697.367,"min":1200.0,"max":3600.0},{"current":2693.241,"min":1200.0,"max":3600.0},{"current":2696.831,"min":1200.0,"max":3600.0},{"current":2795.283,"min":1200.0,"max":3600.0},{"current":2701.913,"min":1200.0,"max":3600.0},{"current":2709.411,"min":1200.0,"max":3600.0},{"current":2694.767,"min":1200.0,"max":3600.0},{"current":2689.299,"min":1200.0,"max":3600.0},{"current":2693.823,"min":1200.0,"max":3600.0},{"current":2698.368,"min":1200.0,"max":3600.0},{"current":2689.915,"min":1200.0,"max":3600.0},{"current":2758.792,"min":1200.0,"max":3600.0},{"current":2937.967,"min":1200.0,"max":3600.0},{"current":2733.516,"min":1200.0,"max":3600.0},{"current":2697.607,"min":1200.0,"max":3600.0},{"current":2718.875,"min":1200.0,"max":3600.0},{"current":2693.886,"min":1200.0,"max":3600.0},{"current":2694.014,"min":1200.0,"max":3600.0},{"current":2696.656,"min":1200.0,"max":3600.0},{"current":2693.781,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2693.754,"min":1200.0,"max":3600.0},{"current":2685.539,"min":1200.0,"max":3600.0},{"current":2665.778,"min":1200.0,"max":3600.0},{"current":2747.514,"min":1200.0,"max":3600.0},{"current":2591.706,"min":1200.0,"max":3600.0},{"current":2761.726,"min":1200.0,"max":3600.0},{"current":2693.224,"min":1200.0,"max":3600.0},{"current":2780.245,"min":1200.0,"max":3600.0},{"current":2695.331,"min":1200.0,"max":3600.0},{"current":2694.953,"min":1200.0,"max":3600.0},{"current":2696.454,"min":1200.0,"max":3600.0},{"current":2699.613,"min":1200.0,"max":3600.0},{"current":2733.548,"min":1200.0,"max":3600.0},{"current":3005.727,"min":1200.0,"max":3600.0},{"current":2819.458,"min":1200.0,"max":3600.0},{"current":2894.797,"min":1200.0,"max":3600.0},{"current":2995.329,"min":1200.0,"max":3600.0},{"current":3193.547,"min":1200.0,"max":3600.0},{"current":3143.601,"min":1200.0,"max":3600.0},{"current":3266.68,"min":1200.0,"max":3600.0},{"current":2701.452,"min":1200.0,"max":3600.0},{"current":2721.46,"min":1200.0,"max":3600.0},{"current":2654.198,"min":1200.0,"max":3600.0}],"disk_write_speed":10.86511550796044,"process_ids":[2113736,2113939]}
+{"timestamp":1678267779.200238,"rapl_power_draw_absolute":157.55039847566653,"rapl_estimated_attributable_power_draw":8.235179419549993,"cpu_time_seconds":{"2113736":{"user":702.03,"system":139.43,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":11.24,"system":16.56,"children_user":4.95,"children_system":166.41,"iowait":17.26}},"average_relative_cpu_utilization":0.060346286328180246,"absolute_cpu_utilization":0.9990457767814094,"relative_mem_usage":0.016483792230307732,"absolute_mem_usage":3388936192.0,"absolute_mem_percent_usage":0.0062650294560357735,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2928119808,"pss":3091855360,"swap":0},"2113939":{"rss":448151552,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160354304,"pss":297080832,"swap":0}},"nvidia_draw_absolute":886.8700000000001,"nvidia_estimated_attributable_power_draw":91.02,"average_gpu_estimated_utilization_absolute":0.25666666666666665,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":13.75,"mem":8.75,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":4.666666666666667,"mem":2.3333333333333335,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":74.66666666666667,"mem":42.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.666666666666668,"mem":17.666666666666668,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":91.02},"cpu_count_adjusted_average_load":[0.23700000000000002,0.234125,0.226625],"cpu_freq":[{"current":2666.703,"min":1200.0,"max":3600.0},{"current":2694.986,"min":1200.0,"max":3600.0},{"current":2696.091,"min":1200.0,"max":3600.0},{"current":2696.52,"min":1200.0,"max":3600.0},{"current":2700.698,"min":1200.0,"max":3600.0},{"current":2712.892,"min":1200.0,"max":3600.0},{"current":2753.826,"min":1200.0,"max":3600.0},{"current":2700.077,"min":1200.0,"max":3600.0},{"current":2693.704,"min":1200.0,"max":3600.0},{"current":2698.944,"min":1200.0,"max":3600.0},{"current":2699.412,"min":1200.0,"max":3600.0},{"current":2693.5,"min":1200.0,"max":3600.0},{"current":2696.986,"min":1200.0,"max":3600.0},{"current":2702.414,"min":1200.0,"max":3600.0},{"current":2709.823,"min":1200.0,"max":3600.0},{"current":2704.822,"min":1200.0,"max":3600.0},{"current":2696.287,"min":1200.0,"max":3600.0},{"current":2712.972,"min":1200.0,"max":3600.0},{"current":2728.752,"min":1200.0,"max":3600.0},{"current":2694.781,"min":1200.0,"max":3600.0},{"current":2696.195,"min":1200.0,"max":3600.0},{"current":2703.893,"min":1200.0,"max":3600.0},{"current":2767.172,"min":1200.0,"max":3600.0},{"current":2730.263,"min":1200.0,"max":3600.0},{"current":2696.845,"min":1200.0,"max":3600.0},{"current":2701.845,"min":1200.0,"max":3600.0},{"current":2693.003,"min":1200.0,"max":3600.0},{"current":2744.397,"min":1200.0,"max":3600.0},{"current":3228.465,"min":1200.0,"max":3600.0},{"current":2792.502,"min":1200.0,"max":3600.0},{"current":2780.393,"min":1200.0,"max":3600.0},{"current":2753.368,"min":1200.0,"max":3600.0},{"current":2696.89,"min":1200.0,"max":3600.0},{"current":2693.997,"min":1200.0,"max":3600.0},{"current":2696.013,"min":1200.0,"max":3600.0},{"current":2694.35,"min":1200.0,"max":3600.0},{"current":2696.047,"min":1200.0,"max":3600.0},{"current":2841.863,"min":1200.0,"max":3600.0},{"current":2696.622,"min":1200.0,"max":3600.0},{"current":2694.797,"min":1200.0,"max":3600.0},{"current":2711.92,"min":1200.0,"max":3600.0},{"current":2730.128,"min":1200.0,"max":3600.0},{"current":2720.97,"min":1200.0,"max":3600.0},{"current":2756.307,"min":1200.0,"max":3600.0},{"current":2696.065,"min":1200.0,"max":3600.0},{"current":2694.117,"min":1200.0,"max":3600.0},{"current":2694.816,"min":1200.0,"max":3600.0},{"current":2715.512,"min":1200.0,"max":3600.0},{"current":2727.999,"min":1200.0,"max":3600.0},{"current":2694.445,"min":1200.0,"max":3600.0},{"current":2698.751,"min":1200.0,"max":3600.0},{"current":2737.816,"min":1200.0,"max":3600.0},{"current":2701.084,"min":1200.0,"max":3600.0},{"current":2696.416,"min":1200.0,"max":3600.0},{"current":2696.641,"min":1200.0,"max":3600.0},{"current":2695.49,"min":1200.0,"max":3600.0},{"current":2714.713,"min":1200.0,"max":3600.0},{"current":2744.705,"min":1200.0,"max":3600.0},{"current":2709.791,"min":1200.0,"max":3600.0},{"current":2778.162,"min":1200.0,"max":3600.0},{"current":2695.779,"min":1200.0,"max":3600.0},{"current":2759.836,"min":1200.0,"max":3600.0},{"current":2694.665,"min":1200.0,"max":3600.0},{"current":2695.866,"min":1200.0,"max":3600.0},{"current":2754.627,"min":1200.0,"max":3600.0},{"current":2694.33,"min":1200.0,"max":3600.0},{"current":2760.055,"min":1200.0,"max":3600.0},{"current":2696.09,"min":1200.0,"max":3600.0},{"current":2695.002,"min":1200.0,"max":3600.0},{"current":2693.637,"min":1200.0,"max":3600.0},{"current":2698.912,"min":1200.0,"max":3600.0},{"current":2813.773,"min":1200.0,"max":3600.0},{"current":2694.889,"min":1200.0,"max":3600.0},{"current":2708.869,"min":1200.0,"max":3600.0},{"current":2697.544,"min":1200.0,"max":3600.0},{"current":2697.083,"min":1200.0,"max":3600.0},{"current":2783.897,"min":1200.0,"max":3600.0},{"current":2731.452,"min":1200.0,"max":3600.0},{"current":2696.72,"min":1200.0,"max":3600.0},{"current":2754.645,"min":1200.0,"max":3600.0}],"disk_write_speed":70.31612300238477,"process_ids":[2113736,2113939]}
+{"timestamp":1678267795.292186,"rapl_power_draw_absolute":157.93527305308805,"rapl_estimated_attributable_power_draw":8.338958334845207,"cpu_time_seconds":{"2113736":{"user":715.35,"system":142.19,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":11.48,"system":16.85,"children_user":5.02,"children_system":169.63,"iowait":17.6}},"average_relative_cpu_utilization":0.06093259000472025,"absolute_cpu_utilization":1.0086850934638325,"relative_mem_usage":0.01649589093310519,"absolute_mem_usage":3388934144.0,"absolute_mem_percent_usage":0.006265025669956722,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2928119808,"pss":3091853312,"swap":0},"2113939":{"rss":448151552,"vms":11098914816,"shared":22138880,"text":2633728,"lib":0,"data":2829561856,"dirty":0,"uss":160354304,"pss":297080832,"swap":0}},"nvidia_draw_absolute":685.95,"nvidia_estimated_attributable_power_draw":258.97,"average_gpu_estimated_utilization_absolute":0.265,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":7.0,"mem":5.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":74.0,"mem":42.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":26.5,"mem":17.5,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":258.97},"cpu_count_adjusted_average_load":[0.232375,0.23325,0.226375],"cpu_freq":[{"current":2714.797,"min":1200.0,"max":3600.0},{"current":2631.946,"min":1200.0,"max":3600.0},{"current":2710.03,"min":1200.0,"max":3600.0},{"current":2756.138,"min":1200.0,"max":3600.0},{"current":2710.164,"min":1200.0,"max":3600.0},{"current":2696.352,"min":1200.0,"max":3600.0},{"current":2722.009,"min":1200.0,"max":3600.0},{"current":2696.032,"min":1200.0,"max":3600.0},{"current":2872.018,"min":1200.0,"max":3600.0},{"current":2696.403,"min":1200.0,"max":3600.0},{"current":2695.655,"min":1200.0,"max":3600.0},{"current":2724.575,"min":1200.0,"max":3600.0},{"current":2694.679,"min":1200.0,"max":3600.0},{"current":2700.35,"min":1200.0,"max":3600.0},{"current":2709.817,"min":1200.0,"max":3600.0},{"current":2714.568,"min":1200.0,"max":3600.0},{"current":2697.515,"min":1200.0,"max":3600.0},{"current":2702.474,"min":1200.0,"max":3600.0},{"current":2694.289,"min":1200.0,"max":3600.0},{"current":2592.907,"min":1200.0,"max":3600.0},{"current":2708.092,"min":1200.0,"max":3600.0},{"current":2697.764,"min":1200.0,"max":3600.0},{"current":2759.36,"min":1200.0,"max":3600.0},{"current":2764.463,"min":1200.0,"max":3600.0},{"current":2693.979,"min":1200.0,"max":3600.0},{"current":2703.271,"min":1200.0,"max":3600.0},{"current":2677.561,"min":1200.0,"max":3600.0},{"current":2697.158,"min":1200.0,"max":3600.0},{"current":2697.149,"min":1200.0,"max":3600.0},{"current":2695.044,"min":1200.0,"max":3600.0},{"current":2697.232,"min":1200.0,"max":3600.0},{"current":2687.839,"min":1200.0,"max":3600.0},{"current":2735.076,"min":1200.0,"max":3600.0},{"current":2696.646,"min":1200.0,"max":3600.0},{"current":2774.853,"min":1200.0,"max":3600.0},{"current":2695.035,"min":1200.0,"max":3600.0},{"current":2694.284,"min":1200.0,"max":3600.0},{"current":2704.715,"min":1200.0,"max":3600.0},{"current":2694.904,"min":1200.0,"max":3600.0},{"current":2695.929,"min":1200.0,"max":3600.0},{"current":2725.559,"min":1200.0,"max":3600.0},{"current":2739.361,"min":1200.0,"max":3600.0},{"current":2694.376,"min":1200.0,"max":3600.0},{"current":2695.856,"min":1200.0,"max":3600.0},{"current":2694.033,"min":1200.0,"max":3600.0},{"current":2694.035,"min":1200.0,"max":3600.0},{"current":2693.963,"min":1200.0,"max":3600.0},{"current":2698.214,"min":1200.0,"max":3600.0},{"current":2709.871,"min":1200.0,"max":3600.0},{"current":2695.344,"min":1200.0,"max":3600.0},{"current":2697.634,"min":1200.0,"max":3600.0},{"current":2703.621,"min":1200.0,"max":3600.0},{"current":2695.872,"min":1200.0,"max":3600.0},{"current":2694.344,"min":1200.0,"max":3600.0},{"current":2695.168,"min":1200.0,"max":3600.0},{"current":2694.774,"min":1200.0,"max":3600.0},{"current":2697.782,"min":1200.0,"max":3600.0},{"current":2693.769,"min":1200.0,"max":3600.0},{"current":2721.683,"min":1200.0,"max":3600.0},{"current":2716.394,"min":1200.0,"max":3600.0},{"current":2694.897,"min":1200.0,"max":3600.0},{"current":2693.852,"min":1200.0,"max":3600.0},{"current":2628.177,"min":1200.0,"max":3600.0},{"current":2695.07,"min":1200.0,"max":3600.0},{"current":2831.963,"min":1200.0,"max":3600.0},{"current":2694.439,"min":1200.0,"max":3600.0},{"current":2726.182,"min":1200.0,"max":3600.0},{"current":2693.68,"min":1200.0,"max":3600.0},{"current":2695.624,"min":1200.0,"max":3600.0},{"current":2694.199,"min":1200.0,"max":3600.0},{"current":2693.831,"min":1200.0,"max":3600.0},{"current":2831.318,"min":1200.0,"max":3600.0},{"current":2873.818,"min":1200.0,"max":3600.0},{"current":2694.224,"min":1200.0,"max":3600.0},{"current":2694.944,"min":1200.0,"max":3600.0},{"current":2696.111,"min":1200.0,"max":3600.0},{"current":2693.78,"min":1200.0,"max":3600.0},{"current":2740.598,"min":1200.0,"max":3600.0},{"current":2694.749,"min":1200.0,"max":3600.0},{"current":2677.425,"min":1200.0,"max":3600.0}],"disk_write_speed":71.72478421279888,"process_ids":[2113736,2113939]}
+{"timestamp":1678267811.640237,"rapl_power_draw_absolute":156.60800113753157,"rapl_estimated_attributable_power_draw":8.313979354731769,"cpu_time_seconds":{"2113736":{"user":728.95,"system":144.94,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":11.79,"system":17.14,"children_user":5.09,"children_system":172.85,"iowait":17.94}},"average_relative_cpu_utilization":0.06142116339242489,"absolute_cpu_utilization":0.9987255207278715,"relative_mem_usage":0.01651658367345621,"absolute_mem_usage":3394203648.0,"absolute_mem_percent_usage":0.006274767251358174,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929868800,"pss":3092721664,"swap":0},"2113939":{"rss":452300800,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165605376,"pss":301481984,"swap":0}},"nvidia_draw_absolute":690.68,"nvidia_estimated_attributable_power_draw":68.99,"average_gpu_estimated_utilization_absolute":0.2625,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":74.0,"mem":41.75,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":26.25,"mem":17.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":68.99},"cpu_count_adjusted_average_load":[0.23575,0.23399999999999999,0.22675],"cpu_freq":[{"current":2710.911,"min":1200.0,"max":3600.0},{"current":2647.328,"min":1200.0,"max":3600.0},{"current":2730.859,"min":1200.0,"max":3600.0},{"current":2733.537,"min":1200.0,"max":3600.0},{"current":2710.936,"min":1200.0,"max":3600.0},{"current":2709.215,"min":1200.0,"max":3600.0},{"current":2745.731,"min":1200.0,"max":3600.0},{"current":2711.25,"min":1200.0,"max":3600.0},{"current":2659.306,"min":1200.0,"max":3600.0},{"current":2708.18,"min":1200.0,"max":3600.0},{"current":2696.268,"min":1200.0,"max":3600.0},{"current":2650.815,"min":1200.0,"max":3600.0},{"current":2710.551,"min":1200.0,"max":3600.0},{"current":2695.81,"min":1200.0,"max":3600.0},{"current":2696.734,"min":1200.0,"max":3600.0},{"current":2695.849,"min":1200.0,"max":3600.0},{"current":2696.727,"min":1200.0,"max":3600.0},{"current":2698.009,"min":1200.0,"max":3600.0},{"current":2694.716,"min":1200.0,"max":3600.0},{"current":2743.873,"min":1200.0,"max":3600.0},{"current":2788.113,"min":1200.0,"max":3600.0},{"current":2697.766,"min":1200.0,"max":3600.0},{"current":2702.292,"min":1200.0,"max":3600.0},{"current":2811.479,"min":1200.0,"max":3600.0},{"current":2694.401,"min":1200.0,"max":3600.0},{"current":2696.632,"min":1200.0,"max":3600.0},{"current":2692.076,"min":1200.0,"max":3600.0},{"current":2700.026,"min":1200.0,"max":3600.0},{"current":2727.943,"min":1200.0,"max":3600.0},{"current":2693.957,"min":1200.0,"max":3600.0},{"current":2709.176,"min":1200.0,"max":3600.0},{"current":2692.957,"min":1200.0,"max":3600.0},{"current":2695.908,"min":1200.0,"max":3600.0},{"current":2696.914,"min":1200.0,"max":3600.0},{"current":2786.929,"min":1200.0,"max":3600.0},{"current":2725.78,"min":1200.0,"max":3600.0},{"current":2710.321,"min":1200.0,"max":3600.0},{"current":2708.444,"min":1200.0,"max":3600.0},{"current":2695.253,"min":1200.0,"max":3600.0},{"current":2767.138,"min":1200.0,"max":3600.0},{"current":2696.927,"min":1200.0,"max":3600.0},{"current":2712.929,"min":1200.0,"max":3600.0},{"current":2693.976,"min":1200.0,"max":3600.0},{"current":2694.878,"min":1200.0,"max":3600.0},{"current":2693.889,"min":1200.0,"max":3600.0},{"current":2718.389,"min":1200.0,"max":3600.0},{"current":2609.209,"min":1200.0,"max":3600.0},{"current":2694.157,"min":1200.0,"max":3600.0},{"current":2714.815,"min":1200.0,"max":3600.0},{"current":2697.062,"min":1200.0,"max":3600.0},{"current":2695.006,"min":1200.0,"max":3600.0},{"current":2760.683,"min":1200.0,"max":3600.0},{"current":2694.909,"min":1200.0,"max":3600.0},{"current":2697.34,"min":1200.0,"max":3600.0},{"current":2700.776,"min":1200.0,"max":3600.0},{"current":2695.942,"min":1200.0,"max":3600.0},{"current":2707.228,"min":1200.0,"max":3600.0},{"current":2742.625,"min":1200.0,"max":3600.0},{"current":2745.064,"min":1200.0,"max":3600.0},{"current":2728.421,"min":1200.0,"max":3600.0},{"current":2692.729,"min":1200.0,"max":3600.0},{"current":2694.344,"min":1200.0,"max":3600.0},{"current":2694.437,"min":1200.0,"max":3600.0},{"current":2784.15,"min":1200.0,"max":3600.0},{"current":2755.614,"min":1200.0,"max":3600.0},{"current":2696.262,"min":1200.0,"max":3600.0},{"current":2688.107,"min":1200.0,"max":3600.0},{"current":2698.221,"min":1200.0,"max":3600.0},{"current":2628.487,"min":1200.0,"max":3600.0},{"current":2693.999,"min":1200.0,"max":3600.0},{"current":2693.942,"min":1200.0,"max":3600.0},{"current":2716.046,"min":1200.0,"max":3600.0},{"current":2692.852,"min":1200.0,"max":3600.0},{"current":2695.317,"min":1200.0,"max":3600.0},{"current":2685.772,"min":1200.0,"max":3600.0},{"current":2733.684,"min":1200.0,"max":3600.0},{"current":2711.366,"min":1200.0,"max":3600.0},{"current":2788.609,"min":1200.0,"max":3600.0},{"current":2695.654,"min":1200.0,"max":3600.0},{"current":2695.305,"min":1200.0,"max":3600.0}],"disk_write_speed":72.2512469092062,"process_ids":[2113736,2113939]}
+{"timestamp":1678267828.224245,"rapl_power_draw_absolute":159.3473635372677,"rapl_estimated_attributable_power_draw":8.018775669323716,"cpu_time_seconds":{"2113736":{"user":742.91,"system":147.56,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":11.99,"system":17.46,"children_user":5.21,"children_system":176.08,"iowait":18.28}},"average_relative_cpu_utilization":0.05795137747280551,"absolute_cpu_utilization":0.9986810510757972,"relative_mem_usage":0.01704248625308891,"absolute_mem_usage":3505938432.0,"absolute_mem_percent_usage":0.006481328152291122,"mem_info_per_process":{"2113736":{"rss":3450933248,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3041599488,"pss":3204452352,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301486080,"swap":0}},"nvidia_draw_absolute":686.1200000000001,"nvidia_estimated_attributable_power_draw":68.99,"average_gpu_estimated_utilization_absolute":0.218,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":17.0,"mem":11.333333333333334,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":10.0,"mem":5.75,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":74.0,"mem":42.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":21.8,"mem":13.8,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":68.99},"cpu_count_adjusted_average_load":[0.23450000000000001,0.233875,0.226875],"cpu_freq":[{"current":2707.503,"min":1200.0,"max":3600.0},{"current":2695.818,"min":1200.0,"max":3600.0},{"current":2715.014,"min":1200.0,"max":3600.0},{"current":2748.315,"min":1200.0,"max":3600.0},{"current":2701.658,"min":1200.0,"max":3600.0},{"current":2724.835,"min":1200.0,"max":3600.0},{"current":2705.739,"min":1200.0,"max":3600.0},{"current":2704.695,"min":1200.0,"max":3600.0},{"current":2693.891,"min":1200.0,"max":3600.0},{"current":2694.249,"min":1200.0,"max":3600.0},{"current":2697.11,"min":1200.0,"max":3600.0},{"current":2667.569,"min":1200.0,"max":3600.0},{"current":2698.412,"min":1200.0,"max":3600.0},{"current":2698.342,"min":1200.0,"max":3600.0},{"current":2698.778,"min":1200.0,"max":3600.0},{"current":2711.882,"min":1200.0,"max":3600.0},{"current":2700.087,"min":1200.0,"max":3600.0},{"current":2694.809,"min":1200.0,"max":3600.0},{"current":2689.767,"min":1200.0,"max":3600.0},{"current":2623.541,"min":1200.0,"max":3600.0},{"current":2743.814,"min":1200.0,"max":3600.0},{"current":2693.793,"min":1200.0,"max":3600.0},{"current":2761.894,"min":1200.0,"max":3600.0},{"current":2759.82,"min":1200.0,"max":3600.0},{"current":2684.54,"min":1200.0,"max":3600.0},{"current":2695.457,"min":1200.0,"max":3600.0},{"current":2695.378,"min":1200.0,"max":3600.0},{"current":2697.198,"min":1200.0,"max":3600.0},{"current":2843.577,"min":1200.0,"max":3600.0},{"current":2694.521,"min":1200.0,"max":3600.0},{"current":2714.545,"min":1200.0,"max":3600.0},{"current":2693.987,"min":1200.0,"max":3600.0},{"current":2681.969,"min":1200.0,"max":3600.0},{"current":2693.811,"min":1200.0,"max":3600.0},{"current":2640.879,"min":1200.0,"max":3600.0},{"current":2696.096,"min":1200.0,"max":3600.0},{"current":2695.62,"min":1200.0,"max":3600.0},{"current":2694.033,"min":1200.0,"max":3600.0},{"current":2698.996,"min":1200.0,"max":3600.0},{"current":2707.893,"min":1200.0,"max":3600.0},{"current":2730.102,"min":1200.0,"max":3600.0},{"current":2688.618,"min":1200.0,"max":3600.0},{"current":2695.574,"min":1200.0,"max":3600.0},{"current":2699.887,"min":1200.0,"max":3600.0},{"current":2694.097,"min":1200.0,"max":3600.0},{"current":2694.044,"min":1200.0,"max":3600.0},{"current":2693.39,"min":1200.0,"max":3600.0},{"current":2694.676,"min":1200.0,"max":3600.0},{"current":2662.72,"min":1200.0,"max":3600.0},{"current":2693.946,"min":1200.0,"max":3600.0},{"current":2693.921,"min":1200.0,"max":3600.0},{"current":2699.162,"min":1200.0,"max":3600.0},{"current":2695.199,"min":1200.0,"max":3600.0},{"current":2730.486,"min":1200.0,"max":3600.0},{"current":2694.063,"min":1200.0,"max":3600.0},{"current":2694.642,"min":1200.0,"max":3600.0},{"current":2698.703,"min":1200.0,"max":3600.0},{"current":2692.415,"min":1200.0,"max":3600.0},{"current":2697.53,"min":1200.0,"max":3600.0},{"current":2719.969,"min":1200.0,"max":3600.0},{"current":2692.874,"min":1200.0,"max":3600.0},{"current":2694.164,"min":1200.0,"max":3600.0},{"current":2619.072,"min":1200.0,"max":3600.0},{"current":2695.545,"min":1200.0,"max":3600.0},{"current":2823.152,"min":1200.0,"max":3600.0},{"current":2694.213,"min":1200.0,"max":3600.0},{"current":2789.551,"min":1200.0,"max":3600.0},{"current":2695.639,"min":1200.0,"max":3600.0},{"current":2699.893,"min":1200.0,"max":3600.0},{"current":2694.388,"min":1200.0,"max":3600.0},{"current":2693.77,"min":1200.0,"max":3600.0},{"current":2711.121,"min":1200.0,"max":3600.0},{"current":2652.66,"min":1200.0,"max":3600.0},{"current":2697.152,"min":1200.0,"max":3600.0},{"current":2707.26,"min":1200.0,"max":3600.0},{"current":2694.012,"min":1200.0,"max":3600.0},{"current":2698.885,"min":1200.0,"max":3600.0},{"current":2695.894,"min":1200.0,"max":3600.0},{"current":2696.28,"min":1200.0,"max":3600.0},{"current":2788.997,"min":1200.0,"max":3600.0}],"disk_write_speed":71.83885871992986,"process_ids":[2113736,2113939]}
+{"timestamp":1678267844.36419,"rapl_power_draw_absolute":159.48324955407816,"rapl_estimated_attributable_power_draw":8.205598393050069,"cpu_time_seconds":{"2113736":{"user":756.55,"system":150.08,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":12.19,"system":17.77,"children_user":5.34,"children_system":179.31,"iowait":18.63}},"average_relative_cpu_utilization":0.0591842722773989,"absolute_cpu_utilization":1.0037250099415265,"relative_mem_usage":0.016882109280021276,"absolute_mem_usage":3471028224.0,"absolute_mem_percent_usage":0.006416790648766378,"mem_info_per_process":{"2113736":{"rss":3418275840,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3006689280,"pss":3169542144,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301486080,"swap":0}},"nvidia_draw_absolute":658.2,"nvidia_estimated_attributable_power_draw":68.99,"average_gpu_estimated_utilization_absolute":0.2475,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":5.333333333333333,"mem":3.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":10.333333333333334,"mem":5.333333333333333,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":73.66666666666667,"mem":41.666666666666664,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.75,"mem":17.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":68.99},"cpu_count_adjusted_average_load":[0.23500000000000001,0.23399999999999999,0.227],"cpu_freq":[{"current":2682.414,"min":1200.0,"max":3600.0},{"current":2694.858,"min":1200.0,"max":3600.0},{"current":2694.204,"min":1200.0,"max":3600.0},{"current":2699.35,"min":1200.0,"max":3600.0},{"current":2700.299,"min":1200.0,"max":3600.0},{"current":2710.336,"min":1200.0,"max":3600.0},{"current":2748.409,"min":1200.0,"max":3600.0},{"current":2697.775,"min":1200.0,"max":3600.0},{"current":2759.751,"min":1200.0,"max":3600.0},{"current":2754.239,"min":1200.0,"max":3600.0},{"current":2708.546,"min":1200.0,"max":3600.0},{"current":2701.669,"min":1200.0,"max":3600.0},{"current":2711.057,"min":1200.0,"max":3600.0},{"current":2711.606,"min":1200.0,"max":3600.0},{"current":2694.219,"min":1200.0,"max":3600.0},{"current":2713.691,"min":1200.0,"max":3600.0},{"current":2698.699,"min":1200.0,"max":3600.0},{"current":2700.517,"min":1200.0,"max":3600.0},{"current":2655.655,"min":1200.0,"max":3600.0},{"current":2696.281,"min":1200.0,"max":3600.0},{"current":2721.979,"min":1200.0,"max":3600.0},{"current":2695.84,"min":1200.0,"max":3600.0},{"current":2696.764,"min":1200.0,"max":3600.0},{"current":2826.578,"min":1200.0,"max":3600.0},{"current":2654.177,"min":1200.0,"max":3600.0},{"current":2742.831,"min":1200.0,"max":3600.0},{"current":2629.237,"min":1200.0,"max":3600.0},{"current":2676.803,"min":1200.0,"max":3600.0},{"current":2694.559,"min":1200.0,"max":3600.0},{"current":2695.867,"min":1200.0,"max":3600.0},{"current":2699.507,"min":1200.0,"max":3600.0},{"current":2692.219,"min":1200.0,"max":3600.0},{"current":2694.629,"min":1200.0,"max":3600.0},{"current":2778.719,"min":1200.0,"max":3600.0},{"current":2698.803,"min":1200.0,"max":3600.0},{"current":2696.751,"min":1200.0,"max":3600.0},{"current":2696.143,"min":1200.0,"max":3600.0},{"current":2695.379,"min":1200.0,"max":3600.0},{"current":2695.127,"min":1200.0,"max":3600.0},{"current":2693.812,"min":1200.0,"max":3600.0},{"current":2728.778,"min":1200.0,"max":3600.0},{"current":2710.844,"min":1200.0,"max":3600.0},{"current":2695.238,"min":1200.0,"max":3600.0},{"current":2622.458,"min":1200.0,"max":3600.0},{"current":2694.194,"min":1200.0,"max":3600.0},{"current":2705.324,"min":1200.0,"max":3600.0},{"current":2693.776,"min":1200.0,"max":3600.0},{"current":2694.126,"min":1200.0,"max":3600.0},{"current":2621.682,"min":1200.0,"max":3600.0},{"current":2699.063,"min":1200.0,"max":3600.0},{"current":2698.797,"min":1200.0,"max":3600.0},{"current":2773.915,"min":1200.0,"max":3600.0},{"current":2708.836,"min":1200.0,"max":3600.0},{"current":2698.968,"min":1200.0,"max":3600.0},{"current":2700.731,"min":1200.0,"max":3600.0},{"current":2748.121,"min":1200.0,"max":3600.0},{"current":2711.724,"min":1200.0,"max":3600.0},{"current":2694.888,"min":1200.0,"max":3600.0},{"current":2754.488,"min":1200.0,"max":3600.0},{"current":2740.327,"min":1200.0,"max":3600.0},{"current":2595.687,"min":1200.0,"max":3600.0},{"current":2695.497,"min":1200.0,"max":3600.0},{"current":2695.345,"min":1200.0,"max":3600.0},{"current":2696.037,"min":1200.0,"max":3600.0},{"current":2748.074,"min":1200.0,"max":3600.0},{"current":2675.456,"min":1200.0,"max":3600.0},{"current":2731.048,"min":1200.0,"max":3600.0},{"current":2633.979,"min":1200.0,"max":3600.0},{"current":2633.26,"min":1200.0,"max":3600.0},{"current":2697.82,"min":1200.0,"max":3600.0},{"current":2693.914,"min":1200.0,"max":3600.0},{"current":2715.432,"min":1200.0,"max":3600.0},{"current":2695.526,"min":1200.0,"max":3600.0},{"current":2765.507,"min":1200.0,"max":3600.0},{"current":2695.328,"min":1200.0,"max":3600.0},{"current":2694.661,"min":1200.0,"max":3600.0},{"current":2694.46,"min":1200.0,"max":3600.0},{"current":2707.197,"min":1200.0,"max":3600.0},{"current":2695.527,"min":1200.0,"max":3600.0},{"current":2696.53,"min":1200.0,"max":3600.0}],"disk_write_speed":72.27035829860436,"process_ids":[2113736,2113939]}
+{"timestamp":1678267860.560243,"rapl_power_draw_absolute":158.1184442170725,"rapl_estimated_attributable_power_draw":8.062299920391375,"cpu_time_seconds":{"2113736":{"user":770.09,"system":152.73,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":12.39,"system":18.07,"children_user":5.45,"children_system":182.53,"iowait":18.97}},"average_relative_cpu_utilization":0.05876793873451388,"absolute_cpu_utilization":0.9986737279384913,"relative_mem_usage":0.01650636338867662,"absolute_mem_usage":3394204672.0,"absolute_mem_percent_usage":0.006274769144397701,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929868800,"pss":3092718592,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301486080,"swap":0}},"nvidia_draw_absolute":716.2,"nvidia_estimated_attributable_power_draw":248.43,"average_gpu_estimated_utilization_absolute":0.23,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":5.0,"mem":2.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":74.0,"mem":42.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":23.0,"mem":15.8,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":248.43},"cpu_count_adjusted_average_load":[0.23275,0.23362500000000003,0.227],"cpu_freq":[{"current":2688.459,"min":1200.0,"max":3600.0},{"current":2695.64,"min":1200.0,"max":3600.0},{"current":2694.425,"min":1200.0,"max":3600.0},{"current":2713.999,"min":1200.0,"max":3600.0},{"current":2694.446,"min":1200.0,"max":3600.0},{"current":2742.144,"min":1200.0,"max":3600.0},{"current":2730.234,"min":1200.0,"max":3600.0},{"current":2699.464,"min":1200.0,"max":3600.0},{"current":2778.56,"min":1200.0,"max":3600.0},{"current":2698.425,"min":1200.0,"max":3600.0},{"current":2712.31,"min":1200.0,"max":3600.0},{"current":2793.878,"min":1200.0,"max":3600.0},{"current":2711.259,"min":1200.0,"max":3600.0},{"current":2713.187,"min":1200.0,"max":3600.0},{"current":2698.704,"min":1200.0,"max":3600.0},{"current":2698.002,"min":1200.0,"max":3600.0},{"current":2701.467,"min":1200.0,"max":3600.0},{"current":2697.424,"min":1200.0,"max":3600.0},{"current":2746.898,"min":1200.0,"max":3600.0},{"current":2692.415,"min":1200.0,"max":3600.0},{"current":2730.019,"min":1200.0,"max":3600.0},{"current":2694.645,"min":1200.0,"max":3600.0},{"current":2696.255,"min":1200.0,"max":3600.0},{"current":2738.118,"min":1200.0,"max":3600.0},{"current":2680.204,"min":1200.0,"max":3600.0},{"current":2695.936,"min":1200.0,"max":3600.0},{"current":2697.036,"min":1200.0,"max":3600.0},{"current":2693.764,"min":1200.0,"max":3600.0},{"current":2698.123,"min":1200.0,"max":3600.0},{"current":2694.676,"min":1200.0,"max":3600.0},{"current":2700.889,"min":1200.0,"max":3600.0},{"current":2720.67,"min":1200.0,"max":3600.0},{"current":2699.773,"min":1200.0,"max":3600.0},{"current":2695.719,"min":1200.0,"max":3600.0},{"current":2694.963,"min":1200.0,"max":3600.0},{"current":2711.617,"min":1200.0,"max":3600.0},{"current":2750.039,"min":1200.0,"max":3600.0},{"current":2723.777,"min":1200.0,"max":3600.0},{"current":2694.663,"min":1200.0,"max":3600.0},{"current":2697.677,"min":1200.0,"max":3600.0},{"current":2718.129,"min":1200.0,"max":3600.0},{"current":2708.203,"min":1200.0,"max":3600.0},{"current":2697.785,"min":1200.0,"max":3600.0},{"current":2698.187,"min":1200.0,"max":3600.0},{"current":2694.265,"min":1200.0,"max":3600.0},{"current":2694.41,"min":1200.0,"max":3600.0},{"current":2695.204,"min":1200.0,"max":3600.0},{"current":2694.194,"min":1200.0,"max":3600.0},{"current":2625.091,"min":1200.0,"max":3600.0},{"current":2697.351,"min":1200.0,"max":3600.0},{"current":2695.151,"min":1200.0,"max":3600.0},{"current":2693.974,"min":1200.0,"max":3600.0},{"current":2696.402,"min":1200.0,"max":3600.0},{"current":2696.608,"min":1200.0,"max":3600.0},{"current":2698.031,"min":1200.0,"max":3600.0},{"current":2694.052,"min":1200.0,"max":3600.0},{"current":2693.67,"min":1200.0,"max":3600.0},{"current":2743.878,"min":1200.0,"max":3600.0},{"current":2727.833,"min":1200.0,"max":3600.0},{"current":2696.349,"min":1200.0,"max":3600.0},{"current":2697.667,"min":1200.0,"max":3600.0},{"current":2698.315,"min":1200.0,"max":3600.0},{"current":2694.547,"min":1200.0,"max":3600.0},{"current":2694.898,"min":1200.0,"max":3600.0},{"current":2714.129,"min":1200.0,"max":3600.0},{"current":2695.249,"min":1200.0,"max":3600.0},{"current":2720.072,"min":1200.0,"max":3600.0},{"current":2693.773,"min":1200.0,"max":3600.0},{"current":2700.241,"min":1200.0,"max":3600.0},{"current":2693.777,"min":1200.0,"max":3600.0},{"current":2773.347,"min":1200.0,"max":3600.0},{"current":2768.111,"min":1200.0,"max":3600.0},{"current":2695.673,"min":1200.0,"max":3600.0},{"current":2695.283,"min":1200.0,"max":3600.0},{"current":2695.254,"min":1200.0,"max":3600.0},{"current":2694.715,"min":1200.0,"max":3600.0},{"current":2612.617,"min":1200.0,"max":3600.0},{"current":2694.262,"min":1200.0,"max":3600.0},{"current":2693.771,"min":1200.0,"max":3600.0},{"current":2696.327,"min":1200.0,"max":3600.0}],"disk_write_speed":71.71126084965967,"process_ids":[2113736,2113939]}
+{"timestamp":1678267876.936259,"rapl_power_draw_absolute":160.0751817335227,"rapl_estimated_attributable_power_draw":7.969170328120773,"cpu_time_seconds":{"2113736":{"user":783.81,"system":155.4,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":12.88,"system":18.4,"children_user":5.56,"children_system":185.73,"iowait":19.31}},"average_relative_cpu_utilization":0.057352432917448244,"absolute_cpu_utilization":0.9990351442821515,"relative_mem_usage":0.016634852403422978,"absolute_mem_usage":3421888512.0,"absolute_mem_percent_usage":0.006325947467986562,"mem_info_per_process":{"2113736":{"rss":3369345024,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":2957549568,"pss":3120402432,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301486080,"swap":0}},"nvidia_draw_absolute":693.97,"nvidia_estimated_attributable_power_draw":72.94,"average_gpu_estimated_utilization_absolute":0.255,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":11.5,"mem":7.5,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":8.0,"mem":4.25,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":75.33333333333333,"mem":43.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.5,"mem":17.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":72.94},"cpu_count_adjusted_average_load":[0.231875,0.23337500000000003,0.227],"cpu_freq":[{"current":2704.084,"min":1200.0,"max":3600.0},{"current":2629.497,"min":1200.0,"max":3600.0},{"current":2694.563,"min":1200.0,"max":3600.0},{"current":2773.052,"min":1200.0,"max":3600.0},{"current":2710.81,"min":1200.0,"max":3600.0},{"current":2706.113,"min":1200.0,"max":3600.0},{"current":2791.171,"min":1200.0,"max":3600.0},{"current":2713.035,"min":1200.0,"max":3600.0},{"current":2764.654,"min":1200.0,"max":3600.0},{"current":2732.478,"min":1200.0,"max":3600.0},{"current":2709.646,"min":1200.0,"max":3600.0},{"current":2665.239,"min":1200.0,"max":3600.0},{"current":2709.329,"min":1200.0,"max":3600.0},{"current":2710.646,"min":1200.0,"max":3600.0},{"current":2720.003,"min":1200.0,"max":3600.0},{"current":2710.242,"min":1200.0,"max":3600.0},{"current":2699.188,"min":1200.0,"max":3600.0},{"current":2725.641,"min":1200.0,"max":3600.0},{"current":2703.276,"min":1200.0,"max":3600.0},{"current":2793.765,"min":1200.0,"max":3600.0},{"current":2971.442,"min":1200.0,"max":3600.0},{"current":2699.248,"min":1200.0,"max":3600.0},{"current":2778.747,"min":1200.0,"max":3600.0},{"current":3051.278,"min":1200.0,"max":3600.0},{"current":2794.792,"min":1200.0,"max":3600.0},{"current":2841.593,"min":1200.0,"max":3600.0},{"current":2840.628,"min":1200.0,"max":3600.0},{"current":2742.912,"min":1200.0,"max":3600.0},{"current":3039.302,"min":1200.0,"max":3600.0},{"current":2761.132,"min":1200.0,"max":3600.0},{"current":2806.564,"min":1200.0,"max":3600.0},{"current":2857.5,"min":1200.0,"max":3600.0},{"current":2975.768,"min":1200.0,"max":3600.0},{"current":2794.794,"min":1200.0,"max":3600.0},{"current":2967.389,"min":1200.0,"max":3600.0},{"current":2787.618,"min":1200.0,"max":3600.0},{"current":2848.751,"min":1200.0,"max":3600.0},{"current":2775.17,"min":1200.0,"max":3600.0},{"current":2798.498,"min":1200.0,"max":3600.0},{"current":2796.508,"min":1200.0,"max":3600.0},{"current":2846.125,"min":1200.0,"max":3600.0},{"current":2876.605,"min":1200.0,"max":3600.0},{"current":2711.9,"min":1200.0,"max":3600.0},{"current":2696.489,"min":1200.0,"max":3600.0},{"current":2697.839,"min":1200.0,"max":3600.0},{"current":2708.176,"min":1200.0,"max":3600.0},{"current":2693.588,"min":1200.0,"max":3600.0},{"current":2706.061,"min":1200.0,"max":3600.0},{"current":2693.035,"min":1200.0,"max":3600.0},{"current":2698.953,"min":1200.0,"max":3600.0},{"current":2709.814,"min":1200.0,"max":3600.0},{"current":2835.89,"min":1200.0,"max":3600.0},{"current":2705.896,"min":1200.0,"max":3600.0},{"current":2707.232,"min":1200.0,"max":3600.0},{"current":2709.388,"min":1200.0,"max":3600.0},{"current":2707.84,"min":1200.0,"max":3600.0},{"current":2699.129,"min":1200.0,"max":3600.0},{"current":2694.665,"min":1200.0,"max":3600.0},{"current":2762.555,"min":1200.0,"max":3600.0},{"current":2830.879,"min":1200.0,"max":3600.0},{"current":2763.497,"min":1200.0,"max":3600.0},{"current":2717.431,"min":1200.0,"max":3600.0},{"current":2739.065,"min":1200.0,"max":3600.0},{"current":2965.509,"min":1200.0,"max":3600.0},{"current":3048.642,"min":1200.0,"max":3600.0},{"current":2838.541,"min":1200.0,"max":3600.0},{"current":2942.052,"min":1200.0,"max":3600.0},{"current":2706.876,"min":1200.0,"max":3600.0},{"current":2698.672,"min":1200.0,"max":3600.0},{"current":2709.926,"min":1200.0,"max":3600.0},{"current":2711.385,"min":1200.0,"max":3600.0},{"current":2875.057,"min":1200.0,"max":3600.0},{"current":2863.358,"min":1200.0,"max":3600.0},{"current":2694.492,"min":1200.0,"max":3600.0},{"current":2879.08,"min":1200.0,"max":3600.0},{"current":2734.668,"min":1200.0,"max":3600.0},{"current":2812.259,"min":1200.0,"max":3600.0},{"current":2721.693,"min":1200.0,"max":3600.0},{"current":2697.87,"min":1200.0,"max":3600.0},{"current":2787.652,"min":1200.0,"max":3600.0}],"disk_write_speed":72.97683248258333,"process_ids":[2113736,2113939]}
+{"timestamp":1678267892.652165,"rapl_power_draw_absolute":156.479736282815,"rapl_estimated_attributable_power_draw":9.541254635075408,"cpu_time_seconds":{"2113736":{"user":797.12,"system":157.81,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":13.09,"system":18.68,"children_user":5.64,"children_system":188.93,"iowait":19.66}},"average_relative_cpu_utilization":0.07039408906319065,"absolute_cpu_utilization":0.9987376548226351,"relative_mem_usage":0.016769788174443252,"absolute_mem_usage":3446136832.0,"absolute_mem_percent_usage":0.006370774643965266,"mem_info_per_process":{"2113736":{"rss":3391053824,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":2981797888,"pss":3144650752,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301486080,"swap":0}},"nvidia_draw_absolute":466.5,"nvidia_estimated_attributable_power_draw":69.13,"average_gpu_estimated_utilization_absolute":0.28,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":6.5,"mem":4.5,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.0,"mem":5.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":28.0,"mem":18.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.13},"cpu_count_adjusted_average_load":[0.224625,0.23174999999999998,0.226625],"cpu_freq":[{"current":2767.883,"min":1200.0,"max":3600.0},{"current":2771.786,"min":1200.0,"max":3600.0},{"current":2730.405,"min":1200.0,"max":3600.0},{"current":2714.106,"min":1200.0,"max":3600.0},{"current":3073.18,"min":1200.0,"max":3600.0},{"current":2762.905,"min":1200.0,"max":3600.0},{"current":3187.742,"min":1200.0,"max":3600.0},{"current":2761.327,"min":1200.0,"max":3600.0},{"current":2854.016,"min":1200.0,"max":3600.0},{"current":2852.515,"min":1200.0,"max":3600.0},{"current":2900.145,"min":1200.0,"max":3600.0},{"current":2694.562,"min":1200.0,"max":3600.0},{"current":2696.477,"min":1200.0,"max":3600.0},{"current":2694.591,"min":1200.0,"max":3600.0},{"current":2696.571,"min":1200.0,"max":3600.0},{"current":2700.731,"min":1200.0,"max":3600.0},{"current":2769.072,"min":1200.0,"max":3600.0},{"current":2741.785,"min":1200.0,"max":3600.0},{"current":2696.046,"min":1200.0,"max":3600.0},{"current":2714.241,"min":1200.0,"max":3600.0},{"current":3245.92,"min":1200.0,"max":3600.0},{"current":2940.949,"min":1200.0,"max":3600.0},{"current":2918.094,"min":1200.0,"max":3600.0},{"current":3253.139,"min":1200.0,"max":3600.0},{"current":2825.197,"min":1200.0,"max":3600.0},{"current":2771.917,"min":1200.0,"max":3600.0},{"current":2970.672,"min":1200.0,"max":3600.0},{"current":2841.849,"min":1200.0,"max":3600.0},{"current":2902.559,"min":1200.0,"max":3600.0},{"current":3263.507,"min":1200.0,"max":3600.0},{"current":2973.247,"min":1200.0,"max":3600.0},{"current":3026.283,"min":1200.0,"max":3600.0},{"current":2988.382,"min":1200.0,"max":3600.0},{"current":2851.465,"min":1200.0,"max":3600.0},{"current":2737.211,"min":1200.0,"max":3600.0},{"current":2978.955,"min":1200.0,"max":3600.0},{"current":2840.109,"min":1200.0,"max":3600.0},{"current":2964.491,"min":1200.0,"max":3600.0},{"current":3151.753,"min":1200.0,"max":3600.0},{"current":3128.656,"min":1200.0,"max":3600.0},{"current":3034.792,"min":1200.0,"max":3600.0},{"current":2843.063,"min":1200.0,"max":3600.0},{"current":2705.778,"min":1200.0,"max":3600.0},{"current":2693.191,"min":1200.0,"max":3600.0},{"current":3166.633,"min":1200.0,"max":3600.0},{"current":2873.058,"min":1200.0,"max":3600.0},{"current":3041.272,"min":1200.0,"max":3600.0},{"current":2725.382,"min":1200.0,"max":3600.0},{"current":2372.67,"min":1200.0,"max":3600.0},{"current":2804.733,"min":1200.0,"max":3600.0},{"current":2732.931,"min":1200.0,"max":3600.0},{"current":2841.094,"min":1200.0,"max":3600.0},{"current":2718.245,"min":1200.0,"max":3600.0},{"current":2806.418,"min":1200.0,"max":3600.0},{"current":2736.993,"min":1200.0,"max":3600.0},{"current":2736.207,"min":1200.0,"max":3600.0},{"current":2746.073,"min":1200.0,"max":3600.0},{"current":2804.904,"min":1200.0,"max":3600.0},{"current":3190.74,"min":1200.0,"max":3600.0},{"current":3035.711,"min":1200.0,"max":3600.0},{"current":2959.455,"min":1200.0,"max":3600.0},{"current":2995.615,"min":1200.0,"max":3600.0},{"current":2897.919,"min":1200.0,"max":3600.0},{"current":3241.53,"min":1200.0,"max":3600.0},{"current":3339.781,"min":1200.0,"max":3600.0},{"current":3303.228,"min":1200.0,"max":3600.0},{"current":3175.854,"min":1200.0,"max":3600.0},{"current":2973.519,"min":1200.0,"max":3600.0},{"current":3076.42,"min":1200.0,"max":3600.0},{"current":2857.249,"min":1200.0,"max":3600.0},{"current":2927.717,"min":1200.0,"max":3600.0},{"current":3162.105,"min":1200.0,"max":3600.0},{"current":2959.597,"min":1200.0,"max":3600.0},{"current":2963.406,"min":1200.0,"max":3600.0},{"current":2998.007,"min":1200.0,"max":3600.0},{"current":3001.813,"min":1200.0,"max":3600.0},{"current":2953.964,"min":1200.0,"max":3600.0},{"current":2846.183,"min":1200.0,"max":3600.0},{"current":3148.864,"min":1200.0,"max":3600.0},{"current":2765.39,"min":1200.0,"max":3600.0}],"disk_write_speed":5.1120187110212445,"process_ids":[2113736,2113939]}
+{"timestamp":1678267908.188191,"rapl_power_draw_absolute":127.50195460721002,"rapl_estimated_attributable_power_draw":14.58606106101761,"cpu_time_seconds":{"2113736":{"user":810.1,"system":160.37,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":13.18,"system":18.94,"children_user":5.74,"children_system":191.96,"iowait":19.85}},"average_relative_cpu_utilization":0.1393671275181823,"absolute_cpu_utilization":0.9987375094383913,"relative_mem_usage":0.018424815862011314,"absolute_mem_usage":3805257728.0,"absolute_mem_percent_usage":0.007034671177936349,"mem_info_per_process":{"2113736":{"rss":3749167104,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3340918784,"pss":3503771648,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301486080,"swap":0}},"nvidia_draw_absolute":455.60999999999996,"nvidia_estimated_attributable_power_draw":71.06,"average_gpu_estimated_utilization_absolute":0.252,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":14.666666666666666,"mem":8.333333333333334,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.5,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.2,"mem":17.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":71.06},"cpu_count_adjusted_average_load":[0.22112500000000002,0.2305,0.22625],"cpu_freq":[{"current":2775.911,"min":1200.0,"max":3600.0},{"current":2759.171,"min":1200.0,"max":3600.0},{"current":2785.197,"min":1200.0,"max":3600.0},{"current":2725.527,"min":1200.0,"max":3600.0},{"current":2701.849,"min":1200.0,"max":3600.0},{"current":2875.967,"min":1200.0,"max":3600.0},{"current":2705.799,"min":1200.0,"max":3600.0},{"current":2694.645,"min":1200.0,"max":3600.0},{"current":2873.223,"min":1200.0,"max":3600.0},{"current":2710.123,"min":1200.0,"max":3600.0},{"current":2720.648,"min":1200.0,"max":3600.0},{"current":2792.483,"min":1200.0,"max":3600.0},{"current":2914.671,"min":1200.0,"max":3600.0},{"current":3032.558,"min":1200.0,"max":3600.0},{"current":2905.02,"min":1200.0,"max":3600.0},{"current":2843.097,"min":1200.0,"max":3600.0},{"current":2832.865,"min":1200.0,"max":3600.0},{"current":2695.543,"min":1200.0,"max":3600.0},{"current":2866.725,"min":1200.0,"max":3600.0},{"current":2710.831,"min":1200.0,"max":3600.0},{"current":3289.241,"min":1200.0,"max":3600.0},{"current":2855.371,"min":1200.0,"max":3600.0},{"current":2699.138,"min":1200.0,"max":3600.0},{"current":3120.771,"min":1200.0,"max":3600.0},{"current":2695.661,"min":1200.0,"max":3600.0},{"current":2725.189,"min":1200.0,"max":3600.0},{"current":2745.218,"min":1200.0,"max":3600.0},{"current":2757.382,"min":1200.0,"max":3600.0},{"current":2905.138,"min":1200.0,"max":3600.0},{"current":2793.415,"min":1200.0,"max":3600.0},{"current":2942.444,"min":1200.0,"max":3600.0},{"current":2758.546,"min":1200.0,"max":3600.0},{"current":2897.409,"min":1200.0,"max":3600.0},{"current":2925.443,"min":1200.0,"max":3600.0},{"current":3163.671,"min":1200.0,"max":3600.0},{"current":3192.81,"min":1200.0,"max":3600.0},{"current":3016.28,"min":1200.0,"max":3600.0},{"current":2863.621,"min":1200.0,"max":3600.0},{"current":2921.433,"min":1200.0,"max":3600.0},{"current":2912.53,"min":1200.0,"max":3600.0},{"current":2988.191,"min":1200.0,"max":3600.0},{"current":2632.433,"min":1200.0,"max":3600.0},{"current":2727.399,"min":1200.0,"max":3600.0},{"current":2721.625,"min":1200.0,"max":3600.0},{"current":3240.465,"min":1200.0,"max":3600.0},{"current":2884.12,"min":1200.0,"max":3600.0},{"current":2890.624,"min":1200.0,"max":3600.0},{"current":2700.649,"min":1200.0,"max":3600.0},{"current":2674.59,"min":1200.0,"max":3600.0},{"current":2708.179,"min":1200.0,"max":3600.0},{"current":2973.715,"min":1200.0,"max":3600.0},{"current":2943.782,"min":1200.0,"max":3600.0},{"current":2914.013,"min":1200.0,"max":3600.0},{"current":2780.716,"min":1200.0,"max":3600.0},{"current":2749.843,"min":1200.0,"max":3600.0},{"current":2706.798,"min":1200.0,"max":3600.0},{"current":2792.363,"min":1200.0,"max":3600.0},{"current":2768.832,"min":1200.0,"max":3600.0},{"current":2971.923,"min":1200.0,"max":3600.0},{"current":2925.082,"min":1200.0,"max":3600.0},{"current":2794.052,"min":1200.0,"max":3600.0},{"current":2893.559,"min":1200.0,"max":3600.0},{"current":2866.722,"min":1200.0,"max":3600.0},{"current":2949.349,"min":1200.0,"max":3600.0},{"current":3054.49,"min":1200.0,"max":3600.0},{"current":3040.991,"min":1200.0,"max":3600.0},{"current":3092.536,"min":1200.0,"max":3600.0},{"current":2898.683,"min":1200.0,"max":3600.0},{"current":3179.716,"min":1200.0,"max":3600.0},{"current":2849.249,"min":1200.0,"max":3600.0},{"current":2971.983,"min":1200.0,"max":3600.0},{"current":3161.382,"min":1200.0,"max":3600.0},{"current":2917.548,"min":1200.0,"max":3600.0},{"current":2811.455,"min":1200.0,"max":3600.0},{"current":3014.975,"min":1200.0,"max":3600.0},{"current":2926.469,"min":1200.0,"max":3600.0},{"current":2904.11,"min":1200.0,"max":3600.0},{"current":2738.969,"min":1200.0,"max":3600.0},{"current":2773.286,"min":1200.0,"max":3600.0},{"current":2791.077,"min":1200.0,"max":3600.0}],"disk_write_speed":68.397838861358,"process_ids":[2113736,2113939]}
+{"timestamp":1678267923.860256,"rapl_power_draw_absolute":164.55850864274396,"rapl_estimated_attributable_power_draw":8.276042193969243,"cpu_time_seconds":{"2113736":{"user":823.09,"system":163.07,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":13.35,"system":19.26,"children_user":5.84,"children_system":195.07,"iowait":20.18}},"average_relative_cpu_utilization":0.057524523869840895,"absolute_cpu_utilization":1.0037096691648781,"relative_mem_usage":0.01661626204039871,"absolute_mem_usage":3394213888.0,"absolute_mem_percent_usage":0.006274786181753436,"mem_info_per_process":{"2113736":{"rss":3959939072,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":2929860608,"pss":3092726784,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":803.6700000000001,"nvidia_estimated_attributable_power_draw":231.33,"average_gpu_estimated_utilization_absolute":0.28600000000000003,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":20.333333333333332,"mem":13.666666666666666,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":10.666666666666666,"mem":5.666666666666667,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":28.6,"mem":19.8,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":231.33},"cpu_count_adjusted_average_load":[0.22562500000000002,0.231,0.2265],"cpu_freq":[{"current":2707.855,"min":1200.0,"max":3600.0},{"current":2694.471,"min":1200.0,"max":3600.0},{"current":2756.142,"min":1200.0,"max":3600.0},{"current":2697.09,"min":1200.0,"max":3600.0},{"current":2695.235,"min":1200.0,"max":3600.0},{"current":2703.335,"min":1200.0,"max":3600.0},{"current":2769.485,"min":1200.0,"max":3600.0},{"current":2702.308,"min":1200.0,"max":3600.0},{"current":2688.449,"min":1200.0,"max":3600.0},{"current":2693.864,"min":1200.0,"max":3600.0},{"current":2696.199,"min":1200.0,"max":3600.0},{"current":2689.169,"min":1200.0,"max":3600.0},{"current":2698.079,"min":1200.0,"max":3600.0},{"current":2696.268,"min":1200.0,"max":3600.0},{"current":2753.433,"min":1200.0,"max":3600.0},{"current":2694.513,"min":1200.0,"max":3600.0},{"current":2693.98,"min":1200.0,"max":3600.0},{"current":2709.118,"min":1200.0,"max":3600.0},{"current":2761.253,"min":1200.0,"max":3600.0},{"current":2633.45,"min":1200.0,"max":3600.0},{"current":2698.051,"min":1200.0,"max":3600.0},{"current":2680.576,"min":1200.0,"max":3600.0},{"current":2686.064,"min":1200.0,"max":3600.0},{"current":2693.805,"min":1200.0,"max":3600.0},{"current":2692.622,"min":1200.0,"max":3600.0},{"current":2696.222,"min":1200.0,"max":3600.0},{"current":2683.747,"min":1200.0,"max":3600.0},{"current":2697.58,"min":1200.0,"max":3600.0},{"current":2694.909,"min":1200.0,"max":3600.0},{"current":2683.491,"min":1200.0,"max":3600.0},{"current":2693.926,"min":1200.0,"max":3600.0},{"current":2625.174,"min":1200.0,"max":3600.0},{"current":2694.143,"min":1200.0,"max":3600.0},{"current":2693.809,"min":1200.0,"max":3600.0},{"current":2695.201,"min":1200.0,"max":3600.0},{"current":2695.322,"min":1200.0,"max":3600.0},{"current":2695.592,"min":1200.0,"max":3600.0},{"current":2694.078,"min":1200.0,"max":3600.0},{"current":2700.049,"min":1200.0,"max":3600.0},{"current":2698.464,"min":1200.0,"max":3600.0},{"current":2820.17,"min":1200.0,"max":3600.0},{"current":2827.608,"min":1200.0,"max":3600.0},{"current":2693.983,"min":1200.0,"max":3600.0},{"current":2695.955,"min":1200.0,"max":3600.0},{"current":2695.762,"min":1200.0,"max":3600.0},{"current":2701.089,"min":1200.0,"max":3600.0},{"current":2695.226,"min":1200.0,"max":3600.0},{"current":2696.501,"min":1200.0,"max":3600.0},{"current":2694.084,"min":1200.0,"max":3600.0},{"current":2697.603,"min":1200.0,"max":3600.0},{"current":2695.05,"min":1200.0,"max":3600.0},{"current":2825.265,"min":1200.0,"max":3600.0},{"current":2694.781,"min":1200.0,"max":3600.0},{"current":2719.588,"min":1200.0,"max":3600.0},{"current":2693.449,"min":1200.0,"max":3600.0},{"current":2694.284,"min":1200.0,"max":3600.0},{"current":2707.903,"min":1200.0,"max":3600.0},{"current":2693.822,"min":1200.0,"max":3600.0},{"current":2884.905,"min":1200.0,"max":3600.0},{"current":2826.615,"min":1200.0,"max":3600.0},{"current":2694.945,"min":1200.0,"max":3600.0},{"current":2652.537,"min":1200.0,"max":3600.0},{"current":2695.212,"min":1200.0,"max":3600.0},{"current":2697.31,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2695.294,"min":1200.0,"max":3600.0},{"current":2686.245,"min":1200.0,"max":3600.0},{"current":2695.93,"min":1200.0,"max":3600.0},{"current":2696.718,"min":1200.0,"max":3600.0},{"current":2695.483,"min":1200.0,"max":3600.0},{"current":2694.408,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2680.747,"min":1200.0,"max":3600.0},{"current":2694.785,"min":1200.0,"max":3600.0},{"current":2694.122,"min":1200.0,"max":3600.0},{"current":2696.233,"min":1200.0,"max":3600.0},{"current":2695.849,"min":1200.0,"max":3600.0},{"current":2697.569,"min":1200.0,"max":3600.0},{"current":2694.077,"min":1200.0,"max":3600.0},{"current":2695.868,"min":1200.0,"max":3600.0}],"disk_write_speed":72.69746810716312,"process_ids":[2113736,2113939]}
+{"timestamp":1678267939.628222,"rapl_power_draw_absolute":164.8878397937999,"rapl_estimated_attributable_power_draw":8.427583050520147,"cpu_time_seconds":{"2113736":{"user":836.38,"system":165.55,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":13.56,"system":19.59,"children_user":5.95,"children_system":198.25,"iowait":20.53}},"average_relative_cpu_utilization":0.057785934183036125,"absolute_cpu_utilization":0.9987576880574387,"relative_mem_usage":0.019468518168471224,"absolute_mem_usage":3996316672.0,"absolute_mem_percent_usage":0.007387876385760778,"mem_info_per_process":{"2113736":{"rss":3944701952,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3531976704,"pss":3694829568,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":465.15999999999997,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.2375,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":27.333333333333332,"mem":17.666666666666668,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.5,"mem":5.25,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":23.75,"mem":16.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.226125,0.230875,0.226625],"cpu_freq":[{"current":2731.114,"min":1200.0,"max":3600.0},{"current":2695.925,"min":1200.0,"max":3600.0},{"current":2846.058,"min":1200.0,"max":3600.0},{"current":2772.843,"min":1200.0,"max":3600.0},{"current":2696.8,"min":1200.0,"max":3600.0},{"current":2709.744,"min":1200.0,"max":3600.0},{"current":2710.33,"min":1200.0,"max":3600.0},{"current":2708.799,"min":1200.0,"max":3600.0},{"current":2776.318,"min":1200.0,"max":3600.0},{"current":2708.319,"min":1200.0,"max":3600.0},{"current":2701.218,"min":1200.0,"max":3600.0},{"current":2699.128,"min":1200.0,"max":3600.0},{"current":2711.092,"min":1200.0,"max":3600.0},{"current":2694.83,"min":1200.0,"max":3600.0},{"current":2771.327,"min":1200.0,"max":3600.0},{"current":2695.317,"min":1200.0,"max":3600.0},{"current":2706.068,"min":1200.0,"max":3600.0},{"current":2712.605,"min":1200.0,"max":3600.0},{"current":2846.951,"min":1200.0,"max":3600.0},{"current":2694.885,"min":1200.0,"max":3600.0},{"current":2697.091,"min":1200.0,"max":3600.0},{"current":2774.955,"min":1200.0,"max":3600.0},{"current":2768.945,"min":1200.0,"max":3600.0},{"current":2772.533,"min":1200.0,"max":3600.0},{"current":2692.434,"min":1200.0,"max":3600.0},{"current":2697.9,"min":1200.0,"max":3600.0},{"current":2699.468,"min":1200.0,"max":3600.0},{"current":2697.199,"min":1200.0,"max":3600.0},{"current":2699.371,"min":1200.0,"max":3600.0},{"current":2778.908,"min":1200.0,"max":3600.0},{"current":2696.737,"min":1200.0,"max":3600.0},{"current":2695.748,"min":1200.0,"max":3600.0},{"current":2694.768,"min":1200.0,"max":3600.0},{"current":2779.754,"min":1200.0,"max":3600.0},{"current":2698.53,"min":1200.0,"max":3600.0},{"current":2696.665,"min":1200.0,"max":3600.0},{"current":2698.892,"min":1200.0,"max":3600.0},{"current":2698.189,"min":1200.0,"max":3600.0},{"current":2694.545,"min":1200.0,"max":3600.0},{"current":2694.189,"min":1200.0,"max":3600.0},{"current":2772.349,"min":1200.0,"max":3600.0},{"current":2824.996,"min":1200.0,"max":3600.0},{"current":2631.97,"min":1200.0,"max":3600.0},{"current":2707.296,"min":1200.0,"max":3600.0},{"current":2694.26,"min":1200.0,"max":3600.0},{"current":2695.227,"min":1200.0,"max":3600.0},{"current":2708.848,"min":1200.0,"max":3600.0},{"current":2696.527,"min":1200.0,"max":3600.0},{"current":2659.89,"min":1200.0,"max":3600.0},{"current":2709.126,"min":1200.0,"max":3600.0},{"current":2695.128,"min":1200.0,"max":3600.0},{"current":2788.665,"min":1200.0,"max":3600.0},{"current":2710.561,"min":1200.0,"max":3600.0},{"current":2708.401,"min":1200.0,"max":3600.0},{"current":2692.698,"min":1200.0,"max":3600.0},{"current":2694.467,"min":1200.0,"max":3600.0},{"current":2697.167,"min":1200.0,"max":3600.0},{"current":2694.321,"min":1200.0,"max":3600.0},{"current":2693.407,"min":1200.0,"max":3600.0},{"current":2805.346,"min":1200.0,"max":3600.0},{"current":2694.834,"min":1200.0,"max":3600.0},{"current":2632.347,"min":1200.0,"max":3600.0},{"current":2693.894,"min":1200.0,"max":3600.0},{"current":2694.518,"min":1200.0,"max":3600.0},{"current":2752.597,"min":1200.0,"max":3600.0},{"current":2695.209,"min":1200.0,"max":3600.0},{"current":2776.536,"min":1200.0,"max":3600.0},{"current":2695.492,"min":1200.0,"max":3600.0},{"current":2695.413,"min":1200.0,"max":3600.0},{"current":2694.515,"min":1200.0,"max":3600.0},{"current":2696.697,"min":1200.0,"max":3600.0},{"current":2772.856,"min":1200.0,"max":3600.0},{"current":2769.083,"min":1200.0,"max":3600.0},{"current":2694.705,"min":1200.0,"max":3600.0},{"current":2697.158,"min":1200.0,"max":3600.0},{"current":2691.769,"min":1200.0,"max":3600.0},{"current":2695.343,"min":1200.0,"max":3600.0},{"current":2695.445,"min":1200.0,"max":3600.0},{"current":2696.035,"min":1200.0,"max":3600.0},{"current":2694.795,"min":1200.0,"max":3600.0}],"disk_write_speed":71.65279782699683,"process_ids":[2113736,2113939]}
+{"timestamp":1678267954.984174,"rapl_power_draw_absolute":165.45477291164224,"rapl_estimated_attributable_power_draw":8.384664575426937,"cpu_time_seconds":{"2113736":{"user":849.34,"system":167.95,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":13.76,"system":19.89,"children_user":6.05,"children_system":201.36,"iowait":20.87}},"average_relative_cpu_utilization":0.05745866135647051,"absolute_cpu_utilization":1.003714843543749,"relative_mem_usage":0.018294121568984332,"absolute_mem_usage":3757159424.0,"absolute_mem_percent_usage":0.006945753218354605,"mem_info_per_process":{"2113736":{"rss":3700838400,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3292819456,"pss":3455672320,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":475.64,"nvidia_estimated_attributable_power_draw":69.56,"average_gpu_estimated_utilization_absolute":0.22399999999999998,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":8.666666666666666,"mem":5.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":26.666666666666668,"mem":15.333333333333334,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":22.4,"mem":15.4,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.56},"cpu_count_adjusted_average_load":[0.22574999999999998,0.230625,0.2265],"cpu_freq":[{"current":2808.698,"min":1200.0,"max":3600.0},{"current":2712.21,"min":1200.0,"max":3600.0},{"current":2833.493,"min":1200.0,"max":3600.0},{"current":2708.763,"min":1200.0,"max":3600.0},{"current":2695.359,"min":1200.0,"max":3600.0},{"current":2698.622,"min":1200.0,"max":3600.0},{"current":2694.228,"min":1200.0,"max":3600.0},{"current":2696.672,"min":1200.0,"max":3600.0},{"current":2805.442,"min":1200.0,"max":3600.0},{"current":2696.539,"min":1200.0,"max":3600.0},{"current":2696.249,"min":1200.0,"max":3600.0},{"current":2695.169,"min":1200.0,"max":3600.0},{"current":2699.741,"min":1200.0,"max":3600.0},{"current":2696.003,"min":1200.0,"max":3600.0},{"current":2836.777,"min":1200.0,"max":3600.0},{"current":2777.784,"min":1200.0,"max":3600.0},{"current":2696.767,"min":1200.0,"max":3600.0},{"current":2700.141,"min":1200.0,"max":3600.0},{"current":2805.176,"min":1200.0,"max":3600.0},{"current":2699.087,"min":1200.0,"max":3600.0},{"current":2701.9,"min":1200.0,"max":3600.0},{"current":2772.216,"min":1200.0,"max":3600.0},{"current":2789.487,"min":1200.0,"max":3600.0},{"current":2781.653,"min":1200.0,"max":3600.0},{"current":2749.384,"min":1200.0,"max":3600.0},{"current":2698.759,"min":1200.0,"max":3600.0},{"current":2696.93,"min":1200.0,"max":3600.0},{"current":2729.3,"min":1200.0,"max":3600.0},{"current":2695.982,"min":1200.0,"max":3600.0},{"current":2771.246,"min":1200.0,"max":3600.0},{"current":2698.23,"min":1200.0,"max":3600.0},{"current":2694.179,"min":1200.0,"max":3600.0},{"current":2692.171,"min":1200.0,"max":3600.0},{"current":2767.567,"min":1200.0,"max":3600.0},{"current":2696.252,"min":1200.0,"max":3600.0},{"current":2696.991,"min":1200.0,"max":3600.0},{"current":2696.168,"min":1200.0,"max":3600.0},{"current":2696.903,"min":1200.0,"max":3600.0},{"current":2700.073,"min":1200.0,"max":3600.0},{"current":2701.432,"min":1200.0,"max":3600.0},{"current":2764.674,"min":1200.0,"max":3600.0},{"current":2761.251,"min":1200.0,"max":3600.0},{"current":2622.508,"min":1200.0,"max":3600.0},{"current":2693.999,"min":1200.0,"max":3600.0},{"current":2694.059,"min":1200.0,"max":3600.0},{"current":2695.874,"min":1200.0,"max":3600.0},{"current":2734.8,"min":1200.0,"max":3600.0},{"current":2694.265,"min":1200.0,"max":3600.0},{"current":2681.709,"min":1200.0,"max":3600.0},{"current":2694.595,"min":1200.0,"max":3600.0},{"current":2693.934,"min":1200.0,"max":3600.0},{"current":2803.791,"min":1200.0,"max":3600.0},{"current":2719.115,"min":1200.0,"max":3600.0},{"current":2707.589,"min":1200.0,"max":3600.0},{"current":2644.372,"min":1200.0,"max":3600.0},{"current":2707.454,"min":1200.0,"max":3600.0},{"current":2708.155,"min":1200.0,"max":3600.0},{"current":2708.441,"min":1200.0,"max":3600.0},{"current":2698.174,"min":1200.0,"max":3600.0},{"current":2789.232,"min":1200.0,"max":3600.0},{"current":2695.696,"min":1200.0,"max":3600.0},{"current":2714.839,"min":1200.0,"max":3600.0},{"current":2690.426,"min":1200.0,"max":3600.0},{"current":2695.268,"min":1200.0,"max":3600.0},{"current":2776.823,"min":1200.0,"max":3600.0},{"current":2693.632,"min":1200.0,"max":3600.0},{"current":2695.463,"min":1200.0,"max":3600.0},{"current":2765.64,"min":1200.0,"max":3600.0},{"current":2696.397,"min":1200.0,"max":3600.0},{"current":2694.641,"min":1200.0,"max":3600.0},{"current":2694.521,"min":1200.0,"max":3600.0},{"current":2785.995,"min":1200.0,"max":3600.0},{"current":2776.937,"min":1200.0,"max":3600.0},{"current":2694.126,"min":1200.0,"max":3600.0},{"current":2694.315,"min":1200.0,"max":3600.0},{"current":2696.287,"min":1200.0,"max":3600.0},{"current":2695.234,"min":1200.0,"max":3600.0},{"current":2696.518,"min":1200.0,"max":3600.0},{"current":2696.327,"min":1200.0,"max":3600.0},{"current":2694.446,"min":1200.0,"max":3600.0}],"disk_write_speed":71.91701165761403,"process_ids":[2113736,2113939]}
+{"timestamp":1678267971.088211,"rapl_power_draw_absolute":166.28244638617923,"rapl_estimated_attributable_power_draw":8.355365761991306,"cpu_time_seconds":{"2113736":{"user":862.96,"system":170.44,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":13.97,"system":20.19,"children_user":6.16,"children_system":204.52,"iowait":21.2}},"average_relative_cpu_utilization":0.05687981243674055,"absolute_cpu_utilization":0.9990013069544285,"relative_mem_usage":0.01871899093923894,"absolute_mem_usage":3843794944.0,"absolute_mem_percent_usage":0.007105913827462638,"mem_info_per_process":{"2113736":{"rss":3791339520,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3379458048,"pss":3542307840,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":584.16,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.175,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":19.333333333333332,"mem":12.666666666666666,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":18.333333333333332,"mem":10.333333333333334,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":17.5,"mem":12.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.2245,0.230125,0.2265],"cpu_freq":[{"current":2695.144,"min":1200.0,"max":3600.0},{"current":2693.459,"min":1200.0,"max":3600.0},{"current":2689.561,"min":1200.0,"max":3600.0},{"current":2694.169,"min":1200.0,"max":3600.0},{"current":2736.901,"min":1200.0,"max":3600.0},{"current":2698.524,"min":1200.0,"max":3600.0},{"current":2711.801,"min":1200.0,"max":3600.0},{"current":2712.657,"min":1200.0,"max":3600.0},{"current":2843.403,"min":1200.0,"max":3600.0},{"current":2698.596,"min":1200.0,"max":3600.0},{"current":2700.171,"min":1200.0,"max":3600.0},{"current":2696.326,"min":1200.0,"max":3600.0},{"current":2695.257,"min":1200.0,"max":3600.0},{"current":2711.185,"min":1200.0,"max":3600.0},{"current":2831.137,"min":1200.0,"max":3600.0},{"current":2727.176,"min":1200.0,"max":3600.0},{"current":2700.872,"min":1200.0,"max":3600.0},{"current":2727.371,"min":1200.0,"max":3600.0},{"current":2792.487,"min":1200.0,"max":3600.0},{"current":2692.993,"min":1200.0,"max":3600.0},{"current":2695.234,"min":1200.0,"max":3600.0},{"current":2703.337,"min":1200.0,"max":3600.0},{"current":2696.788,"min":1200.0,"max":3600.0},{"current":2697.421,"min":1200.0,"max":3600.0},{"current":2591.493,"min":1200.0,"max":3600.0},{"current":2695.431,"min":1200.0,"max":3600.0},{"current":2698.881,"min":1200.0,"max":3600.0},{"current":2648.57,"min":1200.0,"max":3600.0},{"current":2701.282,"min":1200.0,"max":3600.0},{"current":2722.189,"min":1200.0,"max":3600.0},{"current":2697.746,"min":1200.0,"max":3600.0},{"current":2694.499,"min":1200.0,"max":3600.0},{"current":2694.21,"min":1200.0,"max":3600.0},{"current":2772.178,"min":1200.0,"max":3600.0},{"current":2694.015,"min":1200.0,"max":3600.0},{"current":2694.319,"min":1200.0,"max":3600.0},{"current":2700.062,"min":1200.0,"max":3600.0},{"current":2697.684,"min":1200.0,"max":3600.0},{"current":2695.304,"min":1200.0,"max":3600.0},{"current":2692.311,"min":1200.0,"max":3600.0},{"current":2724.01,"min":1200.0,"max":3600.0},{"current":2824.653,"min":1200.0,"max":3600.0},{"current":2626.254,"min":1200.0,"max":3600.0},{"current":2713.408,"min":1200.0,"max":3600.0},{"current":2712.937,"min":1200.0,"max":3600.0},{"current":2716.708,"min":1200.0,"max":3600.0},{"current":2707.633,"min":1200.0,"max":3600.0},{"current":2735.286,"min":1200.0,"max":3600.0},{"current":2692.5,"min":1200.0,"max":3600.0},{"current":2707.767,"min":1200.0,"max":3600.0},{"current":2695.134,"min":1200.0,"max":3600.0},{"current":2714.895,"min":1200.0,"max":3600.0},{"current":2695.999,"min":1200.0,"max":3600.0},{"current":2706.037,"min":1200.0,"max":3600.0},{"current":2697.833,"min":1200.0,"max":3600.0},{"current":2696.75,"min":1200.0,"max":3600.0},{"current":2696.758,"min":1200.0,"max":3600.0},{"current":2695.353,"min":1200.0,"max":3600.0},{"current":2668.011,"min":1200.0,"max":3600.0},{"current":2799.234,"min":1200.0,"max":3600.0},{"current":2698.1,"min":1200.0,"max":3600.0},{"current":2696.001,"min":1200.0,"max":3600.0},{"current":2692.462,"min":1200.0,"max":3600.0},{"current":2695.628,"min":1200.0,"max":3600.0},{"current":2695.467,"min":1200.0,"max":3600.0},{"current":2696.279,"min":1200.0,"max":3600.0},{"current":2693.892,"min":1200.0,"max":3600.0},{"current":2780.817,"min":1200.0,"max":3600.0},{"current":2697.236,"min":1200.0,"max":3600.0},{"current":2634.613,"min":1200.0,"max":3600.0},{"current":2694.206,"min":1200.0,"max":3600.0},{"current":2781.144,"min":1200.0,"max":3600.0},{"current":2782.75,"min":1200.0,"max":3600.0},{"current":2691.658,"min":1200.0,"max":3600.0},{"current":2693.587,"min":1200.0,"max":3600.0},{"current":2693.775,"min":1200.0,"max":3600.0},{"current":2694.299,"min":1200.0,"max":3600.0},{"current":2694.002,"min":1200.0,"max":3600.0},{"current":2696.358,"min":1200.0,"max":3600.0},{"current":2776.74,"min":1200.0,"max":3600.0}],"disk_write_speed":72.42077518931272,"process_ids":[2113736,2113939]}
+{"timestamp":1678267986.808277,"rapl_power_draw_absolute":166.92562810560554,"rapl_estimated_attributable_power_draw":8.376302483893424,"cpu_time_seconds":{"2113736":{"user":876.06,"system":173.07,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":14.18,"system":20.49,"children_user":6.27,"children_system":207.65,"iowait":21.55}},"average_relative_cpu_utilization":0.057051016547228134,"absolute_cpu_utilization":1.0037239853101632,"relative_mem_usage":0.017250462048908753,"absolute_mem_usage":3545175040.0,"absolute_mem_percent_usage":0.006553863747813757,"mem_info_per_process":{"2113736":{"rss":3482558464,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3080835072,"pss":3243687936,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":467.87,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.2475,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":26.666666666666668,"mem":17.666666666666668,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.75,"mem":15.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.22562500000000002,0.230125,0.2265],"cpu_freq":[{"current":2695.843,"min":1200.0,"max":3600.0},{"current":2695.742,"min":1200.0,"max":3600.0},{"current":2871.767,"min":1200.0,"max":3600.0},{"current":2710.593,"min":1200.0,"max":3600.0},{"current":2851.935,"min":1200.0,"max":3600.0},{"current":2707.998,"min":1200.0,"max":3600.0},{"current":2709.471,"min":1200.0,"max":3600.0},{"current":2707.467,"min":1200.0,"max":3600.0},{"current":2789.296,"min":1200.0,"max":3600.0},{"current":2713.705,"min":1200.0,"max":3600.0},{"current":2700.481,"min":1200.0,"max":3600.0},{"current":2693.69,"min":1200.0,"max":3600.0},{"current":2719.567,"min":1200.0,"max":3600.0},{"current":2709.207,"min":1200.0,"max":3600.0},{"current":2846.632,"min":1200.0,"max":3600.0},{"current":2696.716,"min":1200.0,"max":3600.0},{"current":2712.18,"min":1200.0,"max":3600.0},{"current":2711.541,"min":1200.0,"max":3600.0},{"current":2831.184,"min":1200.0,"max":3600.0},{"current":2694.342,"min":1200.0,"max":3600.0},{"current":2695.363,"min":1200.0,"max":3600.0},{"current":2691.012,"min":1200.0,"max":3600.0},{"current":2667.036,"min":1200.0,"max":3600.0},{"current":2698.471,"min":1200.0,"max":3600.0},{"current":2695.161,"min":1200.0,"max":3600.0},{"current":2694.171,"min":1200.0,"max":3600.0},{"current":2694.962,"min":1200.0,"max":3600.0},{"current":2695.867,"min":1200.0,"max":3600.0},{"current":2697.539,"min":1200.0,"max":3600.0},{"current":2689.233,"min":1200.0,"max":3600.0},{"current":2700.475,"min":1200.0,"max":3600.0},{"current":2592.127,"min":1200.0,"max":3600.0},{"current":2684.836,"min":1200.0,"max":3600.0},{"current":2692.754,"min":1200.0,"max":3600.0},{"current":2695.758,"min":1200.0,"max":3600.0},{"current":2695.878,"min":1200.0,"max":3600.0},{"current":2698.571,"min":1200.0,"max":3600.0},{"current":2687.999,"min":1200.0,"max":3600.0},{"current":2697.099,"min":1200.0,"max":3600.0},{"current":2697.599,"min":1200.0,"max":3600.0},{"current":2702.753,"min":1200.0,"max":3600.0},{"current":2806.963,"min":1200.0,"max":3600.0},{"current":2694.119,"min":1200.0,"max":3600.0},{"current":2714.808,"min":1200.0,"max":3600.0},{"current":2780.466,"min":1200.0,"max":3600.0},{"current":2695.844,"min":1200.0,"max":3600.0},{"current":2719.528,"min":1200.0,"max":3600.0},{"current":2696.868,"min":1200.0,"max":3600.0},{"current":2695.639,"min":1200.0,"max":3600.0},{"current":2733.645,"min":1200.0,"max":3600.0},{"current":2758.697,"min":1200.0,"max":3600.0},{"current":2728.225,"min":1200.0,"max":3600.0},{"current":2695.916,"min":1200.0,"max":3600.0},{"current":2693.763,"min":1200.0,"max":3600.0},{"current":2657.213,"min":1200.0,"max":3600.0},{"current":2694.328,"min":1200.0,"max":3600.0},{"current":2696.164,"min":1200.0,"max":3600.0},{"current":2694.224,"min":1200.0,"max":3600.0},{"current":2657.897,"min":1200.0,"max":3600.0},{"current":2716.818,"min":1200.0,"max":3600.0},{"current":2695.812,"min":1200.0,"max":3600.0},{"current":2694.903,"min":1200.0,"max":3600.0},{"current":2695.678,"min":1200.0,"max":3600.0},{"current":2693.805,"min":1200.0,"max":3600.0},{"current":2698.369,"min":1200.0,"max":3600.0},{"current":2775.348,"min":1200.0,"max":3600.0},{"current":2693.848,"min":1200.0,"max":3600.0},{"current":2754.93,"min":1200.0,"max":3600.0},{"current":2694.338,"min":1200.0,"max":3600.0},{"current":2626.225,"min":1200.0,"max":3600.0},{"current":2694.155,"min":1200.0,"max":3600.0},{"current":2762.49,"min":1200.0,"max":3600.0},{"current":2763.031,"min":1200.0,"max":3600.0},{"current":2693.263,"min":1200.0,"max":3600.0},{"current":2695.087,"min":1200.0,"max":3600.0},{"current":2694.524,"min":1200.0,"max":3600.0},{"current":2695.665,"min":1200.0,"max":3600.0},{"current":2695.114,"min":1200.0,"max":3600.0},{"current":2694.292,"min":1200.0,"max":3600.0},{"current":2779.71,"min":1200.0,"max":3600.0}],"disk_write_speed":71.1054986640195,"process_ids":[2113736,2113939]}
+{"timestamp":1678268002.38819,"rapl_power_draw_absolute":166.2888181173746,"rapl_estimated_attributable_power_draw":8.467794243944654,"cpu_time_seconds":{"2113736":{"user":889.15,"system":175.56,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":14.39,"system":20.82,"children_user":6.36,"children_system":210.8,"iowait":21.89}},"average_relative_cpu_utilization":0.05798389502342929,"absolute_cpu_utilization":0.9986791366836583,"relative_mem_usage":0.01655845465713116,"absolute_mem_usage":3394200576.0,"absolute_mem_percent_usage":0.006274761572239596,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929860608,"pss":3092713472,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":476.55000000000007,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.2633333333333333,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":13.0,"mem":7.666666666666667,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":26.333333333333332,"mem":17.666666666666668,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.23199999999999998,0.23125,0.227],"cpu_freq":[{"current":2690.28,"min":1200.0,"max":3600.0},{"current":2822.05,"min":1200.0,"max":3600.0},{"current":2867.219,"min":1200.0,"max":3600.0},{"current":2743.062,"min":1200.0,"max":3600.0},{"current":2772.181,"min":1200.0,"max":3600.0},{"current":2710.895,"min":1200.0,"max":3600.0},{"current":2708.156,"min":1200.0,"max":3600.0},{"current":2706.011,"min":1200.0,"max":3600.0},{"current":2839.091,"min":1200.0,"max":3600.0},{"current":2702.207,"min":1200.0,"max":3600.0},{"current":2697.593,"min":1200.0,"max":3600.0},{"current":2696.432,"min":1200.0,"max":3600.0},{"current":2696.096,"min":1200.0,"max":3600.0},{"current":2694.406,"min":1200.0,"max":3600.0},{"current":2712.711,"min":1200.0,"max":3600.0},{"current":2747.054,"min":1200.0,"max":3600.0},{"current":2717.934,"min":1200.0,"max":3600.0},{"current":2711.798,"min":1200.0,"max":3600.0},{"current":2829.633,"min":1200.0,"max":3600.0},{"current":2696.408,"min":1200.0,"max":3600.0},{"current":2695.302,"min":1200.0,"max":3600.0},{"current":2787.079,"min":1200.0,"max":3600.0},{"current":2779.48,"min":1200.0,"max":3600.0},{"current":2694.748,"min":1200.0,"max":3600.0},{"current":2695.265,"min":1200.0,"max":3600.0},{"current":2695.918,"min":1200.0,"max":3600.0},{"current":2698.278,"min":1200.0,"max":3600.0},{"current":2694.598,"min":1200.0,"max":3600.0},{"current":2697.068,"min":1200.0,"max":3600.0},{"current":2786.289,"min":1200.0,"max":3600.0},{"current":2697.224,"min":1200.0,"max":3600.0},{"current":2691.195,"min":1200.0,"max":3600.0},{"current":2704.313,"min":1200.0,"max":3600.0},{"current":2760.407,"min":1200.0,"max":3600.0},{"current":2697.588,"min":1200.0,"max":3600.0},{"current":2700.823,"min":1200.0,"max":3600.0},{"current":2698.299,"min":1200.0,"max":3600.0},{"current":2697.49,"min":1200.0,"max":3600.0},{"current":2700.919,"min":1200.0,"max":3600.0},{"current":2696.966,"min":1200.0,"max":3600.0},{"current":2837.127,"min":1200.0,"max":3600.0},{"current":2818.448,"min":1200.0,"max":3600.0},{"current":2681.491,"min":1200.0,"max":3600.0},{"current":2694.603,"min":1200.0,"max":3600.0},{"current":2795.045,"min":1200.0,"max":3600.0},{"current":2703.557,"min":1200.0,"max":3600.0},{"current":2707.68,"min":1200.0,"max":3600.0},{"current":2696.075,"min":1200.0,"max":3600.0},{"current":2759.093,"min":1200.0,"max":3600.0},{"current":2694.018,"min":1200.0,"max":3600.0},{"current":2694.251,"min":1200.0,"max":3600.0},{"current":2843.494,"min":1200.0,"max":3600.0},{"current":2710.045,"min":1200.0,"max":3600.0},{"current":2709.532,"min":1200.0,"max":3600.0},{"current":2694.236,"min":1200.0,"max":3600.0},{"current":2748.391,"min":1200.0,"max":3600.0},{"current":2702.307,"min":1200.0,"max":3600.0},{"current":2696.749,"min":1200.0,"max":3600.0},{"current":2874.67,"min":1200.0,"max":3600.0},{"current":2849.016,"min":1200.0,"max":3600.0},{"current":2694.751,"min":1200.0,"max":3600.0},{"current":2694.945,"min":1200.0,"max":3600.0},{"current":2696.808,"min":1200.0,"max":3600.0},{"current":2693.98,"min":1200.0,"max":3600.0},{"current":2694.461,"min":1200.0,"max":3600.0},{"current":2719.489,"min":1200.0,"max":3600.0},{"current":2694.646,"min":1200.0,"max":3600.0},{"current":2779.923,"min":1200.0,"max":3600.0},{"current":2694.434,"min":1200.0,"max":3600.0},{"current":2695.663,"min":1200.0,"max":3600.0},{"current":2693.997,"min":1200.0,"max":3600.0},{"current":2786.418,"min":1200.0,"max":3600.0},{"current":2772.814,"min":1200.0,"max":3600.0},{"current":2696.453,"min":1200.0,"max":3600.0},{"current":2693.776,"min":1200.0,"max":3600.0},{"current":2697.8,"min":1200.0,"max":3600.0},{"current":2694.781,"min":1200.0,"max":3600.0},{"current":2697.224,"min":1200.0,"max":3600.0},{"current":2693.79,"min":1200.0,"max":3600.0},{"current":2769.026,"min":1200.0,"max":3600.0}],"disk_write_speed":72.38419265977166,"process_ids":[2113736,2113939]}
+{"timestamp":1678268018.404261,"rapl_power_draw_absolute":167.89045051733308,"rapl_estimated_attributable_power_draw":8.211129733571793,"cpu_time_seconds":{"2113736":{"user":902.51,"system":178.22,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":14.59,"system":21.14,"children_user":6.4,"children_system":214.02,"iowait":22.24}},"average_relative_cpu_utilization":0.05569248740929164,"absolute_cpu_utilization":0.9987418937432764,"relative_mem_usage":0.016551115827116828,"absolute_mem_usage":3394200576.0,"absolute_mem_percent_usage":0.006274761572239596,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929860608,"pss":3092713472,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":489.5300000000001,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.245,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":16.0,"mem":10.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":7.0,"mem":4.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.5,"mem":16.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.231,0.231,0.227],"cpu_freq":[{"current":2717.993,"min":1200.0,"max":3600.0},{"current":2654.19,"min":1200.0,"max":3600.0},{"current":2844.195,"min":1200.0,"max":3600.0},{"current":2698.802,"min":1200.0,"max":3600.0},{"current":2837.949,"min":1200.0,"max":3600.0},{"current":2697.97,"min":1200.0,"max":3600.0},{"current":2706.398,"min":1200.0,"max":3600.0},{"current":2694.91,"min":1200.0,"max":3600.0},{"current":2847.559,"min":1200.0,"max":3600.0},{"current":2696.755,"min":1200.0,"max":3600.0},{"current":2696.186,"min":1200.0,"max":3600.0},{"current":2815.985,"min":1200.0,"max":3600.0},{"current":2697.925,"min":1200.0,"max":3600.0},{"current":2695.597,"min":1200.0,"max":3600.0},{"current":2696.071,"min":1200.0,"max":3600.0},{"current":2709.948,"min":1200.0,"max":3600.0},{"current":2701.991,"min":1200.0,"max":3600.0},{"current":2695.201,"min":1200.0,"max":3600.0},{"current":2877.517,"min":1200.0,"max":3600.0},{"current":2692.619,"min":1200.0,"max":3600.0},{"current":2697.397,"min":1200.0,"max":3600.0},{"current":2769.429,"min":1200.0,"max":3600.0},{"current":2782.76,"min":1200.0,"max":3600.0},{"current":2696.276,"min":1200.0,"max":3600.0},{"current":2694.938,"min":1200.0,"max":3600.0},{"current":2734.398,"min":1200.0,"max":3600.0},{"current":2698.967,"min":1200.0,"max":3600.0},{"current":2724.89,"min":1200.0,"max":3600.0},{"current":2696.649,"min":1200.0,"max":3600.0},{"current":2696.999,"min":1200.0,"max":3600.0},{"current":2790.5,"min":1200.0,"max":3600.0},{"current":2761.757,"min":1200.0,"max":3600.0},{"current":2771.4,"min":1200.0,"max":3600.0},{"current":2699.885,"min":1200.0,"max":3600.0},{"current":2759.4,"min":1200.0,"max":3600.0},{"current":2694.434,"min":1200.0,"max":3600.0},{"current":2697.133,"min":1200.0,"max":3600.0},{"current":2695.508,"min":1200.0,"max":3600.0},{"current":2697.521,"min":1200.0,"max":3600.0},{"current":2695.126,"min":1200.0,"max":3600.0},{"current":2842.262,"min":1200.0,"max":3600.0},{"current":2877.911,"min":1200.0,"max":3600.0},{"current":2700.224,"min":1200.0,"max":3600.0},{"current":2696.043,"min":1200.0,"max":3600.0},{"current":2723.119,"min":1200.0,"max":3600.0},{"current":2693.971,"min":1200.0,"max":3600.0},{"current":2695.719,"min":1200.0,"max":3600.0},{"current":2694.28,"min":1200.0,"max":3600.0},{"current":2695.416,"min":1200.0,"max":3600.0},{"current":2694.513,"min":1200.0,"max":3600.0},{"current":2708.511,"min":1200.0,"max":3600.0},{"current":2844.661,"min":1200.0,"max":3600.0},{"current":2697.516,"min":1200.0,"max":3600.0},{"current":2694.615,"min":1200.0,"max":3600.0},{"current":2779.697,"min":1200.0,"max":3600.0},{"current":2696.0,"min":1200.0,"max":3600.0},{"current":2694.715,"min":1200.0,"max":3600.0},{"current":2738.646,"min":1200.0,"max":3600.0},{"current":2638.926,"min":1200.0,"max":3600.0},{"current":2848.073,"min":1200.0,"max":3600.0},{"current":2693.618,"min":1200.0,"max":3600.0},{"current":2645.787,"min":1200.0,"max":3600.0},{"current":2671.677,"min":1200.0,"max":3600.0},{"current":2695.316,"min":1200.0,"max":3600.0},{"current":2694.296,"min":1200.0,"max":3600.0},{"current":2783.084,"min":1200.0,"max":3600.0},{"current":2693.469,"min":1200.0,"max":3600.0},{"current":2771.34,"min":1200.0,"max":3600.0},{"current":2694.266,"min":1200.0,"max":3600.0},{"current":2695.295,"min":1200.0,"max":3600.0},{"current":2750.816,"min":1200.0,"max":3600.0},{"current":2780.506,"min":1200.0,"max":3600.0},{"current":2781.597,"min":1200.0,"max":3600.0},{"current":2694.915,"min":1200.0,"max":3600.0},{"current":2694.844,"min":1200.0,"max":3600.0},{"current":2692.786,"min":1200.0,"max":3600.0},{"current":2693.515,"min":1200.0,"max":3600.0},{"current":2693.778,"min":1200.0,"max":3600.0},{"current":2696.426,"min":1200.0,"max":3600.0},{"current":2774.905,"min":1200.0,"max":3600.0}],"disk_write_speed":71.80982220053588,"process_ids":[2113736,2113939]}
+{"timestamp":1678268034.272202,"rapl_power_draw_absolute":167.03988034748318,"rapl_estimated_attributable_power_draw":8.4268947994952,"cpu_time_seconds":{"2113736":{"user":915.82,"system":180.78,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":14.82,"system":21.46,"children_user":6.48,"children_system":217.17,"iowait":22.57}},"average_relative_cpu_utilization":0.05747436492205471,"absolute_cpu_utilization":1.0036889983219865,"relative_mem_usage":0.016499692670015605,"absolute_mem_usage":3394200576.0,"absolute_mem_percent_usage":0.006274761572239596,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929860608,"pss":3092713472,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":514.0699999999999,"nvidia_estimated_attributable_power_draw":114.82,"average_gpu_estimated_utilization_absolute":0.265,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":19.75,"mem":13.25,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":5.5,"mem":3.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":26.5,"mem":18.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":114.82},"cpu_count_adjusted_average_load":[0.22962500000000002,0.23075,0.226875],"cpu_freq":[{"current":2699.157,"min":1200.0,"max":3600.0},{"current":2694.932,"min":1200.0,"max":3600.0},{"current":2834.125,"min":1200.0,"max":3600.0},{"current":2709.698,"min":1200.0,"max":3600.0},{"current":2842.58,"min":1200.0,"max":3600.0},{"current":2708.483,"min":1200.0,"max":3600.0},{"current":2713.234,"min":1200.0,"max":3600.0},{"current":2746.314,"min":1200.0,"max":3600.0},{"current":2712.302,"min":1200.0,"max":3600.0},{"current":2709.768,"min":1200.0,"max":3600.0},{"current":2842.284,"min":1200.0,"max":3600.0},{"current":2823.049,"min":1200.0,"max":3600.0},{"current":2715.457,"min":1200.0,"max":3600.0},{"current":2694.709,"min":1200.0,"max":3600.0},{"current":2694.714,"min":1200.0,"max":3600.0},{"current":2721.083,"min":1200.0,"max":3600.0},{"current":2710.427,"min":1200.0,"max":3600.0},{"current":2695.49,"min":1200.0,"max":3600.0},{"current":2847.631,"min":1200.0,"max":3600.0},{"current":2696.333,"min":1200.0,"max":3600.0},{"current":2770.491,"min":1200.0,"max":3600.0},{"current":2769.908,"min":1200.0,"max":3600.0},{"current":2722.508,"min":1200.0,"max":3600.0},{"current":2695.236,"min":1200.0,"max":3600.0},{"current":2695.888,"min":1200.0,"max":3600.0},{"current":2693.83,"min":1200.0,"max":3600.0},{"current":2698.49,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2697.35,"min":1200.0,"max":3600.0},{"current":2694.893,"min":1200.0,"max":3600.0},{"current":2783.156,"min":1200.0,"max":3600.0},{"current":2696.678,"min":1200.0,"max":3600.0},{"current":2694.045,"min":1200.0,"max":3600.0},{"current":2697.135,"min":1200.0,"max":3600.0},{"current":2778.796,"min":1200.0,"max":3600.0},{"current":2695.495,"min":1200.0,"max":3600.0},{"current":2698.113,"min":1200.0,"max":3600.0},{"current":2696.953,"min":1200.0,"max":3600.0},{"current":2697.621,"min":1200.0,"max":3600.0},{"current":2698.477,"min":1200.0,"max":3600.0},{"current":2693.789,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2658.0,"min":1200.0,"max":3600.0},{"current":2695.41,"min":1200.0,"max":3600.0},{"current":2693.95,"min":1200.0,"max":3600.0},{"current":2698.09,"min":1200.0,"max":3600.0},{"current":2694.181,"min":1200.0,"max":3600.0},{"current":2697.289,"min":1200.0,"max":3600.0},{"current":2703.769,"min":1200.0,"max":3600.0},{"current":2727.819,"min":1200.0,"max":3600.0},{"current":2694.047,"min":1200.0,"max":3600.0},{"current":2818.974,"min":1200.0,"max":3600.0},{"current":2709.363,"min":1200.0,"max":3600.0},{"current":2694.163,"min":1200.0,"max":3600.0},{"current":2707.624,"min":1200.0,"max":3600.0},{"current":2701.846,"min":1200.0,"max":3600.0},{"current":2695.386,"min":1200.0,"max":3600.0},{"current":2698.918,"min":1200.0,"max":3600.0},{"current":2692.763,"min":1200.0,"max":3600.0},{"current":2836.184,"min":1200.0,"max":3600.0},{"current":2693.612,"min":1200.0,"max":3600.0},{"current":2712.557,"min":1200.0,"max":3600.0},{"current":2738.062,"min":1200.0,"max":3600.0},{"current":2696.208,"min":1200.0,"max":3600.0},{"current":2695.56,"min":1200.0,"max":3600.0},{"current":2764.04,"min":1200.0,"max":3600.0},{"current":2695.219,"min":1200.0,"max":3600.0},{"current":2764.649,"min":1200.0,"max":3600.0},{"current":2693.857,"min":1200.0,"max":3600.0},{"current":2693.775,"min":1200.0,"max":3600.0},{"current":2634.942,"min":1200.0,"max":3600.0},{"current":2694.09,"min":1200.0,"max":3600.0},{"current":2767.076,"min":1200.0,"max":3600.0},{"current":2695.825,"min":1200.0,"max":3600.0},{"current":2693.871,"min":1200.0,"max":3600.0},{"current":2695.653,"min":1200.0,"max":3600.0},{"current":2696.702,"min":1200.0,"max":3600.0},{"current":2694.524,"min":1200.0,"max":3600.0},{"current":2695.238,"min":1200.0,"max":3600.0},{"current":2779.922,"min":1200.0,"max":3600.0}],"disk_write_speed":70.61339089842414,"process_ids":[2113736,2113939]}
+{"timestamp":1678268049.868255,"rapl_power_draw_absolute":167.23847503445853,"rapl_estimated_attributable_power_draw":8.303274543931783,"cpu_time_seconds":{"2113736":{"user":928.93,"system":183.26,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":15.03,"system":21.76,"children_user":6.57,"children_system":220.3,"iowait":22.91}},"average_relative_cpu_utilization":0.056546961268331856,"absolute_cpu_utilization":0.9936506265181532,"relative_mem_usage":0.016537234840390352,"absolute_mem_usage":3394200576.0,"absolute_mem_percent_usage":0.006274761572239596,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929860608,"pss":3092713472,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":610.85,"nvidia_estimated_attributable_power_draw":203.29,"average_gpu_estimated_utilization_absolute":0.276,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":7.0,"mem":4.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":25.0,"mem":14.333333333333334,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":27.6,"mem":19.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":203.29},"cpu_count_adjusted_average_load":[0.23025,0.230875,0.227],"cpu_freq":[{"current":2695.627,"min":1200.0,"max":3600.0},{"current":2693.465,"min":1200.0,"max":3600.0},{"current":2695.07,"min":1200.0,"max":3600.0},{"current":2718.826,"min":1200.0,"max":3600.0},{"current":2848.04,"min":1200.0,"max":3600.0},{"current":2717.241,"min":1200.0,"max":3600.0},{"current":2696.45,"min":1200.0,"max":3600.0},{"current":2842.115,"min":1200.0,"max":3600.0},{"current":2709.451,"min":1200.0,"max":3600.0},{"current":2709.135,"min":1200.0,"max":3600.0},{"current":2823.854,"min":1200.0,"max":3600.0},{"current":2784.562,"min":1200.0,"max":3600.0},{"current":2700.618,"min":1200.0,"max":3600.0},{"current":2697.335,"min":1200.0,"max":3600.0},{"current":2710.431,"min":1200.0,"max":3600.0},{"current":2711.201,"min":1200.0,"max":3600.0},{"current":2740.092,"min":1200.0,"max":3600.0},{"current":2695.58,"min":1200.0,"max":3600.0},{"current":2854.428,"min":1200.0,"max":3600.0},{"current":2638.587,"min":1200.0,"max":3600.0},{"current":2695.872,"min":1200.0,"max":3600.0},{"current":2773.015,"min":1200.0,"max":3600.0},{"current":2784.342,"min":1200.0,"max":3600.0},{"current":2694.73,"min":1200.0,"max":3600.0},{"current":2695.306,"min":1200.0,"max":3600.0},{"current":2633.025,"min":1200.0,"max":3600.0},{"current":2696.628,"min":1200.0,"max":3600.0},{"current":2684.411,"min":1200.0,"max":3600.0},{"current":2697.518,"min":1200.0,"max":3600.0},{"current":2695.814,"min":1200.0,"max":3600.0},{"current":2756.183,"min":1200.0,"max":3600.0},{"current":2696.688,"min":1200.0,"max":3600.0},{"current":2694.899,"min":1200.0,"max":3600.0},{"current":2696.08,"min":1200.0,"max":3600.0},{"current":2776.235,"min":1200.0,"max":3600.0},{"current":2694.724,"min":1200.0,"max":3600.0},{"current":2697.608,"min":1200.0,"max":3600.0},{"current":2695.968,"min":1200.0,"max":3600.0},{"current":2694.118,"min":1200.0,"max":3600.0},{"current":2700.794,"min":1200.0,"max":3600.0},{"current":2746.042,"min":1200.0,"max":3600.0},{"current":2856.87,"min":1200.0,"max":3600.0},{"current":2830.751,"min":1200.0,"max":3600.0},{"current":2726.564,"min":1200.0,"max":3600.0},{"current":2741.308,"min":1200.0,"max":3600.0},{"current":2714.281,"min":1200.0,"max":3600.0},{"current":2696.546,"min":1200.0,"max":3600.0},{"current":2693.627,"min":1200.0,"max":3600.0},{"current":2695.641,"min":1200.0,"max":3600.0},{"current":2696.311,"min":1200.0,"max":3600.0},{"current":2692.718,"min":1200.0,"max":3600.0},{"current":2771.611,"min":1200.0,"max":3600.0},{"current":2708.077,"min":1200.0,"max":3600.0},{"current":2697.759,"min":1200.0,"max":3600.0},{"current":2693.901,"min":1200.0,"max":3600.0},{"current":2724.287,"min":1200.0,"max":3600.0},{"current":2718.107,"min":1200.0,"max":3600.0},{"current":2695.365,"min":1200.0,"max":3600.0},{"current":2694.126,"min":1200.0,"max":3600.0},{"current":2867.134,"min":1200.0,"max":3600.0},{"current":2696.186,"min":1200.0,"max":3600.0},{"current":2694.633,"min":1200.0,"max":3600.0},{"current":2693.451,"min":1200.0,"max":3600.0},{"current":2695.805,"min":1200.0,"max":3600.0},{"current":2697.479,"min":1200.0,"max":3600.0},{"current":2734.807,"min":1200.0,"max":3600.0},{"current":2696.567,"min":1200.0,"max":3600.0},{"current":2779.239,"min":1200.0,"max":3600.0},{"current":2694.988,"min":1200.0,"max":3600.0},{"current":2695.994,"min":1200.0,"max":3600.0},{"current":2694.876,"min":1200.0,"max":3600.0},{"current":2693.527,"min":1200.0,"max":3600.0},{"current":2731.135,"min":1200.0,"max":3600.0},{"current":2695.354,"min":1200.0,"max":3600.0},{"current":2694.268,"min":1200.0,"max":3600.0},{"current":2697.12,"min":1200.0,"max":3600.0},{"current":2694.479,"min":1200.0,"max":3600.0},{"current":2695.514,"min":1200.0,"max":3600.0},{"current":2690.596,"min":1200.0,"max":3600.0},{"current":2754.227,"min":1200.0,"max":3600.0}],"disk_write_speed":69.7722667855515,"process_ids":[2113736,2113939]}
+{"timestamp":1678268065.468224,"rapl_power_draw_absolute":165.59865751520573,"rapl_estimated_attributable_power_draw":8.485731201552195,"cpu_time_seconds":{"2113736":{"user":942.09,"system":185.71,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":15.24,"system":22.04,"children_user":6.63,"children_system":223.48,"iowait":23.24}},"average_relative_cpu_utilization":0.05800173979186982,"absolute_cpu_utilization":0.9987331274944096,"relative_mem_usage":0.019354634796400618,"absolute_mem_usage":3982445568.0,"absolute_mem_percent_usage":0.007362233272339852,"mem_info_per_process":{"2113736":{"rss":3924344832,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3518107648,"pss":3680958464,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":490.97,"nvidia_estimated_attributable_power_draw":71.49,"average_gpu_estimated_utilization_absolute":0.248,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":10.333333333333334,"mem":6.666666666666667,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.5,"mem":5.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":13.666666666666666,"mem":8.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.8,"mem":16.4,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":71.49},"cpu_count_adjusted_average_load":[0.23162500000000003,0.23112499999999997,0.22725],"cpu_freq":[{"current":2705.361,"min":1200.0,"max":3600.0},{"current":2672.21,"min":1200.0,"max":3600.0},{"current":2691.879,"min":1200.0,"max":3600.0},{"current":2695.622,"min":1200.0,"max":3600.0},{"current":2702.945,"min":1200.0,"max":3600.0},{"current":2764.733,"min":1200.0,"max":3600.0},{"current":2700.313,"min":1200.0,"max":3600.0},{"current":2695.204,"min":1200.0,"max":3600.0},{"current":2704.343,"min":1200.0,"max":3600.0},{"current":2696.099,"min":1200.0,"max":3600.0},{"current":2786.803,"min":1200.0,"max":3600.0},{"current":2720.806,"min":1200.0,"max":3600.0},{"current":2697.129,"min":1200.0,"max":3600.0},{"current":2696.157,"min":1200.0,"max":3600.0},{"current":2696.617,"min":1200.0,"max":3600.0},{"current":2694.848,"min":1200.0,"max":3600.0},{"current":2698.089,"min":1200.0,"max":3600.0},{"current":2696.114,"min":1200.0,"max":3600.0},{"current":2759.01,"min":1200.0,"max":3600.0},{"current":2625.861,"min":1200.0,"max":3600.0},{"current":2696.058,"min":1200.0,"max":3600.0},{"current":2697.174,"min":1200.0,"max":3600.0},{"current":2696.527,"min":1200.0,"max":3600.0},{"current":2822.236,"min":1200.0,"max":3600.0},{"current":2698.201,"min":1200.0,"max":3600.0},{"current":2857.987,"min":1200.0,"max":3600.0},{"current":2696.345,"min":1200.0,"max":3600.0},{"current":2759.133,"min":1200.0,"max":3600.0},{"current":2699.234,"min":1200.0,"max":3600.0},{"current":2696.096,"min":1200.0,"max":3600.0},{"current":2856.425,"min":1200.0,"max":3600.0},{"current":2695.336,"min":1200.0,"max":3600.0},{"current":2720.553,"min":1200.0,"max":3600.0},{"current":2695.518,"min":1200.0,"max":3600.0},{"current":2845.792,"min":1200.0,"max":3600.0},{"current":2787.513,"min":1200.0,"max":3600.0},{"current":2694.717,"min":1200.0,"max":3600.0},{"current":2729.366,"min":1200.0,"max":3600.0},{"current":2793.101,"min":1200.0,"max":3600.0},{"current":2753.443,"min":1200.0,"max":3600.0},{"current":2695.884,"min":1200.0,"max":3600.0},{"current":2729.334,"min":1200.0,"max":3600.0},{"current":2774.97,"min":1200.0,"max":3600.0},{"current":2696.317,"min":1200.0,"max":3600.0},{"current":2694.229,"min":1200.0,"max":3600.0},{"current":2685.28,"min":1200.0,"max":3600.0},{"current":2693.895,"min":1200.0,"max":3600.0},{"current":2774.593,"min":1200.0,"max":3600.0},{"current":2694.234,"min":1200.0,"max":3600.0},{"current":2697.625,"min":1200.0,"max":3600.0},{"current":2677.906,"min":1200.0,"max":3600.0},{"current":2696.478,"min":1200.0,"max":3600.0},{"current":2694.003,"min":1200.0,"max":3600.0},{"current":2695.174,"min":1200.0,"max":3600.0},{"current":2694.265,"min":1200.0,"max":3600.0},{"current":2694.309,"min":1200.0,"max":3600.0},{"current":2695.564,"min":1200.0,"max":3600.0},{"current":2694.542,"min":1200.0,"max":3600.0},{"current":2742.769,"min":1200.0,"max":3600.0},{"current":2744.645,"min":1200.0,"max":3600.0},{"current":2695.12,"min":1200.0,"max":3600.0},{"current":2695.871,"min":1200.0,"max":3600.0},{"current":2695.39,"min":1200.0,"max":3600.0},{"current":2876.186,"min":1200.0,"max":3600.0},{"current":2778.902,"min":1200.0,"max":3600.0},{"current":2863.169,"min":1200.0,"max":3600.0},{"current":2694.748,"min":1200.0,"max":3600.0},{"current":2882.983,"min":1200.0,"max":3600.0},{"current":2711.163,"min":1200.0,"max":3600.0},{"current":2696.128,"min":1200.0,"max":3600.0},{"current":2695.096,"min":1200.0,"max":3600.0},{"current":2695.858,"min":1200.0,"max":3600.0},{"current":2864.607,"min":1200.0,"max":3600.0},{"current":2694.802,"min":1200.0,"max":3600.0},{"current":2718.288,"min":1200.0,"max":3600.0},{"current":2770.795,"min":1200.0,"max":3600.0},{"current":2696.098,"min":1200.0,"max":3600.0},{"current":2872.491,"min":1200.0,"max":3600.0},{"current":2867.694,"min":1200.0,"max":3600.0},{"current":2776.86,"min":1200.0,"max":3600.0}],"disk_write_speed":71.32283923529909,"process_ids":[2113736,2113939]}
+{"timestamp":1678268081.120209,"rapl_power_draw_absolute":166.73841299299312,"rapl_estimated_attributable_power_draw":8.603298999192791,"cpu_time_seconds":{"2113736":{"user":955.13,"system":188.33,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":15.44,"system":22.35,"children_user":6.71,"children_system":226.65,"iowait":23.58}},"average_relative_cpu_utilization":0.05837656882832778,"absolute_cpu_utilization":1.003706864239713,"relative_mem_usage":0.01874203457797506,"absolute_mem_usage":3866535936.0,"absolute_mem_percent_usage":0.007147954449258882,"mem_info_per_process":{"2113736":{"rss":3811557376,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3402199040,"pss":3565048832,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":466.40000000000003,"nvidia_estimated_attributable_power_draw":69.95,"average_gpu_estimated_utilization_absolute":0.132,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":20.0,"mem":12.75,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":13.2,"mem":8.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.95},"cpu_count_adjusted_average_load":[0.23112499999999997,0.23112499999999997,0.22725],"cpu_freq":[{"current":2695.174,"min":1200.0,"max":3600.0},{"current":2705.645,"min":1200.0,"max":3600.0},{"current":2712.667,"min":1200.0,"max":3600.0},{"current":2722.304,"min":1200.0,"max":3600.0},{"current":2708.785,"min":1200.0,"max":3600.0},{"current":2849.392,"min":1200.0,"max":3600.0},{"current":2697.803,"min":1200.0,"max":3600.0},{"current":2633.354,"min":1200.0,"max":3600.0},{"current":2695.195,"min":1200.0,"max":3600.0},{"current":2695.892,"min":1200.0,"max":3600.0},{"current":2763.009,"min":1200.0,"max":3600.0},{"current":2692.745,"min":1200.0,"max":3600.0},{"current":2697.962,"min":1200.0,"max":3600.0},{"current":2769.335,"min":1200.0,"max":3600.0},{"current":2695.358,"min":1200.0,"max":3600.0},{"current":2695.644,"min":1200.0,"max":3600.0},{"current":2695.987,"min":1200.0,"max":3600.0},{"current":2695.81,"min":1200.0,"max":3600.0},{"current":2764.861,"min":1200.0,"max":3600.0},{"current":2694.955,"min":1200.0,"max":3600.0},{"current":2694.304,"min":1200.0,"max":3600.0},{"current":2692.282,"min":1200.0,"max":3600.0},{"current":2696.856,"min":1200.0,"max":3600.0},{"current":2686.661,"min":1200.0,"max":3600.0},{"current":2702.077,"min":1200.0,"max":3600.0},{"current":2693.934,"min":1200.0,"max":3600.0},{"current":2699.548,"min":1200.0,"max":3600.0},{"current":2685.524,"min":1200.0,"max":3600.0},{"current":2701.528,"min":1200.0,"max":3600.0},{"current":2694.858,"min":1200.0,"max":3600.0},{"current":2764.783,"min":1200.0,"max":3600.0},{"current":2693.792,"min":1200.0,"max":3600.0},{"current":2739.624,"min":1200.0,"max":3600.0},{"current":2697.05,"min":1200.0,"max":3600.0},{"current":2748.209,"min":1200.0,"max":3600.0},{"current":2697.217,"min":1200.0,"max":3600.0},{"current":2697.321,"min":1200.0,"max":3600.0},{"current":2694.033,"min":1200.0,"max":3600.0},{"current":2660.467,"min":1200.0,"max":3600.0},{"current":2696.868,"min":1200.0,"max":3600.0},{"current":2697.002,"min":1200.0,"max":3600.0},{"current":2684.28,"min":1200.0,"max":3600.0},{"current":2693.757,"min":1200.0,"max":3600.0},{"current":2697.838,"min":1200.0,"max":3600.0},{"current":2694.068,"min":1200.0,"max":3600.0},{"current":2693.904,"min":1200.0,"max":3600.0},{"current":2694.689,"min":1200.0,"max":3600.0},{"current":2770.932,"min":1200.0,"max":3600.0},{"current":2695.373,"min":1200.0,"max":3600.0},{"current":2694.433,"min":1200.0,"max":3600.0},{"current":2693.769,"min":1200.0,"max":3600.0},{"current":2770.316,"min":1200.0,"max":3600.0},{"current":2694.5,"min":1200.0,"max":3600.0},{"current":2694.649,"min":1200.0,"max":3600.0},{"current":2743.115,"min":1200.0,"max":3600.0},{"current":2698.0,"min":1200.0,"max":3600.0},{"current":2693.98,"min":1200.0,"max":3600.0},{"current":2693.927,"min":1200.0,"max":3600.0},{"current":2694.715,"min":1200.0,"max":3600.0},{"current":2745.842,"min":1200.0,"max":3600.0},{"current":2760.767,"min":1200.0,"max":3600.0},{"current":2694.358,"min":1200.0,"max":3600.0},{"current":2694.848,"min":1200.0,"max":3600.0},{"current":2695.691,"min":1200.0,"max":3600.0},{"current":2696.061,"min":1200.0,"max":3600.0},{"current":2874.556,"min":1200.0,"max":3600.0},{"current":2694.879,"min":1200.0,"max":3600.0},{"current":2858.496,"min":1200.0,"max":3600.0},{"current":2695.483,"min":1200.0,"max":3600.0},{"current":2694.526,"min":1200.0,"max":3600.0},{"current":2695.593,"min":1200.0,"max":3600.0},{"current":2695.172,"min":1200.0,"max":3600.0},{"current":2821.353,"min":1200.0,"max":3600.0},{"current":2783.247,"min":1200.0,"max":3600.0},{"current":2682.966,"min":1200.0,"max":3600.0},{"current":2694.967,"min":1200.0,"max":3600.0},{"current":2696.117,"min":1200.0,"max":3600.0},{"current":2859.734,"min":1200.0,"max":3600.0},{"current":2858.608,"min":1200.0,"max":3600.0},{"current":2695.915,"min":1200.0,"max":3600.0}],"disk_write_speed":72.60115299741435,"process_ids":[2113736,2113939]}
+{"timestamp":1678268096.596194,"rapl_power_draw_absolute":169.02201285638645,"rapl_estimated_attributable_power_draw":8.184210048688996,"cpu_time_seconds":{"2113736":{"user":968.17,"system":190.77,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":15.66,"system":22.63,"children_user":6.79,"children_system":229.77,"iowait":23.93}},"average_relative_cpu_utilization":0.05481054141346957,"absolute_cpu_utilization":1.0039779520127161,"relative_mem_usage":0.01760018199014395,"absolute_mem_usage":3618497536.0,"absolute_mem_percent_usage":0.006689412950042604,"mem_info_per_process":{"2113736":{"rss":3564978176,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3154157568,"pss":3317010432,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":476.21000000000004,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.256,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":11.333333333333334,"mem":6.666666666666667,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.6,"mem":17.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.23325,0.23162500000000003,0.22749999999999998],"cpu_freq":[{"current":2695.712,"min":1200.0,"max":3600.0},{"current":2687.447,"min":1200.0,"max":3600.0},{"current":2693.921,"min":1200.0,"max":3600.0},{"current":2783.703,"min":1200.0,"max":3600.0},{"current":2710.346,"min":1200.0,"max":3600.0},{"current":2851.627,"min":1200.0,"max":3600.0},{"current":2721.651,"min":1200.0,"max":3600.0},{"current":2692.578,"min":1200.0,"max":3600.0},{"current":2709.118,"min":1200.0,"max":3600.0},{"current":2712.703,"min":1200.0,"max":3600.0},{"current":2875.993,"min":1200.0,"max":3600.0},{"current":2696.032,"min":1200.0,"max":3600.0},{"current":2785.13,"min":1200.0,"max":3600.0},{"current":2719.806,"min":1200.0,"max":3600.0},{"current":2708.738,"min":1200.0,"max":3600.0},{"current":2710.6,"min":1200.0,"max":3600.0},{"current":2696.915,"min":1200.0,"max":3600.0},{"current":2694.462,"min":1200.0,"max":3600.0},{"current":2826.978,"min":1200.0,"max":3600.0},{"current":2699.313,"min":1200.0,"max":3600.0},{"current":2694.907,"min":1200.0,"max":3600.0},{"current":2696.304,"min":1200.0,"max":3600.0},{"current":2697.246,"min":1200.0,"max":3600.0},{"current":2769.317,"min":1200.0,"max":3600.0},{"current":2695.338,"min":1200.0,"max":3600.0},{"current":2695.326,"min":1200.0,"max":3600.0},{"current":2696.459,"min":1200.0,"max":3600.0},{"current":2690.42,"min":1200.0,"max":3600.0},{"current":2696.848,"min":1200.0,"max":3600.0},{"current":2697.131,"min":1200.0,"max":3600.0},{"current":2688.145,"min":1200.0,"max":3600.0},{"current":2695.044,"min":1200.0,"max":3600.0},{"current":2696.189,"min":1200.0,"max":3600.0},{"current":2695.461,"min":1200.0,"max":3600.0},{"current":2772.255,"min":1200.0,"max":3600.0},{"current":2697.981,"min":1200.0,"max":3600.0},{"current":2697.321,"min":1200.0,"max":3600.0},{"current":2695.541,"min":1200.0,"max":3600.0},{"current":2695.816,"min":1200.0,"max":3600.0},{"current":2758.253,"min":1200.0,"max":3600.0},{"current":2696.815,"min":1200.0,"max":3600.0},{"current":2768.911,"min":1200.0,"max":3600.0},{"current":2797.365,"min":1200.0,"max":3600.0},{"current":2694.7,"min":1200.0,"max":3600.0},{"current":2694.053,"min":1200.0,"max":3600.0},{"current":2695.338,"min":1200.0,"max":3600.0},{"current":2720.2,"min":1200.0,"max":3600.0},{"current":2865.655,"min":1200.0,"max":3600.0},{"current":2707.527,"min":1200.0,"max":3600.0},{"current":2696.747,"min":1200.0,"max":3600.0},{"current":2696.631,"min":1200.0,"max":3600.0},{"current":2865.902,"min":1200.0,"max":3600.0},{"current":2711.404,"min":1200.0,"max":3600.0},{"current":2723.691,"min":1200.0,"max":3600.0},{"current":2708.354,"min":1200.0,"max":3600.0},{"current":2695.668,"min":1200.0,"max":3600.0},{"current":2706.434,"min":1200.0,"max":3600.0},{"current":2710.884,"min":1200.0,"max":3600.0},{"current":2762.492,"min":1200.0,"max":3600.0},{"current":2766.973,"min":1200.0,"max":3600.0},{"current":2696.298,"min":1200.0,"max":3600.0},{"current":2695.372,"min":1200.0,"max":3600.0},{"current":2695.088,"min":1200.0,"max":3600.0},{"current":2627.32,"min":1200.0,"max":3600.0},{"current":2694.742,"min":1200.0,"max":3600.0},{"current":2775.405,"min":1200.0,"max":3600.0},{"current":2695.503,"min":1200.0,"max":3600.0},{"current":2772.477,"min":1200.0,"max":3600.0},{"current":2696.808,"min":1200.0,"max":3600.0},{"current":2693.963,"min":1200.0,"max":3600.0},{"current":2625.164,"min":1200.0,"max":3600.0},{"current":2696.364,"min":1200.0,"max":3600.0},{"current":2781.506,"min":1200.0,"max":3600.0},{"current":2697.016,"min":1200.0,"max":3600.0},{"current":2703.52,"min":1200.0,"max":3600.0},{"current":2696.276,"min":1200.0,"max":3600.0},{"current":2697.093,"min":1200.0,"max":3600.0},{"current":2752.38,"min":1200.0,"max":3600.0},{"current":2767.953,"min":1200.0,"max":3600.0},{"current":2785.914,"min":1200.0,"max":3600.0}],"disk_write_speed":71.53920764121176,"process_ids":[2113736,2113939]}
+{"timestamp":1678268112.432211,"rapl_power_draw_absolute":169.42362440818,"rapl_estimated_attributable_power_draw":8.264066124040545,"cpu_time_seconds":{"2113736":{"user":981.32,"system":193.47,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":15.86,"system":22.94,"children_user":6.88,"children_system":232.92,"iowait":24.26}},"average_relative_cpu_utilization":0.05536903015897806,"absolute_cpu_utilization":1.003720026845138,"relative_mem_usage":0.017272658221261613,"absolute_mem_usage":3548775424.0,"absolute_mem_percent_usage":0.006560519674787622,"mem_info_per_process":{"2113736":{"rss":3493695488,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3084435456,"pss":3247288320,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":490.1,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.19399999999999998,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":11.0,"mem":7.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.5,"mem":5.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":19.4,"mem":12.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.230375,0.231,0.22737500000000002],"cpu_freq":[{"current":2699.575,"min":1200.0,"max":3600.0},{"current":2695.875,"min":1200.0,"max":3600.0},{"current":2659.874,"min":1200.0,"max":3600.0},{"current":2732.885,"min":1200.0,"max":3600.0},{"current":2710.048,"min":1200.0,"max":3600.0},{"current":2854.499,"min":1200.0,"max":3600.0},{"current":2709.196,"min":1200.0,"max":3600.0},{"current":2694.108,"min":1200.0,"max":3600.0},{"current":2711.257,"min":1200.0,"max":3600.0},{"current":2696.508,"min":1200.0,"max":3600.0},{"current":2850.523,"min":1200.0,"max":3600.0},{"current":2691.526,"min":1200.0,"max":3600.0},{"current":2711.24,"min":1200.0,"max":3600.0},{"current":2699.791,"min":1200.0,"max":3600.0},{"current":2712.226,"min":1200.0,"max":3600.0},{"current":2712.607,"min":1200.0,"max":3600.0},{"current":2706.721,"min":1200.0,"max":3600.0},{"current":2710.669,"min":1200.0,"max":3600.0},{"current":2837.366,"min":1200.0,"max":3600.0},{"current":2624.576,"min":1200.0,"max":3600.0},{"current":2695.157,"min":1200.0,"max":3600.0},{"current":2696.578,"min":1200.0,"max":3600.0},{"current":2695.158,"min":1200.0,"max":3600.0},{"current":2773.741,"min":1200.0,"max":3600.0},{"current":2696.282,"min":1200.0,"max":3600.0},{"current":2695.55,"min":1200.0,"max":3600.0},{"current":2697.868,"min":1200.0,"max":3600.0},{"current":2694.473,"min":1200.0,"max":3600.0},{"current":2696.495,"min":1200.0,"max":3600.0},{"current":2700.901,"min":1200.0,"max":3600.0},{"current":2761.254,"min":1200.0,"max":3600.0},{"current":2698.491,"min":1200.0,"max":3600.0},{"current":2692.573,"min":1200.0,"max":3600.0},{"current":2695.379,"min":1200.0,"max":3600.0},{"current":2756.018,"min":1200.0,"max":3600.0},{"current":2695.204,"min":1200.0,"max":3600.0},{"current":2695.761,"min":1200.0,"max":3600.0},{"current":2694.451,"min":1200.0,"max":3600.0},{"current":2657.356,"min":1200.0,"max":3600.0},{"current":2696.326,"min":1200.0,"max":3600.0},{"current":2746.799,"min":1200.0,"max":3600.0},{"current":2828.899,"min":1200.0,"max":3600.0},{"current":2809.767,"min":1200.0,"max":3600.0},{"current":2699.977,"min":1200.0,"max":3600.0},{"current":2719.929,"min":1200.0,"max":3600.0},{"current":2769.542,"min":1200.0,"max":3600.0},{"current":2696.315,"min":1200.0,"max":3600.0},{"current":2818.498,"min":1200.0,"max":3600.0},{"current":2705.756,"min":1200.0,"max":3600.0},{"current":2708.471,"min":1200.0,"max":3600.0},{"current":2693.435,"min":1200.0,"max":3600.0},{"current":2836.395,"min":1200.0,"max":3600.0},{"current":2709.988,"min":1200.0,"max":3600.0},{"current":2694.625,"min":1200.0,"max":3600.0},{"current":2708.652,"min":1200.0,"max":3600.0},{"current":2708.186,"min":1200.0,"max":3600.0},{"current":2696.757,"min":1200.0,"max":3600.0},{"current":2706.731,"min":1200.0,"max":3600.0},{"current":2780.623,"min":1200.0,"max":3600.0},{"current":2843.406,"min":1200.0,"max":3600.0},{"current":2694.135,"min":1200.0,"max":3600.0},{"current":2695.911,"min":1200.0,"max":3600.0},{"current":2695.75,"min":1200.0,"max":3600.0},{"current":2695.761,"min":1200.0,"max":3600.0},{"current":2696.066,"min":1200.0,"max":3600.0},{"current":2765.959,"min":1200.0,"max":3600.0},{"current":2696.991,"min":1200.0,"max":3600.0},{"current":2768.804,"min":1200.0,"max":3600.0},{"current":2693.545,"min":1200.0,"max":3600.0},{"current":2694.57,"min":1200.0,"max":3600.0},{"current":2783.368,"min":1200.0,"max":3600.0},{"current":2693.786,"min":1200.0,"max":3600.0},{"current":2771.877,"min":1200.0,"max":3600.0},{"current":2717.453,"min":1200.0,"max":3600.0},{"current":2696.361,"min":1200.0,"max":3600.0},{"current":2693.992,"min":1200.0,"max":3600.0},{"current":2694.977,"min":1200.0,"max":3600.0},{"current":2783.031,"min":1200.0,"max":3600.0},{"current":2781.462,"min":1200.0,"max":3600.0},{"current":2766.243,"min":1200.0,"max":3600.0}],"disk_write_speed":72.21681809826728,"process_ids":[2113736,2113939]}
+{"timestamp":1678268128.364199,"rapl_power_draw_absolute":169.64802391152614,"rapl_estimated_attributable_power_draw":8.166168718266432,"cpu_time_seconds":{"2113736":{"user":994.67,"system":196.05,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":16.06,"system":23.24,"children_user":6.96,"children_system":236.09,"iowait":24.61}},"average_relative_cpu_utilization":0.054499310584326874,"absolute_cpu_utilization":1.0037057956986362,"relative_mem_usage":0.01722973477876077,"absolute_mem_usage":3551048704.0,"absolute_mem_percent_usage":0.006564722222535626,"mem_info_per_process":{"2113736":{"rss":3497484288,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3086708736,"pss":3249561600,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":457.24,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.20199999999999999,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":18.25,"mem":11.75,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":7.0,"mem":3.6666666666666665,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":20.2,"mem":12.4,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.232875,0.23162500000000003,0.22762500000000002],"cpu_freq":[{"current":2724.499,"min":1200.0,"max":3600.0},{"current":2709.522,"min":1200.0,"max":3600.0},{"current":2628.731,"min":1200.0,"max":3600.0},{"current":2710.547,"min":1200.0,"max":3600.0},{"current":2707.67,"min":1200.0,"max":3600.0},{"current":2806.209,"min":1200.0,"max":3600.0},{"current":2695.686,"min":1200.0,"max":3600.0},{"current":2690.573,"min":1200.0,"max":3600.0},{"current":2761.776,"min":1200.0,"max":3600.0},{"current":2694.837,"min":1200.0,"max":3600.0},{"current":2799.879,"min":1200.0,"max":3600.0},{"current":2693.895,"min":1200.0,"max":3600.0},{"current":2712.112,"min":1200.0,"max":3600.0},{"current":2698.099,"min":1200.0,"max":3600.0},{"current":2726.608,"min":1200.0,"max":3600.0},{"current":2715.705,"min":1200.0,"max":3600.0},{"current":2699.613,"min":1200.0,"max":3600.0},{"current":2711.945,"min":1200.0,"max":3600.0},{"current":2831.81,"min":1200.0,"max":3600.0},{"current":2692.174,"min":1200.0,"max":3600.0},{"current":2697.852,"min":1200.0,"max":3600.0},{"current":2696.4,"min":1200.0,"max":3600.0},{"current":2694.957,"min":1200.0,"max":3600.0},{"current":2760.145,"min":1200.0,"max":3600.0},{"current":2697.43,"min":1200.0,"max":3600.0},{"current":2694.055,"min":1200.0,"max":3600.0},{"current":2695.0,"min":1200.0,"max":3600.0},{"current":2695.813,"min":1200.0,"max":3600.0},{"current":2696.958,"min":1200.0,"max":3600.0},{"current":2696.67,"min":1200.0,"max":3600.0},{"current":2763.243,"min":1200.0,"max":3600.0},{"current":2697.863,"min":1200.0,"max":3600.0},{"current":2693.093,"min":1200.0,"max":3600.0},{"current":2695.943,"min":1200.0,"max":3600.0},{"current":2736.061,"min":1200.0,"max":3600.0},{"current":2694.266,"min":1200.0,"max":3600.0},{"current":2697.815,"min":1200.0,"max":3600.0},{"current":2697.079,"min":1200.0,"max":3600.0},{"current":2693.242,"min":1200.0,"max":3600.0},{"current":2655.47,"min":1200.0,"max":3600.0},{"current":2748.142,"min":1200.0,"max":3600.0},{"current":2815.566,"min":1200.0,"max":3600.0},{"current":2838.282,"min":1200.0,"max":3600.0},{"current":2708.11,"min":1200.0,"max":3600.0},{"current":2750.96,"min":1200.0,"max":3600.0},{"current":2790.724,"min":1200.0,"max":3600.0},{"current":2694.717,"min":1200.0,"max":3600.0},{"current":2824.741,"min":1200.0,"max":3600.0},{"current":2733.699,"min":1200.0,"max":3600.0},{"current":2707.88,"min":1200.0,"max":3600.0},{"current":2694.348,"min":1200.0,"max":3600.0},{"current":2812.531,"min":1200.0,"max":3600.0},{"current":2706.025,"min":1200.0,"max":3600.0},{"current":2710.901,"min":1200.0,"max":3600.0},{"current":2773.617,"min":1200.0,"max":3600.0},{"current":2695.797,"min":1200.0,"max":3600.0},{"current":2710.576,"min":1200.0,"max":3600.0},{"current":2707.239,"min":1200.0,"max":3600.0},{"current":2802.366,"min":1200.0,"max":3600.0},{"current":2772.987,"min":1200.0,"max":3600.0},{"current":2694.629,"min":1200.0,"max":3600.0},{"current":2695.143,"min":1200.0,"max":3600.0},{"current":2696.796,"min":1200.0,"max":3600.0},{"current":2694.292,"min":1200.0,"max":3600.0},{"current":2693.994,"min":1200.0,"max":3600.0},{"current":2768.67,"min":1200.0,"max":3600.0},{"current":2695.918,"min":1200.0,"max":3600.0},{"current":2756.422,"min":1200.0,"max":3600.0},{"current":2695.527,"min":1200.0,"max":3600.0},{"current":2693.551,"min":1200.0,"max":3600.0},{"current":2701.668,"min":1200.0,"max":3600.0},{"current":2695.902,"min":1200.0,"max":3600.0},{"current":2765.752,"min":1200.0,"max":3600.0},{"current":2696.186,"min":1200.0,"max":3600.0},{"current":2664.019,"min":1200.0,"max":3600.0},{"current":2694.674,"min":1200.0,"max":3600.0},{"current":2694.514,"min":1200.0,"max":3600.0},{"current":2765.677,"min":1200.0,"max":3600.0},{"current":2774.206,"min":1200.0,"max":3600.0},{"current":2778.422,"min":1200.0,"max":3600.0}],"disk_write_speed":71.98270069067568,"process_ids":[2113736,2113939]}
+{"timestamp":1678268143.984212,"rapl_power_draw_absolute":168.75411937969335,"rapl_estimated_attributable_power_draw":8.400151361049609,"cpu_time_seconds":{"2113736":{"user":1007.79,"system":198.56,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":16.27,"system":23.52,"children_user":7.04,"children_system":239.25,"iowait":24.95}},"average_relative_cpu_utilization":0.05662224905760944,"absolute_cpu_utilization":0.9987292718427777,"relative_mem_usage":0.016517984084246155,"absolute_mem_usage":3394200576.0,"absolute_mem_percent_usage":0.006274761572239596,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929860608,"pss":3092713472,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":478.51000000000005,"nvidia_estimated_attributable_power_draw":70.57,"average_gpu_estimated_utilization_absolute":0.242,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.666666666666666,"mem":5.666666666666667,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":19.25,"mem":10.75,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.2,"mem":16.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.57},"cpu_count_adjusted_average_load":[0.23199999999999998,0.23149999999999998,0.22762500000000002],"cpu_freq":[{"current":2731.671,"min":1200.0,"max":3600.0},{"current":2702.4,"min":1200.0,"max":3600.0},{"current":2638.654,"min":1200.0,"max":3600.0},{"current":2699.41,"min":1200.0,"max":3600.0},{"current":2697.266,"min":1200.0,"max":3600.0},{"current":2872.734,"min":1200.0,"max":3600.0},{"current":2709.374,"min":1200.0,"max":3600.0},{"current":2695.723,"min":1200.0,"max":3600.0},{"current":2696.464,"min":1200.0,"max":3600.0},{"current":2713.949,"min":1200.0,"max":3600.0},{"current":2846.514,"min":1200.0,"max":3600.0},{"current":2745.832,"min":1200.0,"max":3600.0},{"current":2708.146,"min":1200.0,"max":3600.0},{"current":2745.327,"min":1200.0,"max":3600.0},{"current":2697.448,"min":1200.0,"max":3600.0},{"current":2696.027,"min":1200.0,"max":3600.0},{"current":2698.54,"min":1200.0,"max":3600.0},{"current":2693.863,"min":1200.0,"max":3600.0},{"current":2688.159,"min":1200.0,"max":3600.0},{"current":2628.735,"min":1200.0,"max":3600.0},{"current":2694.522,"min":1200.0,"max":3600.0},{"current":2696.202,"min":1200.0,"max":3600.0},{"current":2694.825,"min":1200.0,"max":3600.0},{"current":2783.871,"min":1200.0,"max":3600.0},{"current":2695.875,"min":1200.0,"max":3600.0},{"current":2693.46,"min":1200.0,"max":3600.0},{"current":2697.482,"min":1200.0,"max":3600.0},{"current":2625.596,"min":1200.0,"max":3600.0},{"current":2695.079,"min":1200.0,"max":3600.0},{"current":2696.422,"min":1200.0,"max":3600.0},{"current":2759.489,"min":1200.0,"max":3600.0},{"current":2694.572,"min":1200.0,"max":3600.0},{"current":2696.194,"min":1200.0,"max":3600.0},{"current":2697.472,"min":1200.0,"max":3600.0},{"current":2760.135,"min":1200.0,"max":3600.0},{"current":2696.459,"min":1200.0,"max":3600.0},{"current":2696.726,"min":1200.0,"max":3600.0},{"current":2696.387,"min":1200.0,"max":3600.0},{"current":2693.098,"min":1200.0,"max":3600.0},{"current":2693.092,"min":1200.0,"max":3600.0},{"current":2707.289,"min":1200.0,"max":3600.0},{"current":2863.443,"min":1200.0,"max":3600.0},{"current":2845.414,"min":1200.0,"max":3600.0},{"current":2698.373,"min":1200.0,"max":3600.0},{"current":2709.554,"min":1200.0,"max":3600.0},{"current":2694.17,"min":1200.0,"max":3600.0},{"current":2698.102,"min":1200.0,"max":3600.0},{"current":2826.225,"min":1200.0,"max":3600.0},{"current":2707.532,"min":1200.0,"max":3600.0},{"current":2694.113,"min":1200.0,"max":3600.0},{"current":2696.279,"min":1200.0,"max":3600.0},{"current":2858.492,"min":1200.0,"max":3600.0},{"current":2701.162,"min":1200.0,"max":3600.0},{"current":2706.403,"min":1200.0,"max":3600.0},{"current":2740.78,"min":1200.0,"max":3600.0},{"current":2706.123,"min":1200.0,"max":3600.0},{"current":2706.837,"min":1200.0,"max":3600.0},{"current":2704.443,"min":1200.0,"max":3600.0},{"current":2628.745,"min":1200.0,"max":3600.0},{"current":2862.655,"min":1200.0,"max":3600.0},{"current":2694.596,"min":1200.0,"max":3600.0},{"current":2694.262,"min":1200.0,"max":3600.0},{"current":2709.43,"min":1200.0,"max":3600.0},{"current":2692.801,"min":1200.0,"max":3600.0},{"current":2694.061,"min":1200.0,"max":3600.0},{"current":2706.994,"min":1200.0,"max":3600.0},{"current":2694.628,"min":1200.0,"max":3600.0},{"current":2694.041,"min":1200.0,"max":3600.0},{"current":2699.077,"min":1200.0,"max":3600.0},{"current":2694.45,"min":1200.0,"max":3600.0},{"current":2696.98,"min":1200.0,"max":3600.0},{"current":2693.765,"min":1200.0,"max":3600.0},{"current":2758.049,"min":1200.0,"max":3600.0},{"current":2694.48,"min":1200.0,"max":3600.0},{"current":2691.486,"min":1200.0,"max":3600.0},{"current":2693.997,"min":1200.0,"max":3600.0},{"current":2695.538,"min":1200.0,"max":3600.0},{"current":2775.462,"min":1200.0,"max":3600.0},{"current":2774.257,"min":1200.0,"max":3600.0},{"current":2764.38,"min":1200.0,"max":3600.0}],"disk_write_speed":71.47398685781313,"process_ids":[2113736,2113939]}
+{"timestamp":1678268159.688193,"rapl_power_draw_absolute":169.81225899955345,"rapl_estimated_attributable_power_draw":8.072637415744753,"cpu_time_seconds":{"2113736":{"user":1020.98,"system":201.08,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":16.49,"system":23.8,"children_user":7.13,"children_system":242.38,"iowait":25.29}},"average_relative_cpu_utilization":0.053985819569094845,"absolute_cpu_utilization":1.0037164978625113,"relative_mem_usage":0.016527075622623663,"absolute_mem_usage":3394200576.0,"absolute_mem_percent_usage":0.006274761572239596,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929860608,"pss":3092713472,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":627.25,"nvidia_estimated_attributable_power_draw":207.62,"average_gpu_estimated_utilization_absolute":0.214,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":9.5,"mem":6.5,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":7.333333333333333,"mem":4.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":16.0,"mem":9.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":21.4,"mem":14.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":207.62},"cpu_count_adjusted_average_load":[0.234125,0.23199999999999998,0.227875],"cpu_freq":[{"current":2695.785,"min":1200.0,"max":3600.0},{"current":2625.787,"min":1200.0,"max":3600.0},{"current":2699.37,"min":1200.0,"max":3600.0},{"current":2724.395,"min":1200.0,"max":3600.0},{"current":2702.051,"min":1200.0,"max":3600.0},{"current":2801.101,"min":1200.0,"max":3600.0},{"current":2705.165,"min":1200.0,"max":3600.0},{"current":2693.207,"min":1200.0,"max":3600.0},{"current":2696.554,"min":1200.0,"max":3600.0},{"current":2699.984,"min":1200.0,"max":3600.0},{"current":2780.177,"min":1200.0,"max":3600.0},{"current":2699.675,"min":1200.0,"max":3600.0},{"current":2664.009,"min":1200.0,"max":3600.0},{"current":2696.319,"min":1200.0,"max":3600.0},{"current":2713.97,"min":1200.0,"max":3600.0},{"current":2695.639,"min":1200.0,"max":3600.0},{"current":2698.725,"min":1200.0,"max":3600.0},{"current":2694.445,"min":1200.0,"max":3600.0},{"current":2866.196,"min":1200.0,"max":3600.0},{"current":2680.115,"min":1200.0,"max":3600.0},{"current":2695.754,"min":1200.0,"max":3600.0},{"current":2693.81,"min":1200.0,"max":3600.0},{"current":2696.283,"min":1200.0,"max":3600.0},{"current":2695.759,"min":1200.0,"max":3600.0},{"current":2695.186,"min":1200.0,"max":3600.0},{"current":2696.661,"min":1200.0,"max":3600.0},{"current":2691.329,"min":1200.0,"max":3600.0},{"current":2692.319,"min":1200.0,"max":3600.0},{"current":2697.19,"min":1200.0,"max":3600.0},{"current":2693.761,"min":1200.0,"max":3600.0},{"current":2775.503,"min":1200.0,"max":3600.0},{"current":2696.085,"min":1200.0,"max":3600.0},{"current":2695.083,"min":1200.0,"max":3600.0},{"current":2698.456,"min":1200.0,"max":3600.0},{"current":2743.615,"min":1200.0,"max":3600.0},{"current":2696.634,"min":1200.0,"max":3600.0},{"current":2625.714,"min":1200.0,"max":3600.0},{"current":2695.064,"min":1200.0,"max":3600.0},{"current":2638.814,"min":1200.0,"max":3600.0},{"current":2696.698,"min":1200.0,"max":3600.0},{"current":2694.352,"min":1200.0,"max":3600.0},{"current":2752.659,"min":1200.0,"max":3600.0},{"current":2727.426,"min":1200.0,"max":3600.0},{"current":2709.798,"min":1200.0,"max":3600.0},{"current":2705.236,"min":1200.0,"max":3600.0},{"current":2699.123,"min":1200.0,"max":3600.0},{"current":2714.432,"min":1200.0,"max":3600.0},{"current":2836.995,"min":1200.0,"max":3600.0},{"current":2696.301,"min":1200.0,"max":3600.0},{"current":2705.357,"min":1200.0,"max":3600.0},{"current":2694.366,"min":1200.0,"max":3600.0},{"current":2694.214,"min":1200.0,"max":3600.0},{"current":2759.974,"min":1200.0,"max":3600.0},{"current":2696.601,"min":1200.0,"max":3600.0},{"current":2756.647,"min":1200.0,"max":3600.0},{"current":2698.978,"min":1200.0,"max":3600.0},{"current":2694.288,"min":1200.0,"max":3600.0},{"current":2696.442,"min":1200.0,"max":3600.0},{"current":2694.406,"min":1200.0,"max":3600.0},{"current":2822.315,"min":1200.0,"max":3600.0},{"current":2693.408,"min":1200.0,"max":3600.0},{"current":2694.379,"min":1200.0,"max":3600.0},{"current":2693.569,"min":1200.0,"max":3600.0},{"current":2694.23,"min":1200.0,"max":3600.0},{"current":2693.79,"min":1200.0,"max":3600.0},{"current":2695.55,"min":1200.0,"max":3600.0},{"current":2769.698,"min":1200.0,"max":3600.0},{"current":2723.507,"min":1200.0,"max":3600.0},{"current":2696.948,"min":1200.0,"max":3600.0},{"current":2696.762,"min":1200.0,"max":3600.0},{"current":2726.866,"min":1200.0,"max":3600.0},{"current":2695.78,"min":1200.0,"max":3600.0},{"current":2777.427,"min":1200.0,"max":3600.0},{"current":2694.384,"min":1200.0,"max":3600.0},{"current":2695.985,"min":1200.0,"max":3600.0},{"current":2694.466,"min":1200.0,"max":3600.0},{"current":2755.005,"min":1200.0,"max":3600.0},{"current":2773.065,"min":1200.0,"max":3600.0},{"current":2782.662,"min":1200.0,"max":3600.0},{"current":2771.188,"min":1200.0,"max":3600.0}],"disk_write_speed":72.22565752241384,"process_ids":[2113736,2113939]}
+{"timestamp":1678268175.172247,"rapl_power_draw_absolute":167.35677706297753,"rapl_estimated_attributable_power_draw":8.51347903960202,"cpu_time_seconds":{"2113736":{"user":1034.13,"system":203.42,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":16.7,"system":24.11,"children_user":7.22,"children_system":245.53,"iowait":25.63}},"average_relative_cpu_utilization":0.05743545054543177,"absolute_cpu_utilization":0.9987290029097942,"relative_mem_usage":0.01915696286650944,"absolute_mem_usage":3957927936.0,"absolute_mem_percent_usage":0.007316908226965777,"mem_info_per_process":{"2113736":{"rss":3894587392,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3493588992,"pss":3656440832,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":684.73,"nvidia_estimated_attributable_power_draw":69.95,"average_gpu_estimated_utilization_absolute":0.172,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":19.75,"mem":13.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":17.2,"mem":10.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.95},"cpu_count_adjusted_average_load":[0.23199999999999998,0.23162500000000003,0.227875],"cpu_freq":[{"current":2695.955,"min":1200.0,"max":3600.0},{"current":2697.444,"min":1200.0,"max":3600.0},{"current":2628.289,"min":1200.0,"max":3600.0},{"current":2751.48,"min":1200.0,"max":3600.0},{"current":2706.899,"min":1200.0,"max":3600.0},{"current":2808.876,"min":1200.0,"max":3600.0},{"current":2710.604,"min":1200.0,"max":3600.0},{"current":2661.427,"min":1200.0,"max":3600.0},{"current":2770.615,"min":1200.0,"max":3600.0},{"current":2708.01,"min":1200.0,"max":3600.0},{"current":2712.131,"min":1200.0,"max":3600.0},{"current":2833.382,"min":1200.0,"max":3600.0},{"current":2694.034,"min":1200.0,"max":3600.0},{"current":2698.687,"min":1200.0,"max":3600.0},{"current":2700.988,"min":1200.0,"max":3600.0},{"current":2700.722,"min":1200.0,"max":3600.0},{"current":2708.575,"min":1200.0,"max":3600.0},{"current":2708.314,"min":1200.0,"max":3600.0},{"current":2840.752,"min":1200.0,"max":3600.0},{"current":2695.556,"min":1200.0,"max":3600.0},{"current":2694.826,"min":1200.0,"max":3600.0},{"current":2694.364,"min":1200.0,"max":3600.0},{"current":2695.429,"min":1200.0,"max":3600.0},{"current":2695.404,"min":1200.0,"max":3600.0},{"current":2697.093,"min":1200.0,"max":3600.0},{"current":2694.707,"min":1200.0,"max":3600.0},{"current":2696.416,"min":1200.0,"max":3600.0},{"current":2692.501,"min":1200.0,"max":3600.0},{"current":2695.378,"min":1200.0,"max":3600.0},{"current":2695.086,"min":1200.0,"max":3600.0},{"current":2783.816,"min":1200.0,"max":3600.0},{"current":2695.981,"min":1200.0,"max":3600.0},{"current":2695.53,"min":1200.0,"max":3600.0},{"current":2697.092,"min":1200.0,"max":3600.0},{"current":2766.348,"min":1200.0,"max":3600.0},{"current":2701.487,"min":1200.0,"max":3600.0},{"current":2692.722,"min":1200.0,"max":3600.0},{"current":2782.998,"min":1200.0,"max":3600.0},{"current":2691.303,"min":1200.0,"max":3600.0},{"current":2696.969,"min":1200.0,"max":3600.0},{"current":2726.306,"min":1200.0,"max":3600.0},{"current":2846.638,"min":1200.0,"max":3600.0},{"current":2833.125,"min":1200.0,"max":3600.0},{"current":2752.049,"min":1200.0,"max":3600.0},{"current":2696.254,"min":1200.0,"max":3600.0},{"current":2698.622,"min":1200.0,"max":3600.0},{"current":2707.777,"min":1200.0,"max":3600.0},{"current":2841.999,"min":1200.0,"max":3600.0},{"current":2734.17,"min":1200.0,"max":3600.0},{"current":2708.845,"min":1200.0,"max":3600.0},{"current":2695.904,"min":1200.0,"max":3600.0},{"current":2695.736,"min":1200.0,"max":3600.0},{"current":2821.976,"min":1200.0,"max":3600.0},{"current":2695.641,"min":1200.0,"max":3600.0},{"current":2710.338,"min":1200.0,"max":3600.0},{"current":2709.046,"min":1200.0,"max":3600.0},{"current":2712.673,"min":1200.0,"max":3600.0},{"current":2694.346,"min":1200.0,"max":3600.0},{"current":2832.241,"min":1200.0,"max":3600.0},{"current":2792.444,"min":1200.0,"max":3600.0},{"current":2697.557,"min":1200.0,"max":3600.0},{"current":2695.35,"min":1200.0,"max":3600.0},{"current":2693.857,"min":1200.0,"max":3600.0},{"current":2697.88,"min":1200.0,"max":3600.0},{"current":2694.926,"min":1200.0,"max":3600.0},{"current":2694.283,"min":1200.0,"max":3600.0},{"current":2686.487,"min":1200.0,"max":3600.0},{"current":2684.131,"min":1200.0,"max":3600.0},{"current":2692.736,"min":1200.0,"max":3600.0},{"current":2693.816,"min":1200.0,"max":3600.0},{"current":2691.528,"min":1200.0,"max":3600.0},{"current":2693.762,"min":1200.0,"max":3600.0},{"current":2689.756,"min":1200.0,"max":3600.0},{"current":2695.572,"min":1200.0,"max":3600.0},{"current":2627.396,"min":1200.0,"max":3600.0},{"current":2694.344,"min":1200.0,"max":3600.0},{"current":2689.442,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2712.726,"min":1200.0,"max":3600.0},{"current":2767.246,"min":1200.0,"max":3600.0}],"disk_write_speed":71.31825775470327,"process_ids":[2113736,2113939]}
+{"timestamp":1678268190.712247,"rapl_power_draw_absolute":168.32419333918665,"rapl_estimated_attributable_power_draw":8.305767929986887,"cpu_time_seconds":{"2113736":{"user":1047.36,"system":205.74,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":16.92,"system":24.44,"children_user":7.34,"children_system":248.64,"iowait":25.97}},"average_relative_cpu_utilization":0.055768166148023095,"absolute_cpu_utilization":1.0036883957229927,"relative_mem_usage":0.0185395948639045,"absolute_mem_usage":3817383936.0,"absolute_mem_percent_usage":0.007057088552004753,"mem_info_per_process":{"2113736":{"rss":3752214528,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3353047040,"pss":3515896832,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":478.6300000000001,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.29333333333333333,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.0,"mem":5.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":29.333333333333332,"mem":19.666666666666668,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.22949999999999998,0.23112499999999997,0.22774999999999998],"cpu_freq":[{"current":2695.225,"min":1200.0,"max":3600.0},{"current":2714.192,"min":1200.0,"max":3600.0},{"current":2695.07,"min":1200.0,"max":3600.0},{"current":2696.861,"min":1200.0,"max":3600.0},{"current":2699.833,"min":1200.0,"max":3600.0},{"current":2835.703,"min":1200.0,"max":3600.0},{"current":2729.788,"min":1200.0,"max":3600.0},{"current":2694.239,"min":1200.0,"max":3600.0},{"current":2697.463,"min":1200.0,"max":3600.0},{"current":2700.551,"min":1200.0,"max":3600.0},{"current":2709.377,"min":1200.0,"max":3600.0},{"current":2841.343,"min":1200.0,"max":3600.0},{"current":2860.053,"min":1200.0,"max":3600.0},{"current":2694.971,"min":1200.0,"max":3600.0},{"current":2697.283,"min":1200.0,"max":3600.0},{"current":2708.153,"min":1200.0,"max":3600.0},{"current":2695.745,"min":1200.0,"max":3600.0},{"current":2698.356,"min":1200.0,"max":3600.0},{"current":2782.299,"min":1200.0,"max":3600.0},{"current":2698.17,"min":1200.0,"max":3600.0},{"current":2696.413,"min":1200.0,"max":3600.0},{"current":2696.255,"min":1200.0,"max":3600.0},{"current":2695.075,"min":1200.0,"max":3600.0},{"current":2697.824,"min":1200.0,"max":3600.0},{"current":2695.694,"min":1200.0,"max":3600.0},{"current":2694.484,"min":1200.0,"max":3600.0},{"current":2695.713,"min":1200.0,"max":3600.0},{"current":2692.555,"min":1200.0,"max":3600.0},{"current":2706.623,"min":1200.0,"max":3600.0},{"current":2693.767,"min":1200.0,"max":3600.0},{"current":2783.17,"min":1200.0,"max":3600.0},{"current":2694.252,"min":1200.0,"max":3600.0},{"current":2693.777,"min":1200.0,"max":3600.0},{"current":2695.534,"min":1200.0,"max":3600.0},{"current":2784.577,"min":1200.0,"max":3600.0},{"current":2696.692,"min":1200.0,"max":3600.0},{"current":2694.615,"min":1200.0,"max":3600.0},{"current":2699.976,"min":1200.0,"max":3600.0},{"current":2723.401,"min":1200.0,"max":3600.0},{"current":2794.661,"min":1200.0,"max":3600.0},{"current":2705.691,"min":1200.0,"max":3600.0},{"current":2801.829,"min":1200.0,"max":3600.0},{"current":2850.67,"min":1200.0,"max":3600.0},{"current":2701.155,"min":1200.0,"max":3600.0},{"current":2694.459,"min":1200.0,"max":3600.0},{"current":2693.718,"min":1200.0,"max":3600.0},{"current":2701.644,"min":1200.0,"max":3600.0},{"current":2848.809,"min":1200.0,"max":3600.0},{"current":2697.662,"min":1200.0,"max":3600.0},{"current":2694.059,"min":1200.0,"max":3600.0},{"current":2696.499,"min":1200.0,"max":3600.0},{"current":2622.699,"min":1200.0,"max":3600.0},{"current":2780.345,"min":1200.0,"max":3600.0},{"current":2695.908,"min":1200.0,"max":3600.0},{"current":2694.056,"min":1200.0,"max":3600.0},{"current":2718.269,"min":1200.0,"max":3600.0},{"current":2696.932,"min":1200.0,"max":3600.0},{"current":2693.928,"min":1200.0,"max":3600.0},{"current":2717.069,"min":1200.0,"max":3600.0},{"current":2806.653,"min":1200.0,"max":3600.0},{"current":2696.317,"min":1200.0,"max":3600.0},{"current":2696.688,"min":1200.0,"max":3600.0},{"current":2696.263,"min":1200.0,"max":3600.0},{"current":2693.835,"min":1200.0,"max":3600.0},{"current":2698.486,"min":1200.0,"max":3600.0},{"current":2693.963,"min":1200.0,"max":3600.0},{"current":2707.752,"min":1200.0,"max":3600.0},{"current":2744.025,"min":1200.0,"max":3600.0},{"current":2694.59,"min":1200.0,"max":3600.0},{"current":2696.975,"min":1200.0,"max":3600.0},{"current":2768.99,"min":1200.0,"max":3600.0},{"current":2694.269,"min":1200.0,"max":3600.0},{"current":2775.435,"min":1200.0,"max":3600.0},{"current":2695.539,"min":1200.0,"max":3600.0},{"current":2662.721,"min":1200.0,"max":3600.0},{"current":2694.774,"min":1200.0,"max":3600.0},{"current":2785.495,"min":1200.0,"max":3600.0},{"current":2783.626,"min":1200.0,"max":3600.0},{"current":2777.194,"min":1200.0,"max":3600.0},{"current":2772.636,"min":1200.0,"max":3600.0}],"disk_write_speed":71.34090139176112,"process_ids":[2113736,2113939]}
+{"timestamp":1678268206.376271,"rapl_power_draw_absolute":167.8369713958736,"rapl_estimated_attributable_power_draw":8.438883768808518,"cpu_time_seconds":{"2113736":{"user":1060.51,"system":208.25,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":17.15,"system":24.78,"children_user":7.43,"children_system":251.79,"iowait":26.31}},"average_relative_cpu_utilization":0.05699320089864214,"absolute_cpu_utilization":0.9987033081651354,"relative_mem_usage":0.018056315382347837,"absolute_mem_usage":3716486144.0,"absolute_mem_percent_usage":0.006870561688376814,"mem_info_per_process":{"2113736":{"rss":3660226560,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3252146176,"pss":3414999040,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":490.1600000000001,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.25666666666666665,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":6.75,"mem":4.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":12.666666666666666,"mem":7.666666666666667,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.666666666666668,"mem":17.333333333333332,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.22749999999999998,0.230625,0.22762500000000002],"cpu_freq":[{"current":2695.106,"min":1200.0,"max":3600.0},{"current":2656.875,"min":1200.0,"max":3600.0},{"current":2693.037,"min":1200.0,"max":3600.0},{"current":2720.791,"min":1200.0,"max":3600.0},{"current":2703.391,"min":1200.0,"max":3600.0},{"current":2863.715,"min":1200.0,"max":3600.0},{"current":2696.973,"min":1200.0,"max":3600.0},{"current":2692.609,"min":1200.0,"max":3600.0},{"current":2712.019,"min":1200.0,"max":3600.0},{"current":2695.635,"min":1200.0,"max":3600.0},{"current":2695.176,"min":1200.0,"max":3600.0},{"current":2841.671,"min":1200.0,"max":3600.0},{"current":2695.648,"min":1200.0,"max":3600.0},{"current":2709.805,"min":1200.0,"max":3600.0},{"current":2709.43,"min":1200.0,"max":3600.0},{"current":2710.424,"min":1200.0,"max":3600.0},{"current":2709.978,"min":1200.0,"max":3600.0},{"current":2712.675,"min":1200.0,"max":3600.0},{"current":2789.922,"min":1200.0,"max":3600.0},{"current":2694.216,"min":1200.0,"max":3600.0},{"current":2695.272,"min":1200.0,"max":3600.0},{"current":2697.953,"min":1200.0,"max":3600.0},{"current":2695.254,"min":1200.0,"max":3600.0},{"current":2697.503,"min":1200.0,"max":3600.0},{"current":2693.965,"min":1200.0,"max":3600.0},{"current":2696.017,"min":1200.0,"max":3600.0},{"current":2733.272,"min":1200.0,"max":3600.0},{"current":2694.843,"min":1200.0,"max":3600.0},{"current":2698.862,"min":1200.0,"max":3600.0},{"current":2695.932,"min":1200.0,"max":3600.0},{"current":2680.093,"min":1200.0,"max":3600.0},{"current":2697.599,"min":1200.0,"max":3600.0},{"current":2685.377,"min":1200.0,"max":3600.0},{"current":2694.741,"min":1200.0,"max":3600.0},{"current":2682.038,"min":1200.0,"max":3600.0},{"current":2698.108,"min":1200.0,"max":3600.0},{"current":2693.712,"min":1200.0,"max":3600.0},{"current":2691.996,"min":1200.0,"max":3600.0},{"current":2682.402,"min":1200.0,"max":3600.0},{"current":2687.676,"min":1200.0,"max":3600.0},{"current":2734.867,"min":1200.0,"max":3600.0},{"current":2846.229,"min":1200.0,"max":3600.0},{"current":2824.591,"min":1200.0,"max":3600.0},{"current":2711.603,"min":1200.0,"max":3600.0},{"current":2694.946,"min":1200.0,"max":3600.0},{"current":2626.637,"min":1200.0,"max":3600.0},{"current":2696.008,"min":1200.0,"max":3600.0},{"current":2820.462,"min":1200.0,"max":3600.0},{"current":2696.012,"min":1200.0,"max":3600.0},{"current":2752.103,"min":1200.0,"max":3600.0},{"current":2708.427,"min":1200.0,"max":3600.0},{"current":2723.353,"min":1200.0,"max":3600.0},{"current":2813.613,"min":1200.0,"max":3600.0},{"current":2695.915,"min":1200.0,"max":3600.0},{"current":2709.589,"min":1200.0,"max":3600.0},{"current":2708.754,"min":1200.0,"max":3600.0},{"current":2705.898,"min":1200.0,"max":3600.0},{"current":2725.425,"min":1200.0,"max":3600.0},{"current":2635.639,"min":1200.0,"max":3600.0},{"current":2861.387,"min":1200.0,"max":3600.0},{"current":2696.477,"min":1200.0,"max":3600.0},{"current":2696.42,"min":1200.0,"max":3600.0},{"current":2695.158,"min":1200.0,"max":3600.0},{"current":2695.929,"min":1200.0,"max":3600.0},{"current":2695.391,"min":1200.0,"max":3600.0},{"current":2695.348,"min":1200.0,"max":3600.0},{"current":2773.524,"min":1200.0,"max":3600.0},{"current":2780.323,"min":1200.0,"max":3600.0},{"current":2694.046,"min":1200.0,"max":3600.0},{"current":2693.932,"min":1200.0,"max":3600.0},{"current":2628.304,"min":1200.0,"max":3600.0},{"current":2695.176,"min":1200.0,"max":3600.0},{"current":2759.324,"min":1200.0,"max":3600.0},{"current":2695.821,"min":1200.0,"max":3600.0},{"current":2694.108,"min":1200.0,"max":3600.0},{"current":2694.304,"min":1200.0,"max":3600.0},{"current":2769.568,"min":1200.0,"max":3600.0},{"current":2734.031,"min":1200.0,"max":3600.0},{"current":2768.725,"min":1200.0,"max":3600.0},{"current":2694.064,"min":1200.0,"max":3600.0}],"disk_write_speed":71.69215970129483,"process_ids":[2113736,2113939]}
+{"timestamp":1678268221.79625,"rapl_power_draw_absolute":167.97377267623204,"rapl_estimated_attributable_power_draw":8.383937227027026,"cpu_time_seconds":{"2113736":{"user":1073.47,"system":210.73,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":17.36,"system":25.07,"children_user":7.49,"children_system":254.94,"iowait":26.65}},"average_relative_cpu_utilization":0.05669664915437987,"absolute_cpu_utilization":1.004047384848096,"relative_mem_usage":0.017022775162982576,"absolute_mem_usage":3511129088.0,"absolute_mem_percent_usage":0.006490923969649064,"mem_info_per_process":{"2113736":{"rss":3456389120,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3046789120,"pss":3209641984,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":467.71000000000004,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.22,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":25.0,"mem":16.333333333333332,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.0,"mem":3.3333333333333335,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":22.0,"mem":13.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.226875,0.230375,0.22749999999999998],"cpu_freq":[{"current":2695.422,"min":1200.0,"max":3600.0},{"current":2695.508,"min":1200.0,"max":3600.0},{"current":2636.54,"min":1200.0,"max":3600.0},{"current":2711.737,"min":1200.0,"max":3600.0},{"current":2709.399,"min":1200.0,"max":3600.0},{"current":2848.446,"min":1200.0,"max":3600.0},{"current":2715.512,"min":1200.0,"max":3600.0},{"current":2680.38,"min":1200.0,"max":3600.0},{"current":2708.686,"min":1200.0,"max":3600.0},{"current":2840.286,"min":1200.0,"max":3600.0},{"current":2712.848,"min":1200.0,"max":3600.0},{"current":2728.31,"min":1200.0,"max":3600.0},{"current":2839.003,"min":1200.0,"max":3600.0},{"current":2712.407,"min":1200.0,"max":3600.0},{"current":2712.985,"min":1200.0,"max":3600.0},{"current":2702.613,"min":1200.0,"max":3600.0},{"current":2697.107,"min":1200.0,"max":3600.0},{"current":2709.976,"min":1200.0,"max":3600.0},{"current":2831.911,"min":1200.0,"max":3600.0},{"current":2692.743,"min":1200.0,"max":3600.0},{"current":2697.113,"min":1200.0,"max":3600.0},{"current":2697.053,"min":1200.0,"max":3600.0},{"current":2695.126,"min":1200.0,"max":3600.0},{"current":2695.651,"min":1200.0,"max":3600.0},{"current":2696.674,"min":1200.0,"max":3600.0},{"current":2694.275,"min":1200.0,"max":3600.0},{"current":2693.647,"min":1200.0,"max":3600.0},{"current":2693.274,"min":1200.0,"max":3600.0},{"current":2696.991,"min":1200.0,"max":3600.0},{"current":2694.717,"min":1200.0,"max":3600.0},{"current":2777.386,"min":1200.0,"max":3600.0},{"current":2693.76,"min":1200.0,"max":3600.0},{"current":2695.508,"min":1200.0,"max":3600.0},{"current":2694.912,"min":1200.0,"max":3600.0},{"current":2757.835,"min":1200.0,"max":3600.0},{"current":2698.824,"min":1200.0,"max":3600.0},{"current":2656.414,"min":1200.0,"max":3600.0},{"current":2784.034,"min":1200.0,"max":3600.0},{"current":2691.508,"min":1200.0,"max":3600.0},{"current":2695.118,"min":1200.0,"max":3600.0},{"current":2693.773,"min":1200.0,"max":3600.0},{"current":2678.089,"min":1200.0,"max":3600.0},{"current":2691.819,"min":1200.0,"max":3600.0},{"current":2693.763,"min":1200.0,"max":3600.0},{"current":2693.745,"min":1200.0,"max":3600.0},{"current":2693.869,"min":1200.0,"max":3600.0},{"current":2694.173,"min":1200.0,"max":3600.0},{"current":2702.753,"min":1200.0,"max":3600.0},{"current":2694.447,"min":1200.0,"max":3600.0},{"current":2871.835,"min":1200.0,"max":3600.0},{"current":2709.269,"min":1200.0,"max":3600.0},{"current":2714.805,"min":1200.0,"max":3600.0},{"current":2683.179,"min":1200.0,"max":3600.0},{"current":2694.042,"min":1200.0,"max":3600.0},{"current":2693.793,"min":1200.0,"max":3600.0},{"current":2694.556,"min":1200.0,"max":3600.0},{"current":2696.245,"min":1200.0,"max":3600.0},{"current":2694.757,"min":1200.0,"max":3600.0},{"current":2740.903,"min":1200.0,"max":3600.0},{"current":2736.56,"min":1200.0,"max":3600.0},{"current":2696.962,"min":1200.0,"max":3600.0},{"current":2693.801,"min":1200.0,"max":3600.0},{"current":2693.831,"min":1200.0,"max":3600.0},{"current":2696.254,"min":1200.0,"max":3600.0},{"current":2696.413,"min":1200.0,"max":3600.0},{"current":2691.864,"min":1200.0,"max":3600.0},{"current":2777.595,"min":1200.0,"max":3600.0},{"current":2770.431,"min":1200.0,"max":3600.0},{"current":2694.045,"min":1200.0,"max":3600.0},{"current":2694.123,"min":1200.0,"max":3600.0},{"current":2695.678,"min":1200.0,"max":3600.0},{"current":2694.977,"min":1200.0,"max":3600.0},{"current":2773.748,"min":1200.0,"max":3600.0},{"current":2694.774,"min":1200.0,"max":3600.0},{"current":2694.017,"min":1200.0,"max":3600.0},{"current":2695.435,"min":1200.0,"max":3600.0},{"current":2730.293,"min":1200.0,"max":3600.0},{"current":2701.051,"min":1200.0,"max":3600.0},{"current":2772.812,"min":1200.0,"max":3600.0},{"current":2783.169,"min":1200.0,"max":3600.0}],"disk_write_speed":71.97021191409043,"process_ids":[2113736,2113939]}
+{"timestamp":1678268237.436413,"rapl_power_draw_absolute":167.8989987432529,"rapl_estimated_attributable_power_draw":8.419323229145542,"cpu_time_seconds":{"2113736":{"user":1086.54,"system":213.3,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":17.58,"system":25.36,"children_user":7.58,"children_system":258.08,"iowait":26.98}},"average_relative_cpu_utilization":0.05710741500372965,"absolute_cpu_utilization":0.9987329983683978,"relative_mem_usage":0.016491484179394764,"absolute_mem_usage":3394200576.0,"absolute_mem_percent_usage":0.006274761572239596,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929860608,"pss":3092713472,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":480.36,"nvidia_estimated_attributable_power_draw":71.97,"average_gpu_estimated_utilization_absolute":0.28600000000000003,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":4.0,"mem":2.3333333333333335,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":13.8,"mem":7.4,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":28.6,"mem":20.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":71.97},"cpu_count_adjusted_average_load":[0.22825,0.2305,0.22762500000000002],"cpu_freq":[{"current":2705.141,"min":1200.0,"max":3600.0},{"current":2626.766,"min":1200.0,"max":3600.0},{"current":2759.35,"min":1200.0,"max":3600.0},{"current":2710.6,"min":1200.0,"max":3600.0},{"current":2706.716,"min":1200.0,"max":3600.0},{"current":2825.331,"min":1200.0,"max":3600.0},{"current":2708.329,"min":1200.0,"max":3600.0},{"current":2706.267,"min":1200.0,"max":3600.0},{"current":2696.817,"min":1200.0,"max":3600.0},{"current":2828.908,"min":1200.0,"max":3600.0},{"current":2697.339,"min":1200.0,"max":3600.0},{"current":2709.194,"min":1200.0,"max":3600.0},{"current":2776.346,"min":1200.0,"max":3600.0},{"current":2696.935,"min":1200.0,"max":3600.0},{"current":2699.238,"min":1200.0,"max":3600.0},{"current":2710.845,"min":1200.0,"max":3600.0},{"current":2694.411,"min":1200.0,"max":3600.0},{"current":2722.393,"min":1200.0,"max":3600.0},{"current":2852.555,"min":1200.0,"max":3600.0},{"current":2696.498,"min":1200.0,"max":3600.0},{"current":2698.264,"min":1200.0,"max":3600.0},{"current":2694.848,"min":1200.0,"max":3600.0},{"current":2695.143,"min":1200.0,"max":3600.0},{"current":2696.421,"min":1200.0,"max":3600.0},{"current":2723.384,"min":1200.0,"max":3600.0},{"current":2693.775,"min":1200.0,"max":3600.0},{"current":2709.767,"min":1200.0,"max":3600.0},{"current":2692.111,"min":1200.0,"max":3600.0},{"current":2698.05,"min":1200.0,"max":3600.0},{"current":2697.008,"min":1200.0,"max":3600.0},{"current":2780.176,"min":1200.0,"max":3600.0},{"current":2696.196,"min":1200.0,"max":3600.0},{"current":2694.183,"min":1200.0,"max":3600.0},{"current":2696.689,"min":1200.0,"max":3600.0},{"current":2780.827,"min":1200.0,"max":3600.0},{"current":2694.891,"min":1200.0,"max":3600.0},{"current":2693.302,"min":1200.0,"max":3600.0},{"current":2695.559,"min":1200.0,"max":3600.0},{"current":2690.715,"min":1200.0,"max":3600.0},{"current":2709.29,"min":1200.0,"max":3600.0},{"current":2722.113,"min":1200.0,"max":3600.0},{"current":2844.056,"min":1200.0,"max":3600.0},{"current":2830.71,"min":1200.0,"max":3600.0},{"current":2706.714,"min":1200.0,"max":3600.0},{"current":2696.99,"min":1200.0,"max":3600.0},{"current":2706.137,"min":1200.0,"max":3600.0},{"current":2703.216,"min":1200.0,"max":3600.0},{"current":2696.792,"min":1200.0,"max":3600.0},{"current":2830.974,"min":1200.0,"max":3600.0},{"current":2620.913,"min":1200.0,"max":3600.0},{"current":2708.779,"min":1200.0,"max":3600.0},{"current":2696.556,"min":1200.0,"max":3600.0},{"current":2694.62,"min":1200.0,"max":3600.0},{"current":2709.249,"min":1200.0,"max":3600.0},{"current":2706.786,"min":1200.0,"max":3600.0},{"current":2709.28,"min":1200.0,"max":3600.0},{"current":2708.819,"min":1200.0,"max":3600.0},{"current":2694.518,"min":1200.0,"max":3600.0},{"current":2623.882,"min":1200.0,"max":3600.0},{"current":2840.369,"min":1200.0,"max":3600.0},{"current":2696.269,"min":1200.0,"max":3600.0},{"current":2694.906,"min":1200.0,"max":3600.0},{"current":2695.664,"min":1200.0,"max":3600.0},{"current":2695.226,"min":1200.0,"max":3600.0},{"current":2696.498,"min":1200.0,"max":3600.0},{"current":2694.003,"min":1200.0,"max":3600.0},{"current":2775.325,"min":1200.0,"max":3600.0},{"current":2784.047,"min":1200.0,"max":3600.0},{"current":2695.659,"min":1200.0,"max":3600.0},{"current":2693.763,"min":1200.0,"max":3600.0},{"current":2718.785,"min":1200.0,"max":3600.0},{"current":2694.188,"min":1200.0,"max":3600.0},{"current":2781.293,"min":1200.0,"max":3600.0},{"current":2694.295,"min":1200.0,"max":3600.0},{"current":2625.069,"min":1200.0,"max":3600.0},{"current":2693.743,"min":1200.0,"max":3600.0},{"current":2687.802,"min":1200.0,"max":3600.0},{"current":2703.757,"min":1200.0,"max":3600.0},{"current":2728.346,"min":1200.0,"max":3600.0},{"current":2714.543,"min":1200.0,"max":3600.0}],"disk_write_speed":71.58604622717051,"process_ids":[2113736,2113939]}
+{"timestamp":1678268253.056195,"rapl_power_draw_absolute":168.1109581175001,"rapl_estimated_attributable_power_draw":8.146670331073377,"cpu_time_seconds":{"2113736":{"user":1099.62,"system":215.82,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":17.79,"system":25.65,"children_user":7.68,"children_system":261.2,"iowait":27.32}},"average_relative_cpu_utilization":0.05514151406894345,"absolute_cpu_utilization":1.0036999819934007,"relative_mem_usage":0.01651104656669952,"absolute_mem_usage":3394200576.0,"absolute_mem_percent_usage":0.006274761572239596,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929860608,"pss":3092713472,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":681.84,"nvidia_estimated_attributable_power_draw":262.81,"average_gpu_estimated_utilization_absolute":0.27399999999999997,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":7.25,"mem":4.25,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.666666666666667,"mem":3.3333333333333335,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":16.0,"mem":8.666666666666666,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":27.4,"mem":19.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":262.81},"cpu_count_adjusted_average_load":[0.231875,0.23112499999999997,0.227875],"cpu_freq":[{"current":2694.26,"min":1200.0,"max":3600.0},{"current":2684.39,"min":1200.0,"max":3600.0},{"current":2696.802,"min":1200.0,"max":3600.0},{"current":2702.845,"min":1200.0,"max":3600.0},{"current":2699.229,"min":1200.0,"max":3600.0},{"current":2724.528,"min":1200.0,"max":3600.0},{"current":2695.729,"min":1200.0,"max":3600.0},{"current":2719.203,"min":1200.0,"max":3600.0},{"current":2696.702,"min":1200.0,"max":3600.0},{"current":2856.416,"min":1200.0,"max":3600.0},{"current":2693.252,"min":1200.0,"max":3600.0},{"current":2695.649,"min":1200.0,"max":3600.0},{"current":2838.446,"min":1200.0,"max":3600.0},{"current":2695.929,"min":1200.0,"max":3600.0},{"current":2696.357,"min":1200.0,"max":3600.0},{"current":2697.306,"min":1200.0,"max":3600.0},{"current":2717.406,"min":1200.0,"max":3600.0},{"current":2696.225,"min":1200.0,"max":3600.0},{"current":2831.389,"min":1200.0,"max":3600.0},{"current":2608.295,"min":1200.0,"max":3600.0},{"current":2695.257,"min":1200.0,"max":3600.0},{"current":2696.149,"min":1200.0,"max":3600.0},{"current":2693.971,"min":1200.0,"max":3600.0},{"current":2693.693,"min":1200.0,"max":3600.0},{"current":2697.504,"min":1200.0,"max":3600.0},{"current":2698.666,"min":1200.0,"max":3600.0},{"current":2697.527,"min":1200.0,"max":3600.0},{"current":2696.174,"min":1200.0,"max":3600.0},{"current":2670.779,"min":1200.0,"max":3600.0},{"current":2696.132,"min":1200.0,"max":3600.0},{"current":2772.232,"min":1200.0,"max":3600.0},{"current":2698.439,"min":1200.0,"max":3600.0},{"current":2733.884,"min":1200.0,"max":3600.0},{"current":2695.115,"min":1200.0,"max":3600.0},{"current":2759.878,"min":1200.0,"max":3600.0},{"current":2696.897,"min":1200.0,"max":3600.0},{"current":2698.588,"min":1200.0,"max":3600.0},{"current":2751.058,"min":1200.0,"max":3600.0},{"current":2732.237,"min":1200.0,"max":3600.0},{"current":2735.644,"min":1200.0,"max":3600.0},{"current":2724.17,"min":1200.0,"max":3600.0},{"current":2819.631,"min":1200.0,"max":3600.0},{"current":2853.31,"min":1200.0,"max":3600.0},{"current":2694.223,"min":1200.0,"max":3600.0},{"current":2742.968,"min":1200.0,"max":3600.0},{"current":2685.605,"min":1200.0,"max":3600.0},{"current":2694.876,"min":1200.0,"max":3600.0},{"current":2697.595,"min":1200.0,"max":3600.0},{"current":2694.515,"min":1200.0,"max":3600.0},{"current":2596.923,"min":1200.0,"max":3600.0},{"current":2840.343,"min":1200.0,"max":3600.0},{"current":2695.304,"min":1200.0,"max":3600.0},{"current":2674.0,"min":1200.0,"max":3600.0},{"current":2694.84,"min":1200.0,"max":3600.0},{"current":2695.409,"min":1200.0,"max":3600.0},{"current":2783.011,"min":1200.0,"max":3600.0},{"current":2781.12,"min":1200.0,"max":3600.0},{"current":2694.729,"min":1200.0,"max":3600.0},{"current":2772.399,"min":1200.0,"max":3600.0},{"current":2797.607,"min":1200.0,"max":3600.0},{"current":2694.287,"min":1200.0,"max":3600.0},{"current":2695.285,"min":1200.0,"max":3600.0},{"current":2694.198,"min":1200.0,"max":3600.0},{"current":2693.961,"min":1200.0,"max":3600.0},{"current":2692.769,"min":1200.0,"max":3600.0},{"current":2693.91,"min":1200.0,"max":3600.0},{"current":2694.85,"min":1200.0,"max":3600.0},{"current":2678.393,"min":1200.0,"max":3600.0},{"current":2693.757,"min":1200.0,"max":3600.0},{"current":2694.223,"min":1200.0,"max":3600.0},{"current":2728.082,"min":1200.0,"max":3600.0},{"current":2694.358,"min":1200.0,"max":3600.0},{"current":2802.646,"min":1200.0,"max":3600.0},{"current":2746.464,"min":1200.0,"max":3600.0},{"current":2768.718,"min":1200.0,"max":3600.0},{"current":2780.633,"min":1200.0,"max":3600.0},{"current":2748.326,"min":1200.0,"max":3600.0},{"current":2788.551,"min":1200.0,"max":3600.0},{"current":2781.508,"min":1200.0,"max":3600.0},{"current":2764.987,"min":1200.0,"max":3600.0}],"disk_write_speed":70.70408833156176,"process_ids":[2113736,2113939]}
+{"timestamp":1678268268.872229,"rapl_power_draw_absolute":167.30534444833037,"rapl_estimated_attributable_power_draw":8.46376623501312,"cpu_time_seconds":{"2113736":{"user":1112.93,"system":218.33,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":17.97,"system":25.97,"children_user":7.82,"children_system":264.32,"iowait":27.66}},"average_relative_cpu_utilization":0.05765070750076122,"absolute_cpu_utilization":0.9987405499746407,"relative_mem_usage":0.016460093380077336,"absolute_mem_usage":3394200576.0,"absolute_mem_percent_usage":0.006274761572239596,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929860608,"pss":3092713472,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":606.2800000000001,"nvidia_estimated_attributable_power_draw":209.74,"average_gpu_estimated_utilization_absolute":0.28,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":21.4,"mem":14.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.0,"mem":3.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":28.0,"mem":19.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":209.74},"cpu_count_adjusted_average_load":[0.23025,0.230875,0.227875],"cpu_freq":[{"current":2695.345,"min":1200.0,"max":3600.0},{"current":2654.345,"min":1200.0,"max":3600.0},{"current":2692.384,"min":1200.0,"max":3600.0},{"current":2698.434,"min":1200.0,"max":3600.0},{"current":2709.568,"min":1200.0,"max":3600.0},{"current":2699.817,"min":1200.0,"max":3600.0},{"current":2696.038,"min":1200.0,"max":3600.0},{"current":2696.097,"min":1200.0,"max":3600.0},{"current":2699.03,"min":1200.0,"max":3600.0},{"current":2695.382,"min":1200.0,"max":3600.0},{"current":2693.184,"min":1200.0,"max":3600.0},{"current":2750.397,"min":1200.0,"max":3600.0},{"current":2745.219,"min":1200.0,"max":3600.0},{"current":2701.792,"min":1200.0,"max":3600.0},{"current":2699.86,"min":1200.0,"max":3600.0},{"current":2695.686,"min":1200.0,"max":3600.0},{"current":2695.074,"min":1200.0,"max":3600.0},{"current":2697.55,"min":1200.0,"max":3600.0},{"current":2845.111,"min":1200.0,"max":3600.0},{"current":2630.971,"min":1200.0,"max":3600.0},{"current":2697.381,"min":1200.0,"max":3600.0},{"current":2695.671,"min":1200.0,"max":3600.0},{"current":2695.734,"min":1200.0,"max":3600.0},{"current":2695.46,"min":1200.0,"max":3600.0},{"current":2695.213,"min":1200.0,"max":3600.0},{"current":2698.763,"min":1200.0,"max":3600.0},{"current":2696.953,"min":1200.0,"max":3600.0},{"current":2693.734,"min":1200.0,"max":3600.0},{"current":2695.848,"min":1200.0,"max":3600.0},{"current":2694.826,"min":1200.0,"max":3600.0},{"current":2697.685,"min":1200.0,"max":3600.0},{"current":2698.868,"min":1200.0,"max":3600.0},{"current":2694.648,"min":1200.0,"max":3600.0},{"current":2694.982,"min":1200.0,"max":3600.0},{"current":2769.138,"min":1200.0,"max":3600.0},{"current":2694.81,"min":1200.0,"max":3600.0},{"current":2658.704,"min":1200.0,"max":3600.0},{"current":2696.427,"min":1200.0,"max":3600.0},{"current":2696.052,"min":1200.0,"max":3600.0},{"current":2693.196,"min":1200.0,"max":3600.0},{"current":2737.564,"min":1200.0,"max":3600.0},{"current":2870.02,"min":1200.0,"max":3600.0},{"current":2801.925,"min":1200.0,"max":3600.0},{"current":2700.632,"min":1200.0,"max":3600.0},{"current":2735.667,"min":1200.0,"max":3600.0},{"current":2711.48,"min":1200.0,"max":3600.0},{"current":2695.596,"min":1200.0,"max":3600.0},{"current":2699.338,"min":1200.0,"max":3600.0},{"current":2696.02,"min":1200.0,"max":3600.0},{"current":2709.744,"min":1200.0,"max":3600.0},{"current":2857.632,"min":1200.0,"max":3600.0},{"current":2694.094,"min":1200.0,"max":3600.0},{"current":2699.694,"min":1200.0,"max":3600.0},{"current":2695.027,"min":1200.0,"max":3600.0},{"current":2628.312,"min":1200.0,"max":3600.0},{"current":2697.127,"min":1200.0,"max":3600.0},{"current":2765.192,"min":1200.0,"max":3600.0},{"current":2695.709,"min":1200.0,"max":3600.0},{"current":2693.072,"min":1200.0,"max":3600.0},{"current":2870.68,"min":1200.0,"max":3600.0},{"current":2692.879,"min":1200.0,"max":3600.0},{"current":2695.293,"min":1200.0,"max":3600.0},{"current":2694.455,"min":1200.0,"max":3600.0},{"current":2698.018,"min":1200.0,"max":3600.0},{"current":2694.009,"min":1200.0,"max":3600.0},{"current":2694.836,"min":1200.0,"max":3600.0},{"current":2693.889,"min":1200.0,"max":3600.0},{"current":2677.598,"min":1200.0,"max":3600.0},{"current":2682.17,"min":1200.0,"max":3600.0},{"current":2696.005,"min":1200.0,"max":3600.0},{"current":2695.142,"min":1200.0,"max":3600.0},{"current":2694.398,"min":1200.0,"max":3600.0},{"current":2687.077,"min":1200.0,"max":3600.0},{"current":2693.779,"min":1200.0,"max":3600.0},{"current":2693.804,"min":1200.0,"max":3600.0},{"current":2697.214,"min":1200.0,"max":3600.0},{"current":2686.374,"min":1200.0,"max":3600.0},{"current":2693.759,"min":1200.0,"max":3600.0},{"current":2711.739,"min":1200.0,"max":3600.0},{"current":2764.536,"min":1200.0,"max":3600.0}],"disk_write_speed":69.8408518834072,"process_ids":[2113736,2113939]}
+{"timestamp":1678268284.500199,"rapl_power_draw_absolute":166.7115828262731,"rapl_estimated_attributable_power_draw":8.558389052986104,"cpu_time_seconds":{"2113736":{"user":1126.15,"system":220.75,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":18.2,"system":26.29,"children_user":7.91,"children_system":267.47,"iowait":28.0}},"average_relative_cpu_utilization":0.057972503168133196,"absolute_cpu_utilization":1.0037193061091036,"relative_mem_usage":0.019255806651119502,"absolute_mem_usage":3971195904.0,"absolute_mem_percent_usage":0.007341436340105814,"mem_info_per_process":{"2113736":{"rss":3912323072,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3506855936,"pss":3669708800,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":474.2800000000001,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.204,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":20.4,"mem":13.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.230625,0.231,0.22799999999999998],"cpu_freq":[{"current":2697.245,"min":1200.0,"max":3600.0},{"current":2731.281,"min":1200.0,"max":3600.0},{"current":2692.352,"min":1200.0,"max":3600.0},{"current":2711.446,"min":1200.0,"max":3600.0},{"current":2713.403,"min":1200.0,"max":3600.0},{"current":2711.214,"min":1200.0,"max":3600.0},{"current":2701.393,"min":1200.0,"max":3600.0},{"current":2778.206,"min":1200.0,"max":3600.0},{"current":2718.781,"min":1200.0,"max":3600.0},{"current":2712.093,"min":1200.0,"max":3600.0},{"current":2596.024,"min":1200.0,"max":3600.0},{"current":2842.302,"min":1200.0,"max":3600.0},{"current":2831.593,"min":1200.0,"max":3600.0},{"current":2703.911,"min":1200.0,"max":3600.0},{"current":2782.625,"min":1200.0,"max":3600.0},{"current":2697.371,"min":1200.0,"max":3600.0},{"current":2701.732,"min":1200.0,"max":3600.0},{"current":2695.48,"min":1200.0,"max":3600.0},{"current":2771.264,"min":1200.0,"max":3600.0},{"current":2645.668,"min":1200.0,"max":3600.0},{"current":2697.378,"min":1200.0,"max":3600.0},{"current":2695.454,"min":1200.0,"max":3600.0},{"current":2696.928,"min":1200.0,"max":3600.0},{"current":2694.748,"min":1200.0,"max":3600.0},{"current":2695.599,"min":1200.0,"max":3600.0},{"current":2696.157,"min":1200.0,"max":3600.0},{"current":2698.796,"min":1200.0,"max":3600.0},{"current":2693.638,"min":1200.0,"max":3600.0},{"current":2703.389,"min":1200.0,"max":3600.0},{"current":2694.999,"min":1200.0,"max":3600.0},{"current":2697.511,"min":1200.0,"max":3600.0},{"current":2695.722,"min":1200.0,"max":3600.0},{"current":2697.226,"min":1200.0,"max":3600.0},{"current":2695.12,"min":1200.0,"max":3600.0},{"current":2774.521,"min":1200.0,"max":3600.0},{"current":2699.548,"min":1200.0,"max":3600.0},{"current":2694.742,"min":1200.0,"max":3600.0},{"current":2698.243,"min":1200.0,"max":3600.0},{"current":2695.438,"min":1200.0,"max":3600.0},{"current":2695.945,"min":1200.0,"max":3600.0},{"current":2764.248,"min":1200.0,"max":3600.0},{"current":2735.858,"min":1200.0,"max":3600.0},{"current":2745.873,"min":1200.0,"max":3600.0},{"current":2697.661,"min":1200.0,"max":3600.0},{"current":2694.084,"min":1200.0,"max":3600.0},{"current":2694.136,"min":1200.0,"max":3600.0},{"current":2695.609,"min":1200.0,"max":3600.0},{"current":2693.431,"min":1200.0,"max":3600.0},{"current":2694.284,"min":1200.0,"max":3600.0},{"current":2696.777,"min":1200.0,"max":3600.0},{"current":2829.416,"min":1200.0,"max":3600.0},{"current":2696.03,"min":1200.0,"max":3600.0},{"current":2696.263,"min":1200.0,"max":3600.0},{"current":2696.411,"min":1200.0,"max":3600.0},{"current":2693.832,"min":1200.0,"max":3600.0},{"current":2708.902,"min":1200.0,"max":3600.0},{"current":2694.755,"min":1200.0,"max":3600.0},{"current":2707.381,"min":1200.0,"max":3600.0},{"current":2696.414,"min":1200.0,"max":3600.0},{"current":2836.482,"min":1200.0,"max":3600.0},{"current":2693.921,"min":1200.0,"max":3600.0},{"current":2695.684,"min":1200.0,"max":3600.0},{"current":2695.034,"min":1200.0,"max":3600.0},{"current":2694.938,"min":1200.0,"max":3600.0},{"current":2697.304,"min":1200.0,"max":3600.0},{"current":2695.691,"min":1200.0,"max":3600.0},{"current":2695.23,"min":1200.0,"max":3600.0},{"current":2774.301,"min":1200.0,"max":3600.0},{"current":2779.067,"min":1200.0,"max":3600.0},{"current":2695.241,"min":1200.0,"max":3600.0},{"current":2695.933,"min":1200.0,"max":3600.0},{"current":2695.428,"min":1200.0,"max":3600.0},{"current":2769.953,"min":1200.0,"max":3600.0},{"current":2695.352,"min":1200.0,"max":3600.0},{"current":2779.634,"min":1200.0,"max":3600.0},{"current":2775.06,"min":1200.0,"max":3600.0},{"current":2727.823,"min":1200.0,"max":3600.0},{"current":2708.673,"min":1200.0,"max":3600.0},{"current":2772.592,"min":1200.0,"max":3600.0},{"current":2777.022,"min":1200.0,"max":3600.0}],"disk_write_speed":69.61223121402632,"process_ids":[2113736,2113939]}
+{"timestamp":1678268300.192163,"rapl_power_draw_absolute":166.54877253585454,"rapl_estimated_attributable_power_draw":8.501694560573355,"cpu_time_seconds":{"2113736":{"user":1139.27,"system":223.32,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":18.4,"system":26.6,"children_user":7.97,"children_system":270.65,"iowait":28.33}},"average_relative_cpu_utilization":0.05781704573082153,"absolute_cpu_utilization":0.9987015613550582,"relative_mem_usage":0.018836961074633996,"absolute_mem_usage":3883908096.0,"absolute_mem_percent_usage":0.007180069864819638,"mem_info_per_process":{"2113736":{"rss":3827564544,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3419570176,"pss":3582420992,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":486.29,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.198,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":11.0,"mem":7.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":12.333333333333334,"mem":7.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":19.8,"mem":12.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23125,0.23112499999999997,0.22799999999999998],"cpu_freq":[{"current":2711.101,"min":1200.0,"max":3600.0},{"current":2758.503,"min":1200.0,"max":3600.0},{"current":2694.414,"min":1200.0,"max":3600.0},{"current":2692.455,"min":1200.0,"max":3600.0},{"current":2741.884,"min":1200.0,"max":3600.0},{"current":2700.335,"min":1200.0,"max":3600.0},{"current":2704.345,"min":1200.0,"max":3600.0},{"current":2696.508,"min":1200.0,"max":3600.0},{"current":2711.244,"min":1200.0,"max":3600.0},{"current":2716.862,"min":1200.0,"max":3600.0},{"current":2653.491,"min":1200.0,"max":3600.0},{"current":2696.594,"min":1200.0,"max":3600.0},{"current":2816.34,"min":1200.0,"max":3600.0},{"current":2842.967,"min":1200.0,"max":3600.0},{"current":2820.697,"min":1200.0,"max":3600.0},{"current":2697.553,"min":1200.0,"max":3600.0},{"current":2697.118,"min":1200.0,"max":3600.0},{"current":2696.645,"min":1200.0,"max":3600.0},{"current":2714.231,"min":1200.0,"max":3600.0},{"current":2682.109,"min":1200.0,"max":3600.0},{"current":2694.491,"min":1200.0,"max":3600.0},{"current":2696.223,"min":1200.0,"max":3600.0},{"current":2694.348,"min":1200.0,"max":3600.0},{"current":2696.649,"min":1200.0,"max":3600.0},{"current":2692.917,"min":1200.0,"max":3600.0},{"current":2695.275,"min":1200.0,"max":3600.0},{"current":2694.636,"min":1200.0,"max":3600.0},{"current":2694.32,"min":1200.0,"max":3600.0},{"current":2751.683,"min":1200.0,"max":3600.0},{"current":2694.861,"min":1200.0,"max":3600.0},{"current":2695.973,"min":1200.0,"max":3600.0},{"current":2694.985,"min":1200.0,"max":3600.0},{"current":2693.395,"min":1200.0,"max":3600.0},{"current":2694.702,"min":1200.0,"max":3600.0},{"current":2695.023,"min":1200.0,"max":3600.0},{"current":2695.778,"min":1200.0,"max":3600.0},{"current":2692.623,"min":1200.0,"max":3600.0},{"current":2698.61,"min":1200.0,"max":3600.0},{"current":2694.405,"min":1200.0,"max":3600.0},{"current":2664.282,"min":1200.0,"max":3600.0},{"current":2694.48,"min":1200.0,"max":3600.0},{"current":2696.204,"min":1200.0,"max":3600.0},{"current":2710.352,"min":1200.0,"max":3600.0},{"current":2679.157,"min":1200.0,"max":3600.0},{"current":2693.892,"min":1200.0,"max":3600.0},{"current":2694.17,"min":1200.0,"max":3600.0},{"current":2694.832,"min":1200.0,"max":3600.0},{"current":2698.026,"min":1200.0,"max":3600.0},{"current":2739.854,"min":1200.0,"max":3600.0},{"current":2719.13,"min":1200.0,"max":3600.0},{"current":2865.199,"min":1200.0,"max":3600.0},{"current":2705.981,"min":1200.0,"max":3600.0},{"current":2678.958,"min":1200.0,"max":3600.0},{"current":2681.357,"min":1200.0,"max":3600.0},{"current":2692.725,"min":1200.0,"max":3600.0},{"current":2694.306,"min":1200.0,"max":3600.0},{"current":2704.8,"min":1200.0,"max":3600.0},{"current":2707.568,"min":1200.0,"max":3600.0},{"current":2702.016,"min":1200.0,"max":3600.0},{"current":2836.734,"min":1200.0,"max":3600.0},{"current":2695.176,"min":1200.0,"max":3600.0},{"current":2695.982,"min":1200.0,"max":3600.0},{"current":2695.598,"min":1200.0,"max":3600.0},{"current":2696.179,"min":1200.0,"max":3600.0},{"current":2694.067,"min":1200.0,"max":3600.0},{"current":2696.734,"min":1200.0,"max":3600.0},{"current":2697.269,"min":1200.0,"max":3600.0},{"current":2694.313,"min":1200.0,"max":3600.0},{"current":2688.202,"min":1200.0,"max":3600.0},{"current":2697.1,"min":1200.0,"max":3600.0},{"current":2693.781,"min":1200.0,"max":3600.0},{"current":2694.653,"min":1200.0,"max":3600.0},{"current":2699.304,"min":1200.0,"max":3600.0},{"current":2695.137,"min":1200.0,"max":3600.0},{"current":2689.844,"min":1200.0,"max":3600.0},{"current":2690.472,"min":1200.0,"max":3600.0},{"current":2683.122,"min":1200.0,"max":3600.0},{"current":2695.919,"min":1200.0,"max":3600.0},{"current":2684.102,"min":1200.0,"max":3600.0},{"current":2685.592,"min":1200.0,"max":3600.0}],"disk_write_speed":69.3219698686855,"process_ids":[2113736,2113939]}
+{"timestamp":1678268315.752211,"rapl_power_draw_absolute":167.20912697383258,"rapl_estimated_attributable_power_draw":8.286889734478653,"cpu_time_seconds":{"2113736":{"user":1152.34,"system":225.82,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":18.61,"system":26.89,"children_user":8.04,"children_system":273.83,"iowait":28.66}},"average_relative_cpu_utilization":0.05622025528467188,"absolute_cpu_utilization":1.0036961758866294,"relative_mem_usage":0.01804800821446075,"absolute_mem_usage":3726442496.0,"absolute_mem_percent_usage":0.0068889677116893535,"mem_info_per_process":{"2113736":{"rss":3669680128,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3262103552,"pss":3424955392,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":465.63000000000005,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.188,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":28.25,"mem":18.5,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":10.0,"mem":5.666666666666667,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":18.8,"mem":12.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.228875,0.2305,0.227875],"cpu_freq":[{"current":2694.319,"min":1200.0,"max":3600.0},{"current":2693.174,"min":1200.0,"max":3600.0},{"current":2693.849,"min":1200.0,"max":3600.0},{"current":2697.009,"min":1200.0,"max":3600.0},{"current":2708.711,"min":1200.0,"max":3600.0},{"current":2698.579,"min":1200.0,"max":3600.0},{"current":2757.131,"min":1200.0,"max":3600.0},{"current":2776.119,"min":1200.0,"max":3600.0},{"current":2706.831,"min":1200.0,"max":3600.0},{"current":2695.751,"min":1200.0,"max":3600.0},{"current":2697.33,"min":1200.0,"max":3600.0},{"current":2695.22,"min":1200.0,"max":3600.0},{"current":2833.028,"min":1200.0,"max":3600.0},{"current":2696.742,"min":1200.0,"max":3600.0},{"current":2811.92,"min":1200.0,"max":3600.0},{"current":2719.498,"min":1200.0,"max":3600.0},{"current":2709.206,"min":1200.0,"max":3600.0},{"current":2830.952,"min":1200.0,"max":3600.0},{"current":2709.586,"min":1200.0,"max":3600.0},{"current":2694.716,"min":1200.0,"max":3600.0},{"current":2697.183,"min":1200.0,"max":3600.0},{"current":2699.0,"min":1200.0,"max":3600.0},{"current":2696.652,"min":1200.0,"max":3600.0},{"current":2696.567,"min":1200.0,"max":3600.0},{"current":2694.512,"min":1200.0,"max":3600.0},{"current":2695.816,"min":1200.0,"max":3600.0},{"current":2697.932,"min":1200.0,"max":3600.0},{"current":2651.711,"min":1200.0,"max":3600.0},{"current":2636.945,"min":1200.0,"max":3600.0},{"current":2698.189,"min":1200.0,"max":3600.0},{"current":2696.695,"min":1200.0,"max":3600.0},{"current":2696.187,"min":1200.0,"max":3600.0},{"current":2694.949,"min":1200.0,"max":3600.0},{"current":2694.777,"min":1200.0,"max":3600.0},{"current":2633.102,"min":1200.0,"max":3600.0},{"current":2695.134,"min":1200.0,"max":3600.0},{"current":2696.146,"min":1200.0,"max":3600.0},{"current":2693.989,"min":1200.0,"max":3600.0},{"current":2694.385,"min":1200.0,"max":3600.0},{"current":2660.866,"min":1200.0,"max":3600.0},{"current":2705.474,"min":1200.0,"max":3600.0},{"current":2836.307,"min":1200.0,"max":3600.0},{"current":2816.141,"min":1200.0,"max":3600.0},{"current":2815.029,"min":1200.0,"max":3600.0},{"current":2695.43,"min":1200.0,"max":3600.0},{"current":2707.849,"min":1200.0,"max":3600.0},{"current":2705.778,"min":1200.0,"max":3600.0},{"current":2720.691,"min":1200.0,"max":3600.0},{"current":2697.407,"min":1200.0,"max":3600.0},{"current":2706.981,"min":1200.0,"max":3600.0},{"current":2708.419,"min":1200.0,"max":3600.0},{"current":2819.518,"min":1200.0,"max":3600.0},{"current":2694.331,"min":1200.0,"max":3600.0},{"current":2706.698,"min":1200.0,"max":3600.0},{"current":2697.915,"min":1200.0,"max":3600.0},{"current":2713.776,"min":1200.0,"max":3600.0},{"current":2695.51,"min":1200.0,"max":3600.0},{"current":2695.777,"min":1200.0,"max":3600.0},{"current":2694.914,"min":1200.0,"max":3600.0},{"current":2762.181,"min":1200.0,"max":3600.0},{"current":2695.024,"min":1200.0,"max":3600.0},{"current":2694.469,"min":1200.0,"max":3600.0},{"current":2694.932,"min":1200.0,"max":3600.0},{"current":2694.038,"min":1200.0,"max":3600.0},{"current":2694.238,"min":1200.0,"max":3600.0},{"current":2695.929,"min":1200.0,"max":3600.0},{"current":2697.826,"min":1200.0,"max":3600.0},{"current":2772.817,"min":1200.0,"max":3600.0},{"current":2781.774,"min":1200.0,"max":3600.0},{"current":2696.648,"min":1200.0,"max":3600.0},{"current":2696.932,"min":1200.0,"max":3600.0},{"current":2694.193,"min":1200.0,"max":3600.0},{"current":2771.129,"min":1200.0,"max":3600.0},{"current":2696.766,"min":1200.0,"max":3600.0},{"current":2770.947,"min":1200.0,"max":3600.0},{"current":2746.759,"min":1200.0,"max":3600.0},{"current":2762.828,"min":1200.0,"max":3600.0},{"current":2704.475,"min":1200.0,"max":3600.0},{"current":2737.046,"min":1200.0,"max":3600.0},{"current":2772.738,"min":1200.0,"max":3600.0}],"disk_write_speed":71.56836856574083,"process_ids":[2113736,2113939]}
+{"timestamp":1678268331.172235,"rapl_power_draw_absolute":166.1876731730493,"rapl_estimated_attributable_power_draw":8.423068418988098,"cpu_time_seconds":{"2113736":{"user":1165.25,"system":228.34,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":18.78,"system":27.23,"children_user":8.11,"children_system":276.99,"iowait":28.99}},"average_relative_cpu_utilization":0.057672375956238746,"absolute_cpu_utilization":1.0040446541724095,"relative_mem_usage":0.017039506733729958,"absolute_mem_usage":3512110080.0,"absolute_mem_percent_usage":0.006492737501515094,"mem_info_per_process":{"2113736":{"rss":3457200128,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3047772160,"pss":3210622976,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":501.07,"nvidia_estimated_attributable_power_draw":94.58,"average_gpu_estimated_utilization_absolute":0.18600000000000003,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.0,"mem":3.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":18.0,"mem":10.25,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":18.6,"mem":11.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":94.58},"cpu_count_adjusted_average_load":[0.22625,0.229875,0.22774999999999998],"cpu_freq":[{"current":2694.583,"min":1200.0,"max":3600.0},{"current":2659.387,"min":1200.0,"max":3600.0},{"current":2746.922,"min":1200.0,"max":3600.0},{"current":2723.242,"min":1200.0,"max":3600.0},{"current":2715.139,"min":1200.0,"max":3600.0},{"current":2709.286,"min":1200.0,"max":3600.0},{"current":2712.728,"min":1200.0,"max":3600.0},{"current":2697.012,"min":1200.0,"max":3600.0},{"current":2709.469,"min":1200.0,"max":3600.0},{"current":2704.32,"min":1200.0,"max":3600.0},{"current":2712.996,"min":1200.0,"max":3600.0},{"current":2692.644,"min":1200.0,"max":3600.0},{"current":2708.83,"min":1200.0,"max":3600.0},{"current":2808.807,"min":1200.0,"max":3600.0},{"current":2836.832,"min":1200.0,"max":3600.0},{"current":2712.128,"min":1200.0,"max":3600.0},{"current":2710.908,"min":1200.0,"max":3600.0},{"current":2841.848,"min":1200.0,"max":3600.0},{"current":2708.776,"min":1200.0,"max":3600.0},{"current":2691.962,"min":1200.0,"max":3600.0},{"current":2726.785,"min":1200.0,"max":3600.0},{"current":2697.244,"min":1200.0,"max":3600.0},{"current":2695.624,"min":1200.0,"max":3600.0},{"current":2693.795,"min":1200.0,"max":3600.0},{"current":2696.871,"min":1200.0,"max":3600.0},{"current":2696.584,"min":1200.0,"max":3600.0},{"current":2694.373,"min":1200.0,"max":3600.0},{"current":2694.18,"min":1200.0,"max":3600.0},{"current":2694.624,"min":1200.0,"max":3600.0},{"current":2697.652,"min":1200.0,"max":3600.0},{"current":2698.103,"min":1200.0,"max":3600.0},{"current":2695.094,"min":1200.0,"max":3600.0},{"current":2693.13,"min":1200.0,"max":3600.0},{"current":2695.096,"min":1200.0,"max":3600.0},{"current":2694.735,"min":1200.0,"max":3600.0},{"current":2690.544,"min":1200.0,"max":3600.0},{"current":2628.2,"min":1200.0,"max":3600.0},{"current":2696.729,"min":1200.0,"max":3600.0},{"current":2655.482,"min":1200.0,"max":3600.0},{"current":2688.675,"min":1200.0,"max":3600.0},{"current":2731.226,"min":1200.0,"max":3600.0},{"current":2817.806,"min":1200.0,"max":3600.0},{"current":2859.996,"min":1200.0,"max":3600.0},{"current":2850.062,"min":1200.0,"max":3600.0},{"current":2699.545,"min":1200.0,"max":3600.0},{"current":2694.514,"min":1200.0,"max":3600.0},{"current":2749.005,"min":1200.0,"max":3600.0},{"current":2695.124,"min":1200.0,"max":3600.0},{"current":2695.527,"min":1200.0,"max":3600.0},{"current":2708.069,"min":1200.0,"max":3600.0},{"current":2707.249,"min":1200.0,"max":3600.0},{"current":2821.994,"min":1200.0,"max":3600.0},{"current":2709.315,"min":1200.0,"max":3600.0},{"current":2697.664,"min":1200.0,"max":3600.0},{"current":2789.07,"min":1200.0,"max":3600.0},{"current":2697.06,"min":1200.0,"max":3600.0},{"current":2695.896,"min":1200.0,"max":3600.0},{"current":2694.655,"min":1200.0,"max":3600.0},{"current":2696.168,"min":1200.0,"max":3600.0},{"current":2815.956,"min":1200.0,"max":3600.0},{"current":2695.283,"min":1200.0,"max":3600.0},{"current":2694.259,"min":1200.0,"max":3600.0},{"current":2695.01,"min":1200.0,"max":3600.0},{"current":2694.761,"min":1200.0,"max":3600.0},{"current":2695.8,"min":1200.0,"max":3600.0},{"current":2694.213,"min":1200.0,"max":3600.0},{"current":2696.83,"min":1200.0,"max":3600.0},{"current":2706.029,"min":1200.0,"max":3600.0},{"current":2769.818,"min":1200.0,"max":3600.0},{"current":2695.437,"min":1200.0,"max":3600.0},{"current":2696.373,"min":1200.0,"max":3600.0},{"current":2695.967,"min":1200.0,"max":3600.0},{"current":2779.422,"min":1200.0,"max":3600.0},{"current":2697.337,"min":1200.0,"max":3600.0},{"current":2807.14,"min":1200.0,"max":3600.0},{"current":2756.923,"min":1200.0,"max":3600.0},{"current":2710.14,"min":1200.0,"max":3600.0},{"current":2780.122,"min":1200.0,"max":3600.0},{"current":2773.893,"min":1200.0,"max":3600.0},{"current":2762.513,"min":1200.0,"max":3600.0}],"disk_write_speed":69.9192502860104,"process_ids":[2113736,2113939]}
+{"timestamp":1678268346.416245,"rapl_power_draw_absolute":166.7000373187198,"rapl_estimated_attributable_power_draw":8.23051267793831,"cpu_time_seconds":{"2113736":{"user":1178.03,"system":230.8,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":18.97,"system":27.54,"children_user":8.19,"children_system":280.12,"iowait":29.33}},"average_relative_cpu_utilization":0.05630719095722573,"absolute_cpu_utilization":0.9937366080285681,"relative_mem_usage":0.016496793579578287,"absolute_mem_usage":3394200576.0,"absolute_mem_percent_usage":0.006274761572239596,"mem_info_per_process":{"2113736":{"rss":3483435008,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":2929860608,"pss":3092713472,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165609472,"pss":301487104,"swap":0}},"nvidia_draw_absolute":872.77,"nvidia_estimated_attributable_power_draw":71.35,"average_gpu_estimated_utilization_absolute":0.2,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":11.25,"mem":7.5,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":5.5,"mem":3.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":20.0,"mem":13.25,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":71.35},"cpu_count_adjusted_average_load":[0.22875,0.23025,0.227875],"cpu_freq":[{"current":2696.123,"min":1200.0,"max":3600.0},{"current":2736.531,"min":1200.0,"max":3600.0},{"current":2697.858,"min":1200.0,"max":3600.0},{"current":2645.851,"min":1200.0,"max":3600.0},{"current":2697.921,"min":1200.0,"max":3600.0},{"current":2762.485,"min":1200.0,"max":3600.0},{"current":2699.628,"min":1200.0,"max":3600.0},{"current":2699.588,"min":1200.0,"max":3600.0},{"current":2695.016,"min":1200.0,"max":3600.0},{"current":2694.951,"min":1200.0,"max":3600.0},{"current":2695.177,"min":1200.0,"max":3600.0},{"current":2695.781,"min":1200.0,"max":3600.0},{"current":2696.392,"min":1200.0,"max":3600.0},{"current":2744.687,"min":1200.0,"max":3600.0},{"current":2757.816,"min":1200.0,"max":3600.0},{"current":2694.292,"min":1200.0,"max":3600.0},{"current":2697.936,"min":1200.0,"max":3600.0},{"current":2762.796,"min":1200.0,"max":3600.0},{"current":2698.358,"min":1200.0,"max":3600.0},{"current":2697.688,"min":1200.0,"max":3600.0},{"current":2695.7,"min":1200.0,"max":3600.0},{"current":2695.979,"min":1200.0,"max":3600.0},{"current":2697.232,"min":1200.0,"max":3600.0},{"current":2698.746,"min":1200.0,"max":3600.0},{"current":2701.828,"min":1200.0,"max":3600.0},{"current":2697.337,"min":1200.0,"max":3600.0},{"current":2696.171,"min":1200.0,"max":3600.0},{"current":2691.624,"min":1200.0,"max":3600.0},{"current":2787.635,"min":1200.0,"max":3600.0},{"current":2694.596,"min":1200.0,"max":3600.0},{"current":2695.032,"min":1200.0,"max":3600.0},{"current":2698.771,"min":1200.0,"max":3600.0},{"current":2645.208,"min":1200.0,"max":3600.0},{"current":2698.718,"min":1200.0,"max":3600.0},{"current":2781.78,"min":1200.0,"max":3600.0},{"current":2696.233,"min":1200.0,"max":3600.0},{"current":2693.62,"min":1200.0,"max":3600.0},{"current":2692.415,"min":1200.0,"max":3600.0},{"current":2694.169,"min":1200.0,"max":3600.0},{"current":2625.16,"min":1200.0,"max":3600.0},{"current":2694.151,"min":1200.0,"max":3600.0},{"current":2753.766,"min":1200.0,"max":3600.0},{"current":2755.126,"min":1200.0,"max":3600.0},{"current":2748.235,"min":1200.0,"max":3600.0},{"current":2696.928,"min":1200.0,"max":3600.0},{"current":2692.449,"min":1200.0,"max":3600.0},{"current":2694.074,"min":1200.0,"max":3600.0},{"current":2694.869,"min":1200.0,"max":3600.0},{"current":2697.066,"min":1200.0,"max":3600.0},{"current":2699.254,"min":1200.0,"max":3600.0},{"current":2694.367,"min":1200.0,"max":3600.0},{"current":2759.053,"min":1200.0,"max":3600.0},{"current":2696.412,"min":1200.0,"max":3600.0},{"current":2649.345,"min":1200.0,"max":3600.0},{"current":2693.775,"min":1200.0,"max":3600.0},{"current":2694.006,"min":1200.0,"max":3600.0},{"current":2695.273,"min":1200.0,"max":3600.0},{"current":2695.975,"min":1200.0,"max":3600.0},{"current":2695.741,"min":1200.0,"max":3600.0},{"current":2762.438,"min":1200.0,"max":3600.0},{"current":2693.61,"min":1200.0,"max":3600.0},{"current":2694.276,"min":1200.0,"max":3600.0},{"current":2694.114,"min":1200.0,"max":3600.0},{"current":2695.137,"min":1200.0,"max":3600.0},{"current":2695.431,"min":1200.0,"max":3600.0},{"current":2695.523,"min":1200.0,"max":3600.0},{"current":2696.735,"min":1200.0,"max":3600.0},{"current":2744.792,"min":1200.0,"max":3600.0},{"current":2775.596,"min":1200.0,"max":3600.0},{"current":2695.047,"min":1200.0,"max":3600.0},{"current":2711.843,"min":1200.0,"max":3600.0},{"current":2694.794,"min":1200.0,"max":3600.0},{"current":2781.491,"min":1200.0,"max":3600.0},{"current":2693.592,"min":1200.0,"max":3600.0},{"current":2770.792,"min":1200.0,"max":3600.0},{"current":2770.312,"min":1200.0,"max":3600.0},{"current":2767.283,"min":1200.0,"max":3600.0},{"current":2782.801,"min":1200.0,"max":3600.0},{"current":2774.558,"min":1200.0,"max":3600.0},{"current":2759.115,"min":1200.0,"max":3600.0}],"disk_write_speed":71.00672282185462,"process_ids":[2113736,2113939]}
+{"timestamp":1678268362.128241,"rapl_power_draw_absolute":166.7734630528011,"rapl_estimated_attributable_power_draw":8.519537177186763,"cpu_time_seconds":{"2113736":{"user":1191.24,"system":233.32,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":19.17,"system":27.83,"children_user":8.27,"children_system":283.29,"iowait":29.67}},"average_relative_cpu_utilization":0.057772509388209936,"absolute_cpu_utilization":1.003714316534205,"relative_mem_usage":0.01922172291781468,"absolute_mem_usage":3972858880.0,"absolute_mem_percent_usage":0.007344510636296244,"mem_info_per_process":{"2113736":{"rss":3916013568,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3508518912,"pss":3671369728,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165613568,"pss":301489152,"swap":0}},"nvidia_draw_absolute":466.64000000000004,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.135,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":23.75,"mem":15.25,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":5.5,"mem":3.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":13.5,"mem":8.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.227875,0.22999999999999998,0.227875],"cpu_freq":[{"current":2695.205,"min":1200.0,"max":3600.0},{"current":2694.197,"min":1200.0,"max":3600.0},{"current":2693.764,"min":1200.0,"max":3600.0},{"current":2628.225,"min":1200.0,"max":3600.0},{"current":2710.137,"min":1200.0,"max":3600.0},{"current":2704.602,"min":1200.0,"max":3600.0},{"current":2708.954,"min":1200.0,"max":3600.0},{"current":2708.595,"min":1200.0,"max":3600.0},{"current":2737.495,"min":1200.0,"max":3600.0},{"current":2716.249,"min":1200.0,"max":3600.0},{"current":2709.913,"min":1200.0,"max":3600.0},{"current":2693.592,"min":1200.0,"max":3600.0},{"current":2860.047,"min":1200.0,"max":3600.0},{"current":2713.938,"min":1200.0,"max":3600.0},{"current":2702.121,"min":1200.0,"max":3600.0},{"current":2701.568,"min":1200.0,"max":3600.0},{"current":2698.817,"min":1200.0,"max":3600.0},{"current":2692.733,"min":1200.0,"max":3600.0},{"current":2695.183,"min":1200.0,"max":3600.0},{"current":2692.033,"min":1200.0,"max":3600.0},{"current":2773.249,"min":1200.0,"max":3600.0},{"current":2701.727,"min":1200.0,"max":3600.0},{"current":2696.878,"min":1200.0,"max":3600.0},{"current":2694.285,"min":1200.0,"max":3600.0},{"current":2699.059,"min":1200.0,"max":3600.0},{"current":2712.127,"min":1200.0,"max":3600.0},{"current":2694.04,"min":1200.0,"max":3600.0},{"current":2695.893,"min":1200.0,"max":3600.0},{"current":2681.04,"min":1200.0,"max":3600.0},{"current":2696.098,"min":1200.0,"max":3600.0},{"current":2696.697,"min":1200.0,"max":3600.0},{"current":2697.286,"min":1200.0,"max":3600.0},{"current":2693.41,"min":1200.0,"max":3600.0},{"current":2695.97,"min":1200.0,"max":3600.0},{"current":2696.389,"min":1200.0,"max":3600.0},{"current":2693.314,"min":1200.0,"max":3600.0},{"current":2696.476,"min":1200.0,"max":3600.0},{"current":2782.627,"min":1200.0,"max":3600.0},{"current":2695.652,"min":1200.0,"max":3600.0},{"current":2693.618,"min":1200.0,"max":3600.0},{"current":2716.667,"min":1200.0,"max":3600.0},{"current":2797.978,"min":1200.0,"max":3600.0},{"current":2815.293,"min":1200.0,"max":3600.0},{"current":2843.08,"min":1200.0,"max":3600.0},{"current":2694.842,"min":1200.0,"max":3600.0},{"current":2694.968,"min":1200.0,"max":3600.0},{"current":2706.983,"min":1200.0,"max":3600.0},{"current":2693.943,"min":1200.0,"max":3600.0},{"current":2698.003,"min":1200.0,"max":3600.0},{"current":2769.869,"min":1200.0,"max":3600.0},{"current":2706.808,"min":1200.0,"max":3600.0},{"current":2822.945,"min":1200.0,"max":3600.0},{"current":2694.149,"min":1200.0,"max":3600.0},{"current":2700.497,"min":1200.0,"max":3600.0},{"current":2697.482,"min":1200.0,"max":3600.0},{"current":2696.792,"min":1200.0,"max":3600.0},{"current":2695.906,"min":1200.0,"max":3600.0},{"current":2695.752,"min":1200.0,"max":3600.0},{"current":2752.863,"min":1200.0,"max":3600.0},{"current":2834.082,"min":1200.0,"max":3600.0},{"current":2693.973,"min":1200.0,"max":3600.0},{"current":2694.292,"min":1200.0,"max":3600.0},{"current":2694.736,"min":1200.0,"max":3600.0},{"current":2696.537,"min":1200.0,"max":3600.0},{"current":2694.53,"min":1200.0,"max":3600.0},{"current":2695.132,"min":1200.0,"max":3600.0},{"current":2694.026,"min":1200.0,"max":3600.0},{"current":2772.079,"min":1200.0,"max":3600.0},{"current":2760.624,"min":1200.0,"max":3600.0},{"current":2695.448,"min":1200.0,"max":3600.0},{"current":2696.452,"min":1200.0,"max":3600.0},{"current":2696.34,"min":1200.0,"max":3600.0},{"current":2681.017,"min":1200.0,"max":3600.0},{"current":2694.403,"min":1200.0,"max":3600.0},{"current":2683.258,"min":1200.0,"max":3600.0},{"current":2693.759,"min":1200.0,"max":3600.0},{"current":2695.102,"min":1200.0,"max":3600.0},{"current":2776.019,"min":1200.0,"max":3600.0},{"current":2777.101,"min":1200.0,"max":3600.0},{"current":2762.354,"min":1200.0,"max":3600.0}],"disk_write_speed":71.40702753802552,"process_ids":[2113736,2113939]}
+{"timestamp":1678268377.616286,"rapl_power_draw_absolute":166.93221268252773,"rapl_estimated_attributable_power_draw":8.444088055058174,"cpu_time_seconds":{"2113736":{"user":1204.22,"system":235.84,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":19.39,"system":28.12,"children_user":8.36,"children_system":286.43,"iowait":30.0}},"average_relative_cpu_utilization":0.057277949573494386,"absolute_cpu_utilization":1.003675124259393,"relative_mem_usage":0.018436333315097128,"absolute_mem_usage":3802772480.0,"absolute_mem_percent_usage":0.007030076771006436,"mem_info_per_process":{"2113736":{"rss":3738300416,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3338432512,"pss":3501283328,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165613568,"pss":301489152,"swap":0}},"nvidia_draw_absolute":476.6600000000001,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.215,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.5,"mem":3.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":21.5,"mem":14.5,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.22712500000000002,0.22974999999999998,0.22774999999999998],"cpu_freq":[{"current":2694.176,"min":1200.0,"max":3600.0},{"current":2693.926,"min":1200.0,"max":3600.0},{"current":2695.07,"min":1200.0,"max":3600.0},{"current":2623.492,"min":1200.0,"max":3600.0},{"current":2708.575,"min":1200.0,"max":3600.0},{"current":2711.049,"min":1200.0,"max":3600.0},{"current":2701.388,"min":1200.0,"max":3600.0},{"current":2697.523,"min":1200.0,"max":3600.0},{"current":2695.208,"min":1200.0,"max":3600.0},{"current":2701.459,"min":1200.0,"max":3600.0},{"current":2701.515,"min":1200.0,"max":3600.0},{"current":2742.489,"min":1200.0,"max":3600.0},{"current":2824.564,"min":1200.0,"max":3600.0},{"current":2697.076,"min":1200.0,"max":3600.0},{"current":2821.976,"min":1200.0,"max":3600.0},{"current":2714.337,"min":1200.0,"max":3600.0},{"current":2702.488,"min":1200.0,"max":3600.0},{"current":2800.96,"min":1200.0,"max":3600.0},{"current":2714.174,"min":1200.0,"max":3600.0},{"current":2695.255,"min":1200.0,"max":3600.0},{"current":2691.053,"min":1200.0,"max":3600.0},{"current":2695.958,"min":1200.0,"max":3600.0},{"current":2702.55,"min":1200.0,"max":3600.0},{"current":2694.871,"min":1200.0,"max":3600.0},{"current":2696.819,"min":1200.0,"max":3600.0},{"current":2699.066,"min":1200.0,"max":3600.0},{"current":2702.58,"min":1200.0,"max":3600.0},{"current":2697.471,"min":1200.0,"max":3600.0},{"current":2694.378,"min":1200.0,"max":3600.0},{"current":2696.605,"min":1200.0,"max":3600.0},{"current":2694.024,"min":1200.0,"max":3600.0},{"current":2692.19,"min":1200.0,"max":3600.0},{"current":2696.183,"min":1200.0,"max":3600.0},{"current":2695.05,"min":1200.0,"max":3600.0},{"current":2697.445,"min":1200.0,"max":3600.0},{"current":2683.695,"min":1200.0,"max":3600.0},{"current":2695.46,"min":1200.0,"max":3600.0},{"current":2695.052,"min":1200.0,"max":3600.0},{"current":2692.673,"min":1200.0,"max":3600.0},{"current":2654.332,"min":1200.0,"max":3600.0},{"current":2693.787,"min":1200.0,"max":3600.0},{"current":2668.189,"min":1200.0,"max":3600.0},{"current":2683.427,"min":1200.0,"max":3600.0},{"current":2684.832,"min":1200.0,"max":3600.0},{"current":2694.091,"min":1200.0,"max":3600.0},{"current":2694.594,"min":1200.0,"max":3600.0},{"current":2693.748,"min":1200.0,"max":3600.0},{"current":2694.633,"min":1200.0,"max":3600.0},{"current":2695.112,"min":1200.0,"max":3600.0},{"current":2694.492,"min":1200.0,"max":3600.0},{"current":2694.555,"min":1200.0,"max":3600.0},{"current":2760.363,"min":1200.0,"max":3600.0},{"current":2685.056,"min":1200.0,"max":3600.0},{"current":2697.567,"min":1200.0,"max":3600.0},{"current":2714.813,"min":1200.0,"max":3600.0},{"current":2694.895,"min":1200.0,"max":3600.0},{"current":2693.096,"min":1200.0,"max":3600.0},{"current":2597.379,"min":1200.0,"max":3600.0},{"current":2695.602,"min":1200.0,"max":3600.0},{"current":2720.323,"min":1200.0,"max":3600.0},{"current":2696.163,"min":1200.0,"max":3600.0},{"current":2694.739,"min":1200.0,"max":3600.0},{"current":2693.981,"min":1200.0,"max":3600.0},{"current":2696.404,"min":1200.0,"max":3600.0},{"current":2697.399,"min":1200.0,"max":3600.0},{"current":2694.391,"min":1200.0,"max":3600.0},{"current":2695.311,"min":1200.0,"max":3600.0},{"current":2778.921,"min":1200.0,"max":3600.0},{"current":2768.68,"min":1200.0,"max":3600.0},{"current":2694.682,"min":1200.0,"max":3600.0},{"current":2701.98,"min":1200.0,"max":3600.0},{"current":2696.231,"min":1200.0,"max":3600.0},{"current":2769.355,"min":1200.0,"max":3600.0},{"current":2694.214,"min":1200.0,"max":3600.0},{"current":2779.647,"min":1200.0,"max":3600.0},{"current":2763.324,"min":1200.0,"max":3600.0},{"current":2696.117,"min":1200.0,"max":3600.0},{"current":2773.532,"min":1200.0,"max":3600.0},{"current":2773.1,"min":1200.0,"max":3600.0},{"current":2770.869,"min":1200.0,"max":3600.0}],"disk_write_speed":71.05721332513247,"process_ids":[2113736,2113939]}
+{"timestamp":1678268393.364195,"rapl_power_draw_absolute":166.6389665358406,"rapl_estimated_attributable_power_draw":8.425486389603998,"cpu_time_seconds":{"2113736":{"user":1217.42,"system":238.39,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":19.6,"system":28.46,"children_user":8.44,"children_system":289.6,"iowait":30.34}},"average_relative_cpu_utilization":0.05736935678673948,"absolute_cpu_utilization":0.998710083207894,"relative_mem_usage":0.018075820439795217,"absolute_mem_usage":3727422464.0,"absolute_mem_percent_usage":0.006890779350515857,"mem_info_per_process":{"2113736":{"rss":3671851008,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3263082496,"pss":3425933312,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165613568,"pss":301489152,"swap":0}},"nvidia_draw_absolute":489.50000000000006,"nvidia_estimated_attributable_power_draw":70.04,"average_gpu_estimated_utilization_absolute":0.27,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":8.5,"mem":5.5,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.25,"mem":5.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":27.0,"mem":18.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.04},"cpu_count_adjusted_average_load":[0.231,0.230375,0.22799999999999998],"cpu_freq":[{"current":2695.308,"min":1200.0,"max":3600.0},{"current":2611.882,"min":1200.0,"max":3600.0},{"current":2695.584,"min":1200.0,"max":3600.0},{"current":2657.986,"min":1200.0,"max":3600.0},{"current":2704.429,"min":1200.0,"max":3600.0},{"current":2724.535,"min":1200.0,"max":3600.0},{"current":2699.063,"min":1200.0,"max":3600.0},{"current":2698.587,"min":1200.0,"max":3600.0},{"current":2697.484,"min":1200.0,"max":3600.0},{"current":2701.887,"min":1200.0,"max":3600.0},{"current":2694.886,"min":1200.0,"max":3600.0},{"current":2697.649,"min":1200.0,"max":3600.0},{"current":2799.279,"min":1200.0,"max":3600.0},{"current":2694.348,"min":1200.0,"max":3600.0},{"current":2796.138,"min":1200.0,"max":3600.0},{"current":2696.476,"min":1200.0,"max":3600.0},{"current":2695.524,"min":1200.0,"max":3600.0},{"current":2801.915,"min":1200.0,"max":3600.0},{"current":2695.876,"min":1200.0,"max":3600.0},{"current":2683.585,"min":1200.0,"max":3600.0},{"current":2779.432,"min":1200.0,"max":3600.0},{"current":2697.311,"min":1200.0,"max":3600.0},{"current":2696.526,"min":1200.0,"max":3600.0},{"current":2695.959,"min":1200.0,"max":3600.0},{"current":2696.003,"min":1200.0,"max":3600.0},{"current":2788.976,"min":1200.0,"max":3600.0},{"current":2695.651,"min":1200.0,"max":3600.0},{"current":2693.177,"min":1200.0,"max":3600.0},{"current":2737.725,"min":1200.0,"max":3600.0},{"current":2694.104,"min":1200.0,"max":3600.0},{"current":2697.197,"min":1200.0,"max":3600.0},{"current":2696.383,"min":1200.0,"max":3600.0},{"current":2696.628,"min":1200.0,"max":3600.0},{"current":2721.337,"min":1200.0,"max":3600.0},{"current":2622.741,"min":1200.0,"max":3600.0},{"current":2691.944,"min":1200.0,"max":3600.0},{"current":2695.953,"min":1200.0,"max":3600.0},{"current":2784.334,"min":1200.0,"max":3600.0},{"current":2727.611,"min":1200.0,"max":3600.0},{"current":2766.04,"min":1200.0,"max":3600.0},{"current":2694.116,"min":1200.0,"max":3600.0},{"current":2699.015,"min":1200.0,"max":3600.0},{"current":2768.952,"min":1200.0,"max":3600.0},{"current":2828.879,"min":1200.0,"max":3600.0},{"current":2701.273,"min":1200.0,"max":3600.0},{"current":2709.863,"min":1200.0,"max":3600.0},{"current":2699.453,"min":1200.0,"max":3600.0},{"current":2697.142,"min":1200.0,"max":3600.0},{"current":2696.741,"min":1200.0,"max":3600.0},{"current":2694.199,"min":1200.0,"max":3600.0},{"current":2697.769,"min":1200.0,"max":3600.0},{"current":2788.279,"min":1200.0,"max":3600.0},{"current":2724.402,"min":1200.0,"max":3600.0},{"current":2694.644,"min":1200.0,"max":3600.0},{"current":2753.117,"min":1200.0,"max":3600.0},{"current":2717.812,"min":1200.0,"max":3600.0},{"current":2782.428,"min":1200.0,"max":3600.0},{"current":2692.394,"min":1200.0,"max":3600.0},{"current":2698.954,"min":1200.0,"max":3600.0},{"current":2845.226,"min":1200.0,"max":3600.0},{"current":2709.822,"min":1200.0,"max":3600.0},{"current":2695.128,"min":1200.0,"max":3600.0},{"current":2693.98,"min":1200.0,"max":3600.0},{"current":2693.871,"min":1200.0,"max":3600.0},{"current":2696.019,"min":1200.0,"max":3600.0},{"current":2695.897,"min":1200.0,"max":3600.0},{"current":2705.887,"min":1200.0,"max":3600.0},{"current":2790.629,"min":1200.0,"max":3600.0},{"current":2723.379,"min":1200.0,"max":3600.0},{"current":2694.292,"min":1200.0,"max":3600.0},{"current":2694.183,"min":1200.0,"max":3600.0},{"current":2695.451,"min":1200.0,"max":3600.0},{"current":2693.961,"min":1200.0,"max":3600.0},{"current":2702.499,"min":1200.0,"max":3600.0},{"current":2783.915,"min":1200.0,"max":3600.0},{"current":2795.196,"min":1200.0,"max":3600.0},{"current":2692.794,"min":1200.0,"max":3600.0},{"current":2774.578,"min":1200.0,"max":3600.0},{"current":2767.155,"min":1200.0,"max":3600.0},{"current":2771.419,"min":1200.0,"max":3600.0}],"disk_write_speed":70.03872389810554,"process_ids":[2113736,2113939]}
+{"timestamp":1678268409.052246,"rapl_power_draw_absolute":169.8989034757355,"rapl_estimated_attributable_power_draw":8.132428817852773,"cpu_time_seconds":{"2113736":{"user":1230.67,"system":240.84,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":19.8,"system":28.79,"children_user":8.53,"children_system":292.79,"iowait":30.68}},"average_relative_cpu_utilization":0.05432231955635217,"absolute_cpu_utilization":1.0036963836021364,"relative_mem_usage":0.017710008772722247,"absolute_mem_usage":3651269632.0,"absolute_mem_percent_usage":0.006749997787036794,"mem_info_per_process":{"2113736":{"rss":3574480896,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3186929664,"pss":3349780480,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165613568,"pss":301489152,"swap":0}},"nvidia_draw_absolute":467.59000000000003,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.2875,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":18.4,"mem":11.6,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":8.666666666666666,"mem":5.333333333333333,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":25.5,"mem":14.5,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":28.75,"mem":19.25,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.236,0.23162500000000003,0.2285],"cpu_freq":[{"current":2694.596,"min":1200.0,"max":3600.0},{"current":2685.328,"min":1200.0,"max":3600.0},{"current":2696.082,"min":1200.0,"max":3600.0},{"current":2691.47,"min":1200.0,"max":3600.0},{"current":2695.427,"min":1200.0,"max":3600.0},{"current":2694.236,"min":1200.0,"max":3600.0},{"current":2695.954,"min":1200.0,"max":3600.0},{"current":2699.61,"min":1200.0,"max":3600.0},{"current":2695.649,"min":1200.0,"max":3600.0},{"current":2708.756,"min":1200.0,"max":3600.0},{"current":2696.773,"min":1200.0,"max":3600.0},{"current":2693.387,"min":1200.0,"max":3600.0},{"current":2797.746,"min":1200.0,"max":3600.0},{"current":2697.917,"min":1200.0,"max":3600.0},{"current":2732.505,"min":1200.0,"max":3600.0},{"current":2762.77,"min":1200.0,"max":3600.0},{"current":2701.342,"min":1200.0,"max":3600.0},{"current":2697.176,"min":1200.0,"max":3600.0},{"current":2788.744,"min":1200.0,"max":3600.0},{"current":2656.067,"min":1200.0,"max":3600.0},{"current":2658.699,"min":1200.0,"max":3600.0},{"current":2697.155,"min":1200.0,"max":3600.0},{"current":2698.583,"min":1200.0,"max":3600.0},{"current":2694.075,"min":1200.0,"max":3600.0},{"current":2695.447,"min":1200.0,"max":3600.0},{"current":2691.145,"min":1200.0,"max":3600.0},{"current":2696.256,"min":1200.0,"max":3600.0},{"current":2697.08,"min":1200.0,"max":3600.0},{"current":2693.637,"min":1200.0,"max":3600.0},{"current":2695.826,"min":1200.0,"max":3600.0},{"current":2697.245,"min":1200.0,"max":3600.0},{"current":2697.693,"min":1200.0,"max":3600.0},{"current":2697.056,"min":1200.0,"max":3600.0},{"current":2694.385,"min":1200.0,"max":3600.0},{"current":2692.077,"min":1200.0,"max":3600.0},{"current":2696.21,"min":1200.0,"max":3600.0},{"current":2695.308,"min":1200.0,"max":3600.0},{"current":2694.899,"min":1200.0,"max":3600.0},{"current":2695.548,"min":1200.0,"max":3600.0},{"current":2685.345,"min":1200.0,"max":3600.0},{"current":2716.905,"min":1200.0,"max":3600.0},{"current":2788.242,"min":1200.0,"max":3600.0},{"current":2765.11,"min":1200.0,"max":3600.0},{"current":2823.55,"min":1200.0,"max":3600.0},{"current":2712.26,"min":1200.0,"max":3600.0},{"current":2705.804,"min":1200.0,"max":3600.0},{"current":2694.847,"min":1200.0,"max":3600.0},{"current":2701.991,"min":1200.0,"max":3600.0},{"current":2697.171,"min":1200.0,"max":3600.0},{"current":2694.302,"min":1200.0,"max":3600.0},{"current":2710.12,"min":1200.0,"max":3600.0},{"current":2832.207,"min":1200.0,"max":3600.0},{"current":2693.935,"min":1200.0,"max":3600.0},{"current":2697.127,"min":1200.0,"max":3600.0},{"current":2705.884,"min":1200.0,"max":3600.0},{"current":2694.702,"min":1200.0,"max":3600.0},{"current":2721.465,"min":1200.0,"max":3600.0},{"current":2695.882,"min":1200.0,"max":3600.0},{"current":2623.599,"min":1200.0,"max":3600.0},{"current":2822.076,"min":1200.0,"max":3600.0},{"current":2595.41,"min":1200.0,"max":3600.0},{"current":2698.214,"min":1200.0,"max":3600.0},{"current":2694.66,"min":1200.0,"max":3600.0},{"current":2693.589,"min":1200.0,"max":3600.0},{"current":2694.62,"min":1200.0,"max":3600.0},{"current":2692.248,"min":1200.0,"max":3600.0},{"current":2694.429,"min":1200.0,"max":3600.0},{"current":2696.356,"min":1200.0,"max":3600.0},{"current":2751.703,"min":1200.0,"max":3600.0},{"current":2693.757,"min":1200.0,"max":3600.0},{"current":2696.055,"min":1200.0,"max":3600.0},{"current":2696.819,"min":1200.0,"max":3600.0},{"current":2695.654,"min":1200.0,"max":3600.0},{"current":2699.794,"min":1200.0,"max":3600.0},{"current":2690.801,"min":1200.0,"max":3600.0},{"current":2690.451,"min":1200.0,"max":3600.0},{"current":2695.526,"min":1200.0,"max":3600.0},{"current":2693.759,"min":1200.0,"max":3600.0},{"current":2688.01,"min":1200.0,"max":3600.0},{"current":2694.444,"min":1200.0,"max":3600.0}],"disk_write_speed":70.95713763420042,"process_ids":[2113736,2113939]}
+{"timestamp":1678268424.668144,"rapl_power_draw_absolute":166.90859321834336,"rapl_estimated_attributable_power_draw":8.523750712961165,"cpu_time_seconds":{"2113736":{"user":1243.81,"system":243.32,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":20.03,"system":29.15,"children_user":8.6,"children_system":295.97,"iowait":31.02}},"average_relative_cpu_utilization":0.05811025448703878,"absolute_cpu_utilization":1.008707006722211,"relative_mem_usage":0.017126156023336104,"absolute_mem_usage":3533489152.0,"absolute_mem_percent_usage":0.006532260380741587,"mem_info_per_process":{"2113736":{"rss":3478290432,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3069149184,"pss":3232000000,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165613568,"pss":301489152,"swap":0}},"nvidia_draw_absolute":475.1500000000001,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.268,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.0,"mem":5.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":25.0,"mem":14.666666666666666,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":26.8,"mem":18.4,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23424999999999999,0.23149999999999998,0.2285],"cpu_freq":[{"current":2696.028,"min":1200.0,"max":3600.0},{"current":2695.126,"min":1200.0,"max":3600.0},{"current":2723.762,"min":1200.0,"max":3600.0},{"current":2698.418,"min":1200.0,"max":3600.0},{"current":2706.112,"min":1200.0,"max":3600.0},{"current":2705.136,"min":1200.0,"max":3600.0},{"current":2694.638,"min":1200.0,"max":3600.0},{"current":2700.99,"min":1200.0,"max":3600.0},{"current":2778.944,"min":1200.0,"max":3600.0},{"current":2698.822,"min":1200.0,"max":3600.0},{"current":2695.474,"min":1200.0,"max":3600.0},{"current":2745.512,"min":1200.0,"max":3600.0},{"current":2861.778,"min":1200.0,"max":3600.0},{"current":2697.084,"min":1200.0,"max":3600.0},{"current":2851.483,"min":1200.0,"max":3600.0},{"current":2699.953,"min":1200.0,"max":3600.0},{"current":2698.893,"min":1200.0,"max":3600.0},{"current":2695.569,"min":1200.0,"max":3600.0},{"current":2842.406,"min":1200.0,"max":3600.0},{"current":2679.997,"min":1200.0,"max":3600.0},{"current":2716.943,"min":1200.0,"max":3600.0},{"current":2702.524,"min":1200.0,"max":3600.0},{"current":2696.133,"min":1200.0,"max":3600.0},{"current":2695.199,"min":1200.0,"max":3600.0},{"current":2695.56,"min":1200.0,"max":3600.0},{"current":2783.482,"min":1200.0,"max":3600.0},{"current":2694.416,"min":1200.0,"max":3600.0},{"current":2698.174,"min":1200.0,"max":3600.0},{"current":2697.535,"min":1200.0,"max":3600.0},{"current":2725.035,"min":1200.0,"max":3600.0},{"current":2793.779,"min":1200.0,"max":3600.0},{"current":2695.668,"min":1200.0,"max":3600.0},{"current":2695.354,"min":1200.0,"max":3600.0},{"current":2694.216,"min":1200.0,"max":3600.0},{"current":2692.017,"min":1200.0,"max":3600.0},{"current":2697.081,"min":1200.0,"max":3600.0},{"current":2729.319,"min":1200.0,"max":3600.0},{"current":2791.857,"min":1200.0,"max":3600.0},{"current":2782.68,"min":1200.0,"max":3600.0},{"current":2754.756,"min":1200.0,"max":3600.0},{"current":2694.368,"min":1200.0,"max":3600.0},{"current":2751.328,"min":1200.0,"max":3600.0},{"current":2739.097,"min":1200.0,"max":3600.0},{"current":2743.925,"min":1200.0,"max":3600.0},{"current":2694.899,"min":1200.0,"max":3600.0},{"current":2694.487,"min":1200.0,"max":3600.0},{"current":2695.332,"min":1200.0,"max":3600.0},{"current":2693.324,"min":1200.0,"max":3600.0},{"current":2695.417,"min":1200.0,"max":3600.0},{"current":2694.207,"min":1200.0,"max":3600.0},{"current":2697.232,"min":1200.0,"max":3600.0},{"current":2764.099,"min":1200.0,"max":3600.0},{"current":2696.08,"min":1200.0,"max":3600.0},{"current":2712.964,"min":1200.0,"max":3600.0},{"current":2693.792,"min":1200.0,"max":3600.0},{"current":2695.816,"min":1200.0,"max":3600.0},{"current":2697.918,"min":1200.0,"max":3600.0},{"current":2694.192,"min":1200.0,"max":3600.0},{"current":2622.633,"min":1200.0,"max":3600.0},{"current":2794.464,"min":1200.0,"max":3600.0},{"current":2795.977,"min":1200.0,"max":3600.0},{"current":2694.764,"min":1200.0,"max":3600.0},{"current":2693.295,"min":1200.0,"max":3600.0},{"current":2694.305,"min":1200.0,"max":3600.0},{"current":2695.594,"min":1200.0,"max":3600.0},{"current":2694.254,"min":1200.0,"max":3600.0},{"current":2694.307,"min":1200.0,"max":3600.0},{"current":2696.054,"min":1200.0,"max":3600.0},{"current":2695.702,"min":1200.0,"max":3600.0},{"current":2785.487,"min":1200.0,"max":3600.0},{"current":2693.831,"min":1200.0,"max":3600.0},{"current":2696.003,"min":1200.0,"max":3600.0},{"current":2780.228,"min":1200.0,"max":3600.0},{"current":2720.599,"min":1200.0,"max":3600.0},{"current":2785.162,"min":1200.0,"max":3600.0},{"current":2695.315,"min":1200.0,"max":3600.0},{"current":2781.843,"min":1200.0,"max":3600.0},{"current":2763.654,"min":1200.0,"max":3600.0},{"current":2774.273,"min":1200.0,"max":3600.0},{"current":2784.532,"min":1200.0,"max":3600.0}],"disk_write_speed":71.33496952571996,"process_ids":[2113736,2113939]}
+{"timestamp":1678268440.396238,"rapl_power_draw_absolute":166.63981085446727,"rapl_estimated_attributable_power_draw":8.30761523841812,"cpu_time_seconds":{"2113736":{"user":1257.06,"system":245.8,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":20.25,"system":29.45,"children_user":8.65,"children_system":299.2,"iowait":31.36}},"average_relative_cpu_utilization":0.056767606977815216,"absolute_cpu_utilization":0.9987433782565934,"relative_mem_usage":0.01691212772721453,"absolute_mem_usage":3484867584.0,"absolute_mem_percent_usage":0.006442375077961993,"mem_info_per_process":{"2113736":{"rss":3423678464,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3020529664,"pss":3183378432,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165613568,"pss":301489152,"swap":0}},"nvidia_draw_absolute":497.18000000000006,"nvidia_estimated_attributable_power_draw":69.56,"average_gpu_estimated_utilization_absolute":0.22,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":8.4,"mem":5.2,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":7.0,"mem":4.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":22.0,"mem":14.5,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.56},"cpu_count_adjusted_average_load":[0.23224999999999998,0.23112499999999997,0.228375],"cpu_freq":[{"current":2693.76,"min":1200.0,"max":3600.0},{"current":2692.765,"min":1200.0,"max":3600.0},{"current":2694.233,"min":1200.0,"max":3600.0},{"current":2633.436,"min":1200.0,"max":3600.0},{"current":2701.675,"min":1200.0,"max":3600.0},{"current":2694.059,"min":1200.0,"max":3600.0},{"current":2695.624,"min":1200.0,"max":3600.0},{"current":2694.44,"min":1200.0,"max":3600.0},{"current":2694.413,"min":1200.0,"max":3600.0},{"current":2726.213,"min":1200.0,"max":3600.0},{"current":2693.767,"min":1200.0,"max":3600.0},{"current":2689.273,"min":1200.0,"max":3600.0},{"current":2809.349,"min":1200.0,"max":3600.0},{"current":2695.469,"min":1200.0,"max":3600.0},{"current":2711.022,"min":1200.0,"max":3600.0},{"current":2695.513,"min":1200.0,"max":3600.0},{"current":2700.548,"min":1200.0,"max":3600.0},{"current":2696.858,"min":1200.0,"max":3600.0},{"current":2708.106,"min":1200.0,"max":3600.0},{"current":2679.592,"min":1200.0,"max":3600.0},{"current":2765.509,"min":1200.0,"max":3600.0},{"current":2707.45,"min":1200.0,"max":3600.0},{"current":2695.325,"min":1200.0,"max":3600.0},{"current":2694.663,"min":1200.0,"max":3600.0},{"current":2696.629,"min":1200.0,"max":3600.0},{"current":2770.129,"min":1200.0,"max":3600.0},{"current":2695.49,"min":1200.0,"max":3600.0},{"current":2696.608,"min":1200.0,"max":3600.0},{"current":2694.397,"min":1200.0,"max":3600.0},{"current":2696.098,"min":1200.0,"max":3600.0},{"current":2695.295,"min":1200.0,"max":3600.0},{"current":2699.189,"min":1200.0,"max":3600.0},{"current":2698.583,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2693.603,"min":1200.0,"max":3600.0},{"current":2697.76,"min":1200.0,"max":3600.0},{"current":2693.276,"min":1200.0,"max":3600.0},{"current":2694.595,"min":1200.0,"max":3600.0},{"current":2690.309,"min":1200.0,"max":3600.0},{"current":2684.751,"min":1200.0,"max":3600.0},{"current":2725.069,"min":1200.0,"max":3600.0},{"current":2728.526,"min":1200.0,"max":3600.0},{"current":2807.528,"min":1200.0,"max":3600.0},{"current":2826.23,"min":1200.0,"max":3600.0},{"current":2694.411,"min":1200.0,"max":3600.0},{"current":2694.073,"min":1200.0,"max":3600.0},{"current":2695.948,"min":1200.0,"max":3600.0},{"current":2693.494,"min":1200.0,"max":3600.0},{"current":2698.123,"min":1200.0,"max":3600.0},{"current":2747.84,"min":1200.0,"max":3600.0},{"current":2702.303,"min":1200.0,"max":3600.0},{"current":2857.215,"min":1200.0,"max":3600.0},{"current":2658.22,"min":1200.0,"max":3600.0},{"current":2694.679,"min":1200.0,"max":3600.0},{"current":2780.412,"min":1200.0,"max":3600.0},{"current":2698.366,"min":1200.0,"max":3600.0},{"current":2699.207,"min":1200.0,"max":3600.0},{"current":2694.396,"min":1200.0,"max":3600.0},{"current":2694.471,"min":1200.0,"max":3600.0},{"current":2760.131,"min":1200.0,"max":3600.0},{"current":2694.173,"min":1200.0,"max":3600.0},{"current":2697.639,"min":1200.0,"max":3600.0},{"current":2696.463,"min":1200.0,"max":3600.0},{"current":2695.258,"min":1200.0,"max":3600.0},{"current":2696.219,"min":1200.0,"max":3600.0},{"current":2696.278,"min":1200.0,"max":3600.0},{"current":2696.149,"min":1200.0,"max":3600.0},{"current":2699.016,"min":1200.0,"max":3600.0},{"current":2694.242,"min":1200.0,"max":3600.0},{"current":2674.763,"min":1200.0,"max":3600.0},{"current":2693.875,"min":1200.0,"max":3600.0},{"current":2693.989,"min":1200.0,"max":3600.0},{"current":2690.411,"min":1200.0,"max":3600.0},{"current":2694.206,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2694.248,"min":1200.0,"max":3600.0},{"current":2685.553,"min":1200.0,"max":3600.0},{"current":2694.306,"min":1200.0,"max":3600.0},{"current":2689.632,"min":1200.0,"max":3600.0},{"current":2693.267,"min":1200.0,"max":3600.0}],"disk_write_speed":72.32236010921805,"process_ids":[2113736,2113939]}
+{"timestamp":1678268456.584271,"rapl_power_draw_absolute":167.70149299154593,"rapl_estimated_attributable_power_draw":8.281197292400396,"cpu_time_seconds":{"2113736":{"user":1270.54,"system":248.52,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":20.45,"system":29.8,"children_user":8.74,"children_system":302.48,"iowait":31.71}},"average_relative_cpu_utilization":0.05614503448757765,"absolute_cpu_utilization":0.9987205299678868,"relative_mem_usage":0.017366206373805013,"absolute_mem_usage":3580797952.0,"absolute_mem_percent_usage":0.006619718806848687,"mem_info_per_process":{"2113736":{"rss":3520188416,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3116457984,"pss":3279308800,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165613568,"pss":301489152,"swap":0}},"nvidia_draw_absolute":465.18000000000006,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.24666666666666667,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":21.333333333333332,"mem":13.666666666666666,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":5.0,"mem":3.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.666666666666668,"mem":17.333333333333332,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.234375,0.23162500000000003,0.228625],"cpu_freq":[{"current":2695.459,"min":1200.0,"max":3600.0},{"current":2786.547,"min":1200.0,"max":3600.0},{"current":2695.513,"min":1200.0,"max":3600.0},{"current":2622.443,"min":1200.0,"max":3600.0},{"current":2703.6,"min":1200.0,"max":3600.0},{"current":2704.04,"min":1200.0,"max":3600.0},{"current":2697.72,"min":1200.0,"max":3600.0},{"current":2726.53,"min":1200.0,"max":3600.0},{"current":2697.232,"min":1200.0,"max":3600.0},{"current":2698.052,"min":1200.0,"max":3600.0},{"current":2697.922,"min":1200.0,"max":3600.0},{"current":2668.02,"min":1200.0,"max":3600.0},{"current":2857.581,"min":1200.0,"max":3600.0},{"current":2721.268,"min":1200.0,"max":3600.0},{"current":2814.934,"min":1200.0,"max":3600.0},{"current":2697.103,"min":1200.0,"max":3600.0},{"current":2695.149,"min":1200.0,"max":3600.0},{"current":2695.157,"min":1200.0,"max":3600.0},{"current":2792.898,"min":1200.0,"max":3600.0},{"current":2631.47,"min":1200.0,"max":3600.0},{"current":2782.404,"min":1200.0,"max":3600.0},{"current":2695.611,"min":1200.0,"max":3600.0},{"current":2695.003,"min":1200.0,"max":3600.0},{"current":2696.773,"min":1200.0,"max":3600.0},{"current":2695.605,"min":1200.0,"max":3600.0},{"current":2785.247,"min":1200.0,"max":3600.0},{"current":2694.477,"min":1200.0,"max":3600.0},{"current":2696.971,"min":1200.0,"max":3600.0},{"current":2694.271,"min":1200.0,"max":3600.0},{"current":2727.372,"min":1200.0,"max":3600.0},{"current":2697.767,"min":1200.0,"max":3600.0},{"current":2719.424,"min":1200.0,"max":3600.0},{"current":2682.561,"min":1200.0,"max":3600.0},{"current":2694.434,"min":1200.0,"max":3600.0},{"current":2730.537,"min":1200.0,"max":3600.0},{"current":2696.422,"min":1200.0,"max":3600.0},{"current":2734.279,"min":1200.0,"max":3600.0},{"current":2756.686,"min":1200.0,"max":3600.0},{"current":2694.49,"min":1200.0,"max":3600.0},{"current":2697.141,"min":1200.0,"max":3600.0},{"current":2694.275,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2727.633,"min":1200.0,"max":3600.0},{"current":2757.934,"min":1200.0,"max":3600.0},{"current":2694.382,"min":1200.0,"max":3600.0},{"current":2694.258,"min":1200.0,"max":3600.0},{"current":2694.704,"min":1200.0,"max":3600.0},{"current":2694.134,"min":1200.0,"max":3600.0},{"current":2721.836,"min":1200.0,"max":3600.0},{"current":2695.404,"min":1200.0,"max":3600.0},{"current":2694.466,"min":1200.0,"max":3600.0},{"current":2787.688,"min":1200.0,"max":3600.0},{"current":2663.299,"min":1200.0,"max":3600.0},{"current":2694.233,"min":1200.0,"max":3600.0},{"current":2704.914,"min":1200.0,"max":3600.0},{"current":2694.033,"min":1200.0,"max":3600.0},{"current":2697.847,"min":1200.0,"max":3600.0},{"current":2702.913,"min":1200.0,"max":3600.0},{"current":2692.344,"min":1200.0,"max":3600.0},{"current":2834.348,"min":1200.0,"max":3600.0},{"current":2692.718,"min":1200.0,"max":3600.0},{"current":2703.26,"min":1200.0,"max":3600.0},{"current":2695.059,"min":1200.0,"max":3600.0},{"current":2694.202,"min":1200.0,"max":3600.0},{"current":2693.99,"min":1200.0,"max":3600.0},{"current":2622.96,"min":1200.0,"max":3600.0},{"current":2694.857,"min":1200.0,"max":3600.0},{"current":2693.146,"min":1200.0,"max":3600.0},{"current":2695.929,"min":1200.0,"max":3600.0},{"current":2683.226,"min":1200.0,"max":3600.0},{"current":2693.926,"min":1200.0,"max":3600.0},{"current":2693.774,"min":1200.0,"max":3600.0},{"current":2688.871,"min":1200.0,"max":3600.0},{"current":2694.079,"min":1200.0,"max":3600.0},{"current":2666.714,"min":1200.0,"max":3600.0},{"current":2694.567,"min":1200.0,"max":3600.0},{"current":2680.127,"min":1200.0,"max":3600.0},{"current":2694.534,"min":1200.0,"max":3600.0},{"current":2688.129,"min":1200.0,"max":3600.0},{"current":2685.411,"min":1200.0,"max":3600.0}],"disk_write_speed":70.85448394857575,"process_ids":[2113736,2113939]}
+{"timestamp":1678268472.372271,"rapl_power_draw_absolute":165.8644429678318,"rapl_estimated_attributable_power_draw":8.469664995537405,"cpu_time_seconds":{"2113736":{"user":1283.76,"system":251.1,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":20.66,"system":30.13,"children_user":8.85,"children_system":305.66,"iowait":32.05}},"average_relative_cpu_utilization":0.05810251998416039,"absolute_cpu_utilization":0.9986895693275463,"relative_mem_usage":0.01703377693861333,"absolute_mem_usage":3511501824.0,"absolute_mem_percent_usage":0.006491613036036574,"mem_info_per_process":{"2113736":{"rss":3452485632,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3047161856,"pss":3210010624,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":475.54999999999995,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.22,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":22.0,"mem":14.4,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.23312499999999997,0.23149999999999998,0.228625],"cpu_freq":[{"current":2693.737,"min":1200.0,"max":3600.0},{"current":2692.908,"min":1200.0,"max":3600.0},{"current":2696.567,"min":1200.0,"max":3600.0},{"current":2705.5,"min":1200.0,"max":3600.0},{"current":2694.451,"min":1200.0,"max":3600.0},{"current":2695.186,"min":1200.0,"max":3600.0},{"current":2698.222,"min":1200.0,"max":3600.0},{"current":2695.956,"min":1200.0,"max":3600.0},{"current":2700.528,"min":1200.0,"max":3600.0},{"current":2701.076,"min":1200.0,"max":3600.0},{"current":2694.008,"min":1200.0,"max":3600.0},{"current":2627.815,"min":1200.0,"max":3600.0},{"current":2751.264,"min":1200.0,"max":3600.0},{"current":2696.712,"min":1200.0,"max":3600.0},{"current":2694.836,"min":1200.0,"max":3600.0},{"current":2754.732,"min":1200.0,"max":3600.0},{"current":2695.021,"min":1200.0,"max":3600.0},{"current":2727.26,"min":1200.0,"max":3600.0},{"current":2702.377,"min":1200.0,"max":3600.0},{"current":2662.921,"min":1200.0,"max":3600.0},{"current":2758.81,"min":1200.0,"max":3600.0},{"current":2695.302,"min":1200.0,"max":3600.0},{"current":2695.583,"min":1200.0,"max":3600.0},{"current":2702.88,"min":1200.0,"max":3600.0},{"current":2696.269,"min":1200.0,"max":3600.0},{"current":2727.203,"min":1200.0,"max":3600.0},{"current":2693.836,"min":1200.0,"max":3600.0},{"current":2695.825,"min":1200.0,"max":3600.0},{"current":2693.833,"min":1200.0,"max":3600.0},{"current":2695.579,"min":1200.0,"max":3600.0},{"current":2694.641,"min":1200.0,"max":3600.0},{"current":2694.017,"min":1200.0,"max":3600.0},{"current":2695.672,"min":1200.0,"max":3600.0},{"current":2695.451,"min":1200.0,"max":3600.0},{"current":2659.779,"min":1200.0,"max":3600.0},{"current":2696.978,"min":1200.0,"max":3600.0},{"current":2629.137,"min":1200.0,"max":3600.0},{"current":2701.268,"min":1200.0,"max":3600.0},{"current":2692.375,"min":1200.0,"max":3600.0},{"current":2703.805,"min":1200.0,"max":3600.0},{"current":2777.865,"min":1200.0,"max":3600.0},{"current":2798.681,"min":1200.0,"max":3600.0},{"current":2695.913,"min":1200.0,"max":3600.0},{"current":2784.741,"min":1200.0,"max":3600.0},{"current":2813.49,"min":1200.0,"max":3600.0},{"current":2702.431,"min":1200.0,"max":3600.0},{"current":2700.484,"min":1200.0,"max":3600.0},{"current":2697.87,"min":1200.0,"max":3600.0},{"current":2697.448,"min":1200.0,"max":3600.0},{"current":2695.054,"min":1200.0,"max":3600.0},{"current":2707.345,"min":1200.0,"max":3600.0},{"current":2765.544,"min":1200.0,"max":3600.0},{"current":2693.063,"min":1200.0,"max":3600.0},{"current":2695.195,"min":1200.0,"max":3600.0},{"current":2693.911,"min":1200.0,"max":3600.0},{"current":2660.203,"min":1200.0,"max":3600.0},{"current":2697.316,"min":1200.0,"max":3600.0},{"current":2694.389,"min":1200.0,"max":3600.0},{"current":2695.262,"min":1200.0,"max":3600.0},{"current":2723.58,"min":1200.0,"max":3600.0},{"current":2633.759,"min":1200.0,"max":3600.0},{"current":2694.378,"min":1200.0,"max":3600.0},{"current":2695.106,"min":1200.0,"max":3600.0},{"current":2694.285,"min":1200.0,"max":3600.0},{"current":2695.977,"min":1200.0,"max":3600.0},{"current":2695.499,"min":1200.0,"max":3600.0},{"current":2695.402,"min":1200.0,"max":3600.0},{"current":2696.998,"min":1200.0,"max":3600.0},{"current":2695.97,"min":1200.0,"max":3600.0},{"current":2798.114,"min":1200.0,"max":3600.0},{"current":2709.26,"min":1200.0,"max":3600.0},{"current":2696.801,"min":1200.0,"max":3600.0},{"current":2759.187,"min":1200.0,"max":3600.0},{"current":2694.206,"min":1200.0,"max":3600.0},{"current":2780.885,"min":1200.0,"max":3600.0},{"current":2694.302,"min":1200.0,"max":3600.0},{"current":2758.413,"min":1200.0,"max":3600.0},{"current":2739.274,"min":1200.0,"max":3600.0},{"current":2770.947,"min":1200.0,"max":3600.0},{"current":2784.429,"min":1200.0,"max":3600.0}],"disk_write_speed":71.1843415605073,"process_ids":[2113736,2113939]}
+{"timestamp":1678268488.036218,"rapl_power_draw_absolute":167.08606175627867,"rapl_estimated_attributable_power_draw":8.297814283884504,"cpu_time_seconds":{"2113736":{"user":1296.9,"system":253.63,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":20.85,"system":30.47,"children_user":8.95,"children_system":308.82,"iowait":32.4}},"average_relative_cpu_utilization":0.056601647972197244,"absolute_cpu_utilization":1.0037124754619149,"relative_mem_usage":0.016615133787975394,"absolute_mem_usage":3431334912.0,"absolute_mem_percent_usage":0.00634341075761509,"mem_info_per_process":{"2113736":{"rss":3373121536,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":2966994944,"pss":3129843712,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":490.09000000000003,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.212,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":9.75,"mem":6.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.666666666666666,"mem":5.333333333333333,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":21.2,"mem":13.8,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.23399999999999999,0.231875,0.22875],"cpu_freq":[{"current":2773.811,"min":1200.0,"max":3600.0},{"current":2697.174,"min":1200.0,"max":3600.0},{"current":2713.299,"min":1200.0,"max":3600.0},{"current":2692.203,"min":1200.0,"max":3600.0},{"current":2764.393,"min":1200.0,"max":3600.0},{"current":2698.257,"min":1200.0,"max":3600.0},{"current":2824.43,"min":1200.0,"max":3600.0},{"current":2711.781,"min":1200.0,"max":3600.0},{"current":2696.879,"min":1200.0,"max":3600.0},{"current":2717.161,"min":1200.0,"max":3600.0},{"current":2695.013,"min":1200.0,"max":3600.0},{"current":2767.59,"min":1200.0,"max":3600.0},{"current":2851.99,"min":1200.0,"max":3600.0},{"current":2698.901,"min":1200.0,"max":3600.0},{"current":2715.41,"min":1200.0,"max":3600.0},{"current":2857.121,"min":1200.0,"max":3600.0},{"current":2780.217,"min":1200.0,"max":3600.0},{"current":2696.467,"min":1200.0,"max":3600.0},{"current":2695.612,"min":1200.0,"max":3600.0},{"current":2695.97,"min":1200.0,"max":3600.0},{"current":2695.61,"min":1200.0,"max":3600.0},{"current":2696.757,"min":1200.0,"max":3600.0},{"current":2714.058,"min":1200.0,"max":3600.0},{"current":2697.255,"min":1200.0,"max":3600.0},{"current":2696.11,"min":1200.0,"max":3600.0},{"current":2770.649,"min":1200.0,"max":3600.0},{"current":2696.056,"min":1200.0,"max":3600.0},{"current":2778.502,"min":1200.0,"max":3600.0},{"current":2697.466,"min":1200.0,"max":3600.0},{"current":2696.325,"min":1200.0,"max":3600.0},{"current":2697.238,"min":1200.0,"max":3600.0},{"current":2696.069,"min":1200.0,"max":3600.0},{"current":2687.16,"min":1200.0,"max":3600.0},{"current":2694.498,"min":1200.0,"max":3600.0},{"current":2786.677,"min":1200.0,"max":3600.0},{"current":2698.144,"min":1200.0,"max":3600.0},{"current":2702.563,"min":1200.0,"max":3600.0},{"current":2696.686,"min":1200.0,"max":3600.0},{"current":2694.982,"min":1200.0,"max":3600.0},{"current":2695.072,"min":1200.0,"max":3600.0},{"current":2726.469,"min":1200.0,"max":3600.0},{"current":2721.547,"min":1200.0,"max":3600.0},{"current":2700.495,"min":1200.0,"max":3600.0},{"current":2826.911,"min":1200.0,"max":3600.0},{"current":2858.247,"min":1200.0,"max":3600.0},{"current":2749.067,"min":1200.0,"max":3600.0},{"current":2687.839,"min":1200.0,"max":3600.0},{"current":2694.214,"min":1200.0,"max":3600.0},{"current":2696.356,"min":1200.0,"max":3600.0},{"current":2696.153,"min":1200.0,"max":3600.0},{"current":2695.708,"min":1200.0,"max":3600.0},{"current":2824.03,"min":1200.0,"max":3600.0},{"current":2693.871,"min":1200.0,"max":3600.0},{"current":2694.698,"min":1200.0,"max":3600.0},{"current":2693.771,"min":1200.0,"max":3600.0},{"current":2693.832,"min":1200.0,"max":3600.0},{"current":2694.273,"min":1200.0,"max":3600.0},{"current":2705.959,"min":1200.0,"max":3600.0},{"current":2695.907,"min":1200.0,"max":3600.0},{"current":2886.49,"min":1200.0,"max":3600.0},{"current":2773.021,"min":1200.0,"max":3600.0},{"current":2694.649,"min":1200.0,"max":3600.0},{"current":2694.226,"min":1200.0,"max":3600.0},{"current":2694.251,"min":1200.0,"max":3600.0},{"current":2694.793,"min":1200.0,"max":3600.0},{"current":2768.206,"min":1200.0,"max":3600.0},{"current":2694.5,"min":1200.0,"max":3600.0},{"current":2694.879,"min":1200.0,"max":3600.0},{"current":2696.464,"min":1200.0,"max":3600.0},{"current":2734.036,"min":1200.0,"max":3600.0},{"current":2695.761,"min":1200.0,"max":3600.0},{"current":2695.557,"min":1200.0,"max":3600.0},{"current":2819.832,"min":1200.0,"max":3600.0},{"current":2694.297,"min":1200.0,"max":3600.0},{"current":2760.643,"min":1200.0,"max":3600.0},{"current":2692.748,"min":1200.0,"max":3600.0},{"current":2783.63,"min":1200.0,"max":3600.0},{"current":2774.858,"min":1200.0,"max":3600.0},{"current":2777.446,"min":1200.0,"max":3600.0},{"current":2780.112,"min":1200.0,"max":3600.0}],"disk_write_speed":72.08984354676873,"process_ids":[2113736,2113939]}
+{"timestamp":1678268503.680232,"rapl_power_draw_absolute":168.05898485676994,"rapl_estimated_attributable_power_draw":8.236419381875413,"cpu_time_seconds":{"2113736":{"user":1310.1,"system":256.08,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":21.06,"system":30.79,"children_user":9.04,"children_system":311.99,"iowait":32.74}},"average_relative_cpu_utilization":0.05581582605736282,"absolute_cpu_utilization":1.0037337358914489,"relative_mem_usage":0.01647152196074389,"absolute_mem_usage":3394208768.0,"absolute_mem_percent_usage":0.006274776716555805,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929868800,"pss":3092717568,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":646.2400000000001,"nvidia_estimated_attributable_power_draw":245.4,"average_gpu_estimated_utilization_absolute":0.21,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":12.0,"mem":7.666666666666667,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":12.333333333333334,"mem":7.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":12.0,"mem":7.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":21.0,"mem":14.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":245.4},"cpu_count_adjusted_average_load":[0.23625,0.232375,0.229],"cpu_freq":[{"current":2694.164,"min":1200.0,"max":3600.0},{"current":2703.925,"min":1200.0,"max":3600.0},{"current":2725.313,"min":1200.0,"max":3600.0},{"current":2695.227,"min":1200.0,"max":3600.0},{"current":2692.152,"min":1200.0,"max":3600.0},{"current":2693.726,"min":1200.0,"max":3600.0},{"current":2686.135,"min":1200.0,"max":3600.0},{"current":2715.331,"min":1200.0,"max":3600.0},{"current":2693.897,"min":1200.0,"max":3600.0},{"current":2700.828,"min":1200.0,"max":3600.0},{"current":2696.682,"min":1200.0,"max":3600.0},{"current":2619.579,"min":1200.0,"max":3600.0},{"current":2695.032,"min":1200.0,"max":3600.0},{"current":2696.038,"min":1200.0,"max":3600.0},{"current":2694.55,"min":1200.0,"max":3600.0},{"current":2724.779,"min":1200.0,"max":3600.0},{"current":2695.097,"min":1200.0,"max":3600.0},{"current":2698.922,"min":1200.0,"max":3600.0},{"current":2699.875,"min":1200.0,"max":3600.0},{"current":2693.451,"min":1200.0,"max":3600.0},{"current":2741.876,"min":1200.0,"max":3600.0},{"current":2702.191,"min":1200.0,"max":3600.0},{"current":2698.744,"min":1200.0,"max":3600.0},{"current":2694.553,"min":1200.0,"max":3600.0},{"current":2695.305,"min":1200.0,"max":3600.0},{"current":2655.682,"min":1200.0,"max":3600.0},{"current":2695.861,"min":1200.0,"max":3600.0},{"current":2773.485,"min":1200.0,"max":3600.0},{"current":2694.397,"min":1200.0,"max":3600.0},{"current":2680.951,"min":1200.0,"max":3600.0},{"current":2695.04,"min":1200.0,"max":3600.0},{"current":2698.216,"min":1200.0,"max":3600.0},{"current":2742.742,"min":1200.0,"max":3600.0},{"current":2694.042,"min":1200.0,"max":3600.0},{"current":2732.886,"min":1200.0,"max":3600.0},{"current":2696.599,"min":1200.0,"max":3600.0},{"current":2699.209,"min":1200.0,"max":3600.0},{"current":2783.82,"min":1200.0,"max":3600.0},{"current":2738.128,"min":1200.0,"max":3600.0},{"current":2792.218,"min":1200.0,"max":3600.0},{"current":2725.07,"min":1200.0,"max":3600.0},{"current":2694.623,"min":1200.0,"max":3600.0},{"current":2730.806,"min":1200.0,"max":3600.0},{"current":2832.22,"min":1200.0,"max":3600.0},{"current":2831.21,"min":1200.0,"max":3600.0},{"current":2771.639,"min":1200.0,"max":3600.0},{"current":2678.892,"min":1200.0,"max":3600.0},{"current":2693.545,"min":1200.0,"max":3600.0},{"current":2698.354,"min":1200.0,"max":3600.0},{"current":2782.304,"min":1200.0,"max":3600.0},{"current":2696.547,"min":1200.0,"max":3600.0},{"current":2732.647,"min":1200.0,"max":3600.0},{"current":2693.936,"min":1200.0,"max":3600.0},{"current":2722.394,"min":1200.0,"max":3600.0},{"current":2697.632,"min":1200.0,"max":3600.0},{"current":2760.736,"min":1200.0,"max":3600.0},{"current":2733.935,"min":1200.0,"max":3600.0},{"current":2701.761,"min":1200.0,"max":3600.0},{"current":2694.36,"min":1200.0,"max":3600.0},{"current":2759.209,"min":1200.0,"max":3600.0},{"current":2691.35,"min":1200.0,"max":3600.0},{"current":2694.616,"min":1200.0,"max":3600.0},{"current":2693.373,"min":1200.0,"max":3600.0},{"current":2697.174,"min":1200.0,"max":3600.0},{"current":2693.773,"min":1200.0,"max":3600.0},{"current":2739.252,"min":1200.0,"max":3600.0},{"current":2693.702,"min":1200.0,"max":3600.0},{"current":2682.066,"min":1200.0,"max":3600.0},{"current":2708.205,"min":1200.0,"max":3600.0},{"current":2750.059,"min":1200.0,"max":3600.0},{"current":2696.588,"min":1200.0,"max":3600.0},{"current":2697.637,"min":1200.0,"max":3600.0},{"current":2756.628,"min":1200.0,"max":3600.0},{"current":2694.888,"min":1200.0,"max":3600.0},{"current":2688.054,"min":1200.0,"max":3600.0},{"current":2695.031,"min":1200.0,"max":3600.0},{"current":2695.36,"min":1200.0,"max":3600.0},{"current":2765.318,"min":1200.0,"max":3600.0},{"current":2773.918,"min":1200.0,"max":3600.0},{"current":2754.909,"min":1200.0,"max":3600.0}],"disk_write_speed":72.12706769677948,"process_ids":[2113736,2113939]}
+{"timestamp":1678268519.704203,"rapl_power_draw_absolute":167.65337530133945,"rapl_estimated_attributable_power_draw":8.409608261617187,"cpu_time_seconds":{"2113736":{"user":1323.59,"system":258.62,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":21.51,"system":31.29,"children_user":9.16,"children_system":315.13,"iowait":33.09}},"average_relative_cpu_utilization":0.05717258103451831,"absolute_cpu_utilization":0.9987329263735721,"relative_mem_usage":0.016437134896680007,"absolute_mem_usage":3394208768.0,"absolute_mem_percent_usage":0.006274776716555805,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929868800,"pss":3092717568,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":901.8599999999999,"nvidia_estimated_attributable_power_draw":263.77,"average_gpu_estimated_utilization_absolute":0.21,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":4.5,"mem":2.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":24.0,"mem":13.666666666666666,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":21.0,"mem":14.333333333333334,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":263.77},"cpu_count_adjusted_average_load":[0.23725000000000002,0.232875,0.22925],"cpu_freq":[{"current":2701.447,"min":1200.0,"max":3600.0},{"current":2696.924,"min":1200.0,"max":3600.0},{"current":2850.585,"min":1200.0,"max":3600.0},{"current":2721.114,"min":1200.0,"max":3600.0},{"current":2762.647,"min":1200.0,"max":3600.0},{"current":2696.764,"min":1200.0,"max":3600.0},{"current":2847.618,"min":1200.0,"max":3600.0},{"current":2698.473,"min":1200.0,"max":3600.0},{"current":2702.619,"min":1200.0,"max":3600.0},{"current":2697.902,"min":1200.0,"max":3600.0},{"current":2749.839,"min":1200.0,"max":3600.0},{"current":2694.635,"min":1200.0,"max":3600.0},{"current":2729.92,"min":1200.0,"max":3600.0},{"current":2696.786,"min":1200.0,"max":3600.0},{"current":2696.241,"min":1200.0,"max":3600.0},{"current":2842.874,"min":1200.0,"max":3600.0},{"current":2697.527,"min":1200.0,"max":3600.0},{"current":2697.746,"min":1200.0,"max":3600.0},{"current":2697.849,"min":1200.0,"max":3600.0},{"current":2692.6,"min":1200.0,"max":3600.0},{"current":2779.342,"min":1200.0,"max":3600.0},{"current":2695.838,"min":1200.0,"max":3600.0},{"current":2697.839,"min":1200.0,"max":3600.0},{"current":2695.311,"min":1200.0,"max":3600.0},{"current":2697.47,"min":1200.0,"max":3600.0},{"current":2696.89,"min":1200.0,"max":3600.0},{"current":2693.797,"min":1200.0,"max":3600.0},{"current":2680.869,"min":1200.0,"max":3600.0},{"current":2694.971,"min":1200.0,"max":3600.0},{"current":2694.794,"min":1200.0,"max":3600.0},{"current":2696.82,"min":1200.0,"max":3600.0},{"current":2696.424,"min":1200.0,"max":3600.0},{"current":2727.125,"min":1200.0,"max":3600.0},{"current":2755.051,"min":1200.0,"max":3600.0},{"current":2693.887,"min":1200.0,"max":3600.0},{"current":2697.482,"min":1200.0,"max":3600.0},{"current":2698.533,"min":1200.0,"max":3600.0},{"current":2696.814,"min":1200.0,"max":3600.0},{"current":2637.682,"min":1200.0,"max":3600.0},{"current":2697.924,"min":1200.0,"max":3600.0},{"current":2723.462,"min":1200.0,"max":3600.0},{"current":2694.834,"min":1200.0,"max":3600.0},{"current":2835.811,"min":1200.0,"max":3600.0},{"current":2844.938,"min":1200.0,"max":3600.0},{"current":2815.931,"min":1200.0,"max":3600.0},{"current":2861.195,"min":1200.0,"max":3600.0},{"current":2666.029,"min":1200.0,"max":3600.0},{"current":2695.273,"min":1200.0,"max":3600.0},{"current":2696.01,"min":1200.0,"max":3600.0},{"current":2694.321,"min":1200.0,"max":3600.0},{"current":2694.683,"min":1200.0,"max":3600.0},{"current":2842.182,"min":1200.0,"max":3600.0},{"current":2725.188,"min":1200.0,"max":3600.0},{"current":2704.765,"min":1200.0,"max":3600.0},{"current":2695.241,"min":1200.0,"max":3600.0},{"current":2853.275,"min":1200.0,"max":3600.0},{"current":2694.61,"min":1200.0,"max":3600.0},{"current":2695.108,"min":1200.0,"max":3600.0},{"current":2693.844,"min":1200.0,"max":3600.0},{"current":2832.501,"min":1200.0,"max":3600.0},{"current":2727.088,"min":1200.0,"max":3600.0},{"current":2696.583,"min":1200.0,"max":3600.0},{"current":2694.226,"min":1200.0,"max":3600.0},{"current":2694.012,"min":1200.0,"max":3600.0},{"current":2708.323,"min":1200.0,"max":3600.0},{"current":2745.902,"min":1200.0,"max":3600.0},{"current":2695.019,"min":1200.0,"max":3600.0},{"current":2625.663,"min":1200.0,"max":3600.0},{"current":2696.856,"min":1200.0,"max":3600.0},{"current":2698.788,"min":1200.0,"max":3600.0},{"current":2698.036,"min":1200.0,"max":3600.0},{"current":2693.918,"min":1200.0,"max":3600.0},{"current":2768.41,"min":1200.0,"max":3600.0},{"current":2791.98,"min":1200.0,"max":3600.0},{"current":2812.547,"min":1200.0,"max":3600.0},{"current":2703.571,"min":1200.0,"max":3600.0},{"current":2695.259,"min":1200.0,"max":3600.0},{"current":2787.26,"min":1200.0,"max":3600.0},{"current":2779.102,"min":1200.0,"max":3600.0},{"current":2754.627,"min":1200.0,"max":3600.0}],"disk_write_speed":72.07501150632814,"process_ids":[2113736,2113939]}
+{"timestamp":1678268535.276234,"rapl_power_draw_absolute":167.11534077468437,"rapl_estimated_attributable_power_draw":8.406152954143769,"cpu_time_seconds":{"2113736":{"user":1336.68,"system":261.08,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":21.71,"system":31.63,"children_user":9.23,"children_system":318.3,"iowait":33.44}},"average_relative_cpu_utilization":0.05729648109932058,"absolute_cpu_utilization":0.9940185335735094,"relative_mem_usage":0.016452198010140015,"absolute_mem_usage":3394206720.0,"absolute_mem_percent_usage":0.0062747729304767534,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929868800,"pss":3092715520,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":611.35,"nvidia_estimated_attributable_power_draw":199.93,"average_gpu_estimated_utilization_absolute":0.25666666666666665,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":16.0,"mem":10.2,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.333333333333333,"mem":3.6666666666666665,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":17.0,"mem":9.5,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.666666666666668,"mem":17.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":199.93},"cpu_count_adjusted_average_load":[0.236375,0.232875,0.22925],"cpu_freq":[{"current":2694.227,"min":1200.0,"max":3600.0},{"current":2695.338,"min":1200.0,"max":3600.0},{"current":2696.556,"min":1200.0,"max":3600.0},{"current":2699.597,"min":1200.0,"max":3600.0},{"current":2692.268,"min":1200.0,"max":3600.0},{"current":2684.737,"min":1200.0,"max":3600.0},{"current":2753.954,"min":1200.0,"max":3600.0},{"current":2698.732,"min":1200.0,"max":3600.0},{"current":2698.924,"min":1200.0,"max":3600.0},{"current":2700.281,"min":1200.0,"max":3600.0},{"current":2696.435,"min":1200.0,"max":3600.0},{"current":2693.354,"min":1200.0,"max":3600.0},{"current":2697.54,"min":1200.0,"max":3600.0},{"current":2695.466,"min":1200.0,"max":3600.0},{"current":2746.028,"min":1200.0,"max":3600.0},{"current":2749.343,"min":1200.0,"max":3600.0},{"current":2694.717,"min":1200.0,"max":3600.0},{"current":2695.707,"min":1200.0,"max":3600.0},{"current":2697.143,"min":1200.0,"max":3600.0},{"current":2691.488,"min":1200.0,"max":3600.0},{"current":2762.808,"min":1200.0,"max":3600.0},{"current":2696.987,"min":1200.0,"max":3600.0},{"current":2697.456,"min":1200.0,"max":3600.0},{"current":2695.032,"min":1200.0,"max":3600.0},{"current":2696.157,"min":1200.0,"max":3600.0},{"current":2638.953,"min":1200.0,"max":3600.0},{"current":2695.683,"min":1200.0,"max":3600.0},{"current":2738.298,"min":1200.0,"max":3600.0},{"current":2696.574,"min":1200.0,"max":3600.0},{"current":2694.281,"min":1200.0,"max":3600.0},{"current":2695.308,"min":1200.0,"max":3600.0},{"current":2694.113,"min":1200.0,"max":3600.0},{"current":2660.263,"min":1200.0,"max":3600.0},{"current":2697.187,"min":1200.0,"max":3600.0},{"current":2724.345,"min":1200.0,"max":3600.0},{"current":2699.184,"min":1200.0,"max":3600.0},{"current":2698.385,"min":1200.0,"max":3600.0},{"current":2695.866,"min":1200.0,"max":3600.0},{"current":2695.054,"min":1200.0,"max":3600.0},{"current":2630.197,"min":1200.0,"max":3600.0},{"current":2697.315,"min":1200.0,"max":3600.0},{"current":2696.687,"min":1200.0,"max":3600.0},{"current":2675.902,"min":1200.0,"max":3600.0},{"current":2716.948,"min":1200.0,"max":3600.0},{"current":2707.312,"min":1200.0,"max":3600.0},{"current":2724.393,"min":1200.0,"max":3600.0},{"current":2695.638,"min":1200.0,"max":3600.0},{"current":2743.81,"min":1200.0,"max":3600.0},{"current":2694.19,"min":1200.0,"max":3600.0},{"current":2694.619,"min":1200.0,"max":3600.0},{"current":2695.147,"min":1200.0,"max":3600.0},{"current":2746.95,"min":1200.0,"max":3600.0},{"current":2694.012,"min":1200.0,"max":3600.0},{"current":2695.819,"min":1200.0,"max":3600.0},{"current":2693.811,"min":1200.0,"max":3600.0},{"current":2690.589,"min":1200.0,"max":3600.0},{"current":2701.88,"min":1200.0,"max":3600.0},{"current":2697.04,"min":1200.0,"max":3600.0},{"current":2698.02,"min":1200.0,"max":3600.0},{"current":2715.646,"min":1200.0,"max":3600.0},{"current":2695.516,"min":1200.0,"max":3600.0},{"current":2697.599,"min":1200.0,"max":3600.0},{"current":2695.324,"min":1200.0,"max":3600.0},{"current":2694.579,"min":1200.0,"max":3600.0},{"current":2695.051,"min":1200.0,"max":3600.0},{"current":2778.055,"min":1200.0,"max":3600.0},{"current":2695.272,"min":1200.0,"max":3600.0},{"current":2624.157,"min":1200.0,"max":3600.0},{"current":2692.552,"min":1200.0,"max":3600.0},{"current":2695.497,"min":1200.0,"max":3600.0},{"current":2696.103,"min":1200.0,"max":3600.0},{"current":2695.444,"min":1200.0,"max":3600.0},{"current":2771.615,"min":1200.0,"max":3600.0},{"current":2782.66,"min":1200.0,"max":3600.0},{"current":2761.724,"min":1200.0,"max":3600.0},{"current":2694.018,"min":1200.0,"max":3600.0},{"current":2695.031,"min":1200.0,"max":3600.0},{"current":2775.637,"min":1200.0,"max":3600.0},{"current":2765.37,"min":1200.0,"max":3600.0},{"current":2762.673,"min":1200.0,"max":3600.0}],"disk_write_speed":71.87480227817431,"process_ids":[2113736,2113939]}
+{"timestamp":1678268551.056191,"rapl_power_draw_absolute":166.0159793853008,"rapl_estimated_attributable_power_draw":8.446149893115022,"cpu_time_seconds":{"2113736":{"user":1349.92,"system":263.63,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":21.93,"system":31.95,"children_user":9.31,"children_system":321.5,"iowait":33.78}},"average_relative_cpu_utilization":0.05803575876527472,"absolute_cpu_utilization":0.9987381731897028,"relative_mem_usage":0.016464323388538732,"absolute_mem_usage":3394207744.0,"absolute_mem_percent_usage":0.006274774823516279,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929868800,"pss":3092716544,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":655.9200000000001,"nvidia_estimated_attributable_power_draw":249.87,"average_gpu_estimated_utilization_absolute":0.2625,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":9.666666666666666,"mem":6.333333333333333,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.0,"mem":3.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":26.25,"mem":17.5,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":249.87},"cpu_count_adjusted_average_load":[0.232875,0.23224999999999998,0.22912499999999997],"cpu_freq":[{"current":2694.751,"min":1200.0,"max":3600.0},{"current":2696.293,"min":1200.0,"max":3600.0},{"current":2691.89,"min":1200.0,"max":3600.0},{"current":2661.782,"min":1200.0,"max":3600.0},{"current":2827.583,"min":1200.0,"max":3600.0},{"current":2698.895,"min":1200.0,"max":3600.0},{"current":2850.816,"min":1200.0,"max":3600.0},{"current":2697.133,"min":1200.0,"max":3600.0},{"current":2694.572,"min":1200.0,"max":3600.0},{"current":2699.005,"min":1200.0,"max":3600.0},{"current":2724.277,"min":1200.0,"max":3600.0},{"current":2693.131,"min":1200.0,"max":3600.0},{"current":2695.364,"min":1200.0,"max":3600.0},{"current":2699.03,"min":1200.0,"max":3600.0},{"current":2701.995,"min":1200.0,"max":3600.0},{"current":2845.121,"min":1200.0,"max":3600.0},{"current":2693.835,"min":1200.0,"max":3600.0},{"current":2693.903,"min":1200.0,"max":3600.0},{"current":2696.938,"min":1200.0,"max":3600.0},{"current":2693.04,"min":1200.0,"max":3600.0},{"current":2693.748,"min":1200.0,"max":3600.0},{"current":2697.037,"min":1200.0,"max":3600.0},{"current":2697.015,"min":1200.0,"max":3600.0},{"current":2695.082,"min":1200.0,"max":3600.0},{"current":2695.316,"min":1200.0,"max":3600.0},{"current":2697.037,"min":1200.0,"max":3600.0},{"current":2696.824,"min":1200.0,"max":3600.0},{"current":2682.197,"min":1200.0,"max":3600.0},{"current":2699.013,"min":1200.0,"max":3600.0},{"current":2697.401,"min":1200.0,"max":3600.0},{"current":2703.64,"min":1200.0,"max":3600.0},{"current":2694.68,"min":1200.0,"max":3600.0},{"current":2631.154,"min":1200.0,"max":3600.0},{"current":2694.1,"min":1200.0,"max":3600.0},{"current":2699.672,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2701.045,"min":1200.0,"max":3600.0},{"current":2697.101,"min":1200.0,"max":3600.0},{"current":2683.697,"min":1200.0,"max":3600.0},{"current":2688.846,"min":1200.0,"max":3600.0},{"current":2714.837,"min":1200.0,"max":3600.0},{"current":2696.932,"min":1200.0,"max":3600.0},{"current":2800.757,"min":1200.0,"max":3600.0},{"current":2800.906,"min":1200.0,"max":3600.0},{"current":2746.037,"min":1200.0,"max":3600.0},{"current":2750.1,"min":1200.0,"max":3600.0},{"current":2695.909,"min":1200.0,"max":3600.0},{"current":2770.04,"min":1200.0,"max":3600.0},{"current":2742.956,"min":1200.0,"max":3600.0},{"current":2693.7,"min":1200.0,"max":3600.0},{"current":2727.791,"min":1200.0,"max":3600.0},{"current":2744.599,"min":1200.0,"max":3600.0},{"current":2694.814,"min":1200.0,"max":3600.0},{"current":2696.172,"min":1200.0,"max":3600.0},{"current":2694.049,"min":1200.0,"max":3600.0},{"current":2758.379,"min":1200.0,"max":3600.0},{"current":2816.184,"min":1200.0,"max":3600.0},{"current":2693.886,"min":1200.0,"max":3600.0},{"current":2705.731,"min":1200.0,"max":3600.0},{"current":2825.413,"min":1200.0,"max":3600.0},{"current":2693.819,"min":1200.0,"max":3600.0},{"current":2693.834,"min":1200.0,"max":3600.0},{"current":2696.109,"min":1200.0,"max":3600.0},{"current":2695.0,"min":1200.0,"max":3600.0},{"current":2695.201,"min":1200.0,"max":3600.0},{"current":2695.011,"min":1200.0,"max":3600.0},{"current":2696.372,"min":1200.0,"max":3600.0},{"current":2693.659,"min":1200.0,"max":3600.0},{"current":2693.813,"min":1200.0,"max":3600.0},{"current":2694.387,"min":1200.0,"max":3600.0},{"current":2694.052,"min":1200.0,"max":3600.0},{"current":2765.426,"min":1200.0,"max":3600.0},{"current":2781.3,"min":1200.0,"max":3600.0},{"current":2780.936,"min":1200.0,"max":3600.0},{"current":2771.557,"min":1200.0,"max":3600.0},{"current":2778.547,"min":1200.0,"max":3600.0},{"current":2694.487,"min":1200.0,"max":3600.0},{"current":2788.835,"min":1200.0,"max":3600.0},{"current":2779.478,"min":1200.0,"max":3600.0},{"current":2769.478,"min":1200.0,"max":3600.0}],"disk_write_speed":72.4264533547392,"process_ids":[2113736,2113939]}
+{"timestamp":1678268566.868231,"rapl_power_draw_absolute":166.22291959258715,"rapl_estimated_attributable_power_draw":8.523605517903677,"cpu_time_seconds":{"2113736":{"user":1363.2,"system":266.17,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":22.15,"system":32.28,"children_user":9.38,"children_system":324.71,"iowait":34.13}},"average_relative_cpu_utilization":0.057883786391774356,"absolute_cpu_utilization":0.998715567590338,"relative_mem_usage":0.019382369727192317,"absolute_mem_usage":3996324864.0,"absolute_mem_percent_usage":0.007387891530076987,"mem_info_per_process":{"2113736":{"rss":3960008704,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3531984896,"pss":3694833664,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":486.77000000000004,"nvidia_estimated_attributable_power_draw":71.49,"average_gpu_estimated_utilization_absolute":0.23800000000000002,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.0,"mem":3.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":23.8,"mem":16.4,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":71.49},"cpu_count_adjusted_average_load":[0.22925,0.23149999999999998,0.229],"cpu_freq":[{"current":2694.623,"min":1200.0,"max":3600.0},{"current":2701.254,"min":1200.0,"max":3600.0},{"current":2679.04,"min":1200.0,"max":3600.0},{"current":2692.024,"min":1200.0,"max":3600.0},{"current":2837.757,"min":1200.0,"max":3600.0},{"current":2749.574,"min":1200.0,"max":3600.0},{"current":2788.316,"min":1200.0,"max":3600.0},{"current":2697.782,"min":1200.0,"max":3600.0},{"current":2764.908,"min":1200.0,"max":3600.0},{"current":2694.286,"min":1200.0,"max":3600.0},{"current":2702.966,"min":1200.0,"max":3600.0},{"current":2693.507,"min":1200.0,"max":3600.0},{"current":2703.239,"min":1200.0,"max":3600.0},{"current":2694.253,"min":1200.0,"max":3600.0},{"current":2699.993,"min":1200.0,"max":3600.0},{"current":2708.076,"min":1200.0,"max":3600.0},{"current":2693.32,"min":1200.0,"max":3600.0},{"current":2694.504,"min":1200.0,"max":3600.0},{"current":2694.64,"min":1200.0,"max":3600.0},{"current":2692.972,"min":1200.0,"max":3600.0},{"current":2694.047,"min":1200.0,"max":3600.0},{"current":2772.694,"min":1200.0,"max":3600.0},{"current":2698.807,"min":1200.0,"max":3600.0},{"current":2722.337,"min":1200.0,"max":3600.0},{"current":2695.311,"min":1200.0,"max":3600.0},{"current":2697.446,"min":1200.0,"max":3600.0},{"current":2695.04,"min":1200.0,"max":3600.0},{"current":2689.444,"min":1200.0,"max":3600.0},{"current":2701.452,"min":1200.0,"max":3600.0},{"current":2694.676,"min":1200.0,"max":3600.0},{"current":2694.568,"min":1200.0,"max":3600.0},{"current":2697.001,"min":1200.0,"max":3600.0},{"current":2695.57,"min":1200.0,"max":3600.0},{"current":2646.541,"min":1200.0,"max":3600.0},{"current":2634.604,"min":1200.0,"max":3600.0},{"current":2694.565,"min":1200.0,"max":3600.0},{"current":2696.395,"min":1200.0,"max":3600.0},{"current":2695.897,"min":1200.0,"max":3600.0},{"current":2697.031,"min":1200.0,"max":3600.0},{"current":2693.533,"min":1200.0,"max":3600.0},{"current":2694.299,"min":1200.0,"max":3600.0},{"current":2693.552,"min":1200.0,"max":3600.0},{"current":2754.971,"min":1200.0,"max":3600.0},{"current":2734.014,"min":1200.0,"max":3600.0},{"current":2632.299,"min":1200.0,"max":3600.0},{"current":2698.005,"min":1200.0,"max":3600.0},{"current":2790.075,"min":1200.0,"max":3600.0},{"current":2704.442,"min":1200.0,"max":3600.0},{"current":2694.312,"min":1200.0,"max":3600.0},{"current":2694.061,"min":1200.0,"max":3600.0},{"current":2694.476,"min":1200.0,"max":3600.0},{"current":2757.339,"min":1200.0,"max":3600.0},{"current":2694.007,"min":1200.0,"max":3600.0},{"current":2694.343,"min":1200.0,"max":3600.0},{"current":2693.972,"min":1200.0,"max":3600.0},{"current":2782.439,"min":1200.0,"max":3600.0},{"current":2751.232,"min":1200.0,"max":3600.0},{"current":2694.55,"min":1200.0,"max":3600.0},{"current":2694.086,"min":1200.0,"max":3600.0},{"current":2723.714,"min":1200.0,"max":3600.0},{"current":2698.504,"min":1200.0,"max":3600.0},{"current":2786.72,"min":1200.0,"max":3600.0},{"current":2693.963,"min":1200.0,"max":3600.0},{"current":2697.019,"min":1200.0,"max":3600.0},{"current":2695.917,"min":1200.0,"max":3600.0},{"current":2695.736,"min":1200.0,"max":3600.0},{"current":2697.301,"min":1200.0,"max":3600.0},{"current":2694.827,"min":1200.0,"max":3600.0},{"current":2694.876,"min":1200.0,"max":3600.0},{"current":2696.263,"min":1200.0,"max":3600.0},{"current":2695.751,"min":1200.0,"max":3600.0},{"current":2694.599,"min":1200.0,"max":3600.0},{"current":2783.492,"min":1200.0,"max":3600.0},{"current":2760.255,"min":1200.0,"max":3600.0},{"current":2750.463,"min":1200.0,"max":3600.0},{"current":2782.352,"min":1200.0,"max":3600.0},{"current":2697.318,"min":1200.0,"max":3600.0},{"current":2773.426,"min":1200.0,"max":3600.0},{"current":2694.912,"min":1200.0,"max":3600.0},{"current":2716.242,"min":1200.0,"max":3600.0}],"disk_write_speed":72.9568654957344,"process_ids":[2113736,2113939]}
+{"timestamp":1678268582.680203,"rapl_power_draw_absolute":167.1268560395343,"rapl_estimated_attributable_power_draw":8.39851169681994,"cpu_time_seconds":{"2113736":{"user":1376.51,"system":268.65,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":22.35,"system":32.64,"children_user":9.44,"children_system":327.93,"iowait":34.47}},"average_relative_cpu_utilization":0.05662257604842655,"absolute_cpu_utilization":0.998741968526238,"relative_mem_usage":0.01936494973279804,"absolute_mem_usage":3996324864.0,"absolute_mem_percent_usage":0.007387891530076987,"mem_info_per_process":{"2113736":{"rss":3942166528,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3531984896,"pss":3694833664,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":646.2800000000001,"nvidia_estimated_attributable_power_draw":229.08,"average_gpu_estimated_utilization_absolute":0.32,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":19.75,"mem":12.5,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":5.0,"mem":3.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":32.0,"mem":22.4,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":229.08},"cpu_count_adjusted_average_load":[0.230875,0.23174999999999998,0.22912499999999997],"cpu_freq":[{"current":2694.459,"min":1200.0,"max":3600.0},{"current":2700.182,"min":1200.0,"max":3600.0},{"current":2697.102,"min":1200.0,"max":3600.0},{"current":2673.799,"min":1200.0,"max":3600.0},{"current":2745.4,"min":1200.0,"max":3600.0},{"current":2701.879,"min":1200.0,"max":3600.0},{"current":2707.188,"min":1200.0,"max":3600.0},{"current":2698.637,"min":1200.0,"max":3600.0},{"current":2697.486,"min":1200.0,"max":3600.0},{"current":2694.344,"min":1200.0,"max":3600.0},{"current":2739.736,"min":1200.0,"max":3600.0},{"current":2695.785,"min":1200.0,"max":3600.0},{"current":2701.179,"min":1200.0,"max":3600.0},{"current":2698.713,"min":1200.0,"max":3600.0},{"current":2695.263,"min":1200.0,"max":3600.0},{"current":2698.207,"min":1200.0,"max":3600.0},{"current":2825.57,"min":1200.0,"max":3600.0},{"current":2844.922,"min":1200.0,"max":3600.0},{"current":2694.872,"min":1200.0,"max":3600.0},{"current":2691.531,"min":1200.0,"max":3600.0},{"current":2695.571,"min":1200.0,"max":3600.0},{"current":2791.189,"min":1200.0,"max":3600.0},{"current":2696.155,"min":1200.0,"max":3600.0},{"current":2697.55,"min":1200.0,"max":3600.0},{"current":2697.063,"min":1200.0,"max":3600.0},{"current":2697.191,"min":1200.0,"max":3600.0},{"current":2695.62,"min":1200.0,"max":3600.0},{"current":2793.708,"min":1200.0,"max":3600.0},{"current":2695.647,"min":1200.0,"max":3600.0},{"current":2694.668,"min":1200.0,"max":3600.0},{"current":2694.978,"min":1200.0,"max":3600.0},{"current":2697.487,"min":1200.0,"max":3600.0},{"current":2638.31,"min":1200.0,"max":3600.0},{"current":2771.958,"min":1200.0,"max":3600.0},{"current":2693.336,"min":1200.0,"max":3600.0},{"current":2695.426,"min":1200.0,"max":3600.0},{"current":2695.74,"min":1200.0,"max":3600.0},{"current":2784.11,"min":1200.0,"max":3600.0},{"current":2733.95,"min":1200.0,"max":3600.0},{"current":2794.141,"min":1200.0,"max":3600.0},{"current":2743.458,"min":1200.0,"max":3600.0},{"current":2696.367,"min":1200.0,"max":3600.0},{"current":2835.388,"min":1200.0,"max":3600.0},{"current":2810.558,"min":1200.0,"max":3600.0},{"current":2962.751,"min":1200.0,"max":3600.0},{"current":2886.395,"min":1200.0,"max":3600.0},{"current":2792.561,"min":1200.0,"max":3600.0},{"current":2695.454,"min":1200.0,"max":3600.0},{"current":2696.335,"min":1200.0,"max":3600.0},{"current":2736.964,"min":1200.0,"max":3600.0},{"current":2694.601,"min":1200.0,"max":3600.0},{"current":2839.035,"min":1200.0,"max":3600.0},{"current":2695.202,"min":1200.0,"max":3600.0},{"current":2694.421,"min":1200.0,"max":3600.0},{"current":2696.486,"min":1200.0,"max":3600.0},{"current":2707.995,"min":1200.0,"max":3600.0},{"current":2803.14,"min":1200.0,"max":3600.0},{"current":2693.088,"min":1200.0,"max":3600.0},{"current":2764.637,"min":1200.0,"max":3600.0},{"current":2774.164,"min":1200.0,"max":3600.0},{"current":2696.939,"min":1200.0,"max":3600.0},{"current":2683.051,"min":1200.0,"max":3600.0},{"current":2693.333,"min":1200.0,"max":3600.0},{"current":2693.832,"min":1200.0,"max":3600.0},{"current":2695.228,"min":1200.0,"max":3600.0},{"current":2694.513,"min":1200.0,"max":3600.0},{"current":2697.157,"min":1200.0,"max":3600.0},{"current":2693.54,"min":1200.0,"max":3600.0},{"current":2692.918,"min":1200.0,"max":3600.0},{"current":2694.202,"min":1200.0,"max":3600.0},{"current":2696.705,"min":1200.0,"max":3600.0},{"current":2694.948,"min":1200.0,"max":3600.0},{"current":2778.223,"min":1200.0,"max":3600.0},{"current":2741.002,"min":1200.0,"max":3600.0},{"current":2702.989,"min":1200.0,"max":3600.0},{"current":2747.735,"min":1200.0,"max":3600.0},{"current":2717.63,"min":1200.0,"max":3600.0},{"current":2784.162,"min":1200.0,"max":3600.0},{"current":2783.681,"min":1200.0,"max":3600.0},{"current":2782.105,"min":1200.0,"max":3600.0}],"disk_write_speed":69.78490370866166,"process_ids":[2113736,2113939]}
+{"timestamp":1678268598.616223,"rapl_power_draw_absolute":166.75823043111663,"rapl_estimated_attributable_power_draw":8.546881074747,"cpu_time_seconds":{"2113736":{"user":1390.01,"system":271.1,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":22.57,"system":32.97,"children_user":9.55,"children_system":331.09,"iowait":34.81}},"average_relative_cpu_utilization":0.057855851189978984,"absolute_cpu_utilization":1.0037223071599122,"relative_mem_usage":0.01937642181817922,"absolute_mem_usage":3996324864.0,"absolute_mem_percent_usage":0.007387891530076987,"mem_info_per_process":{"2113736":{"rss":3959930880,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3531984896,"pss":3694833664,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":478.6600000000001,"nvidia_estimated_attributable_power_draw":71.54,"average_gpu_estimated_utilization_absolute":0.258,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":7.5,"mem":4.5,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.5,"mem":5.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.8,"mem":17.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":71.54},"cpu_count_adjusted_average_load":[0.23537499999999997,0.23275,0.22949999999999998],"cpu_freq":[{"current":2697.588,"min":1200.0,"max":3600.0},{"current":2710.167,"min":1200.0,"max":3600.0},{"current":2659.43,"min":1200.0,"max":3600.0},{"current":2662.562,"min":1200.0,"max":3600.0},{"current":2839.672,"min":1200.0,"max":3600.0},{"current":2697.26,"min":1200.0,"max":3600.0},{"current":2712.565,"min":1200.0,"max":3600.0},{"current":2873.121,"min":1200.0,"max":3600.0},{"current":2710.386,"min":1200.0,"max":3600.0},{"current":2695.217,"min":1200.0,"max":3600.0},{"current":2703.184,"min":1200.0,"max":3600.0},{"current":2664.138,"min":1200.0,"max":3600.0},{"current":2701.141,"min":1200.0,"max":3600.0},{"current":2695.835,"min":1200.0,"max":3600.0},{"current":2698.225,"min":1200.0,"max":3600.0},{"current":2735.65,"min":1200.0,"max":3600.0},{"current":2612.594,"min":1200.0,"max":3600.0},{"current":2696.572,"min":1200.0,"max":3600.0},{"current":2818.848,"min":1200.0,"max":3600.0},{"current":2694.66,"min":1200.0,"max":3600.0},{"current":2697.827,"min":1200.0,"max":3600.0},{"current":2779.597,"min":1200.0,"max":3600.0},{"current":2697.943,"min":1200.0,"max":3600.0},{"current":2698.57,"min":1200.0,"max":3600.0},{"current":2695.54,"min":1200.0,"max":3600.0},{"current":2701.678,"min":1200.0,"max":3600.0},{"current":2693.827,"min":1200.0,"max":3600.0},{"current":2695.466,"min":1200.0,"max":3600.0},{"current":2697.725,"min":1200.0,"max":3600.0},{"current":2700.69,"min":1200.0,"max":3600.0},{"current":2693.818,"min":1200.0,"max":3600.0},{"current":2696.486,"min":1200.0,"max":3600.0},{"current":2691.274,"min":1200.0,"max":3600.0},{"current":2691.77,"min":1200.0,"max":3600.0},{"current":2694.153,"min":1200.0,"max":3600.0},{"current":2695.716,"min":1200.0,"max":3600.0},{"current":2694.453,"min":1200.0,"max":3600.0},{"current":2694.12,"min":1200.0,"max":3600.0},{"current":2638.207,"min":1200.0,"max":3600.0},{"current":2656.944,"min":1200.0,"max":3600.0},{"current":2696.405,"min":1200.0,"max":3600.0},{"current":2694.309,"min":1200.0,"max":3600.0},{"current":2738.58,"min":1200.0,"max":3600.0},{"current":2760.842,"min":1200.0,"max":3600.0},{"current":2678.869,"min":1200.0,"max":3600.0},{"current":2769.881,"min":1200.0,"max":3600.0},{"current":2694.371,"min":1200.0,"max":3600.0},{"current":2771.0,"min":1200.0,"max":3600.0},{"current":2695.694,"min":1200.0,"max":3600.0},{"current":2739.684,"min":1200.0,"max":3600.0},{"current":2693.549,"min":1200.0,"max":3600.0},{"current":2748.642,"min":1200.0,"max":3600.0},{"current":2694.717,"min":1200.0,"max":3600.0},{"current":2695.121,"min":1200.0,"max":3600.0},{"current":2695.464,"min":1200.0,"max":3600.0},{"current":2694.007,"min":1200.0,"max":3600.0},{"current":2753.006,"min":1200.0,"max":3600.0},{"current":2693.318,"min":1200.0,"max":3600.0},{"current":2695.005,"min":1200.0,"max":3600.0},{"current":2764.091,"min":1200.0,"max":3600.0},{"current":2695.42,"min":1200.0,"max":3600.0},{"current":2691.73,"min":1200.0,"max":3600.0},{"current":2697.169,"min":1200.0,"max":3600.0},{"current":2694.178,"min":1200.0,"max":3600.0},{"current":2697.205,"min":1200.0,"max":3600.0},{"current":2694.347,"min":1200.0,"max":3600.0},{"current":2695.148,"min":1200.0,"max":3600.0},{"current":2693.767,"min":1200.0,"max":3600.0},{"current":2694.02,"min":1200.0,"max":3600.0},{"current":2694.794,"min":1200.0,"max":3600.0},{"current":2697.406,"min":1200.0,"max":3600.0},{"current":2695.188,"min":1200.0,"max":3600.0},{"current":2767.855,"min":1200.0,"max":3600.0},{"current":2769.167,"min":1200.0,"max":3600.0},{"current":2755.709,"min":1200.0,"max":3600.0},{"current":2751.611,"min":1200.0,"max":3600.0},{"current":2697.246,"min":1200.0,"max":3600.0},{"current":2782.957,"min":1200.0,"max":3600.0},{"current":2750.606,"min":1200.0,"max":3600.0},{"current":2758.224,"min":1200.0,"max":3600.0}],"disk_write_speed":71.92064267770948,"process_ids":[2113736,2113939]}
+{"timestamp":1678268614.212237,"rapl_power_draw_absolute":167.12059642438817,"rapl_estimated_attributable_power_draw":8.471844779807201,"cpu_time_seconds":{"2113736":{"user":1403.17,"system":273.53,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":22.76,"system":33.33,"children_user":9.63,"children_system":334.24,"iowait":35.15}},"average_relative_cpu_utilization":0.05729427831016502,"absolute_cpu_utilization":1.0040209657404995,"relative_mem_usage":0.01894427887071962,"absolute_mem_usage":3920577536.0,"absolute_mem_percent_usage":0.00724785961025027,"mem_info_per_process":{"2113736":{"rss":3853783040,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3456237568,"pss":3619086336,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":487.31000000000006,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.135,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":11.0,"mem":6.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":25.0,"mem":14.666666666666666,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":13.5,"mem":7.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23775,0.23337500000000003,0.22974999999999998],"cpu_freq":[{"current":2700.575,"min":1200.0,"max":3600.0},{"current":2753.491,"min":1200.0,"max":3600.0},{"current":2742.427,"min":1200.0,"max":3600.0},{"current":2696.476,"min":1200.0,"max":3600.0},{"current":2696.984,"min":1200.0,"max":3600.0},{"current":2816.044,"min":1200.0,"max":3600.0},{"current":2695.822,"min":1200.0,"max":3600.0},{"current":2858.712,"min":1200.0,"max":3600.0},{"current":2697.112,"min":1200.0,"max":3600.0},{"current":2706.762,"min":1200.0,"max":3600.0},{"current":2695.742,"min":1200.0,"max":3600.0},{"current":2688.997,"min":1200.0,"max":3600.0},{"current":2698.598,"min":1200.0,"max":3600.0},{"current":2715.557,"min":1200.0,"max":3600.0},{"current":2698.51,"min":1200.0,"max":3600.0},{"current":2694.133,"min":1200.0,"max":3600.0},{"current":2698.294,"min":1200.0,"max":3600.0},{"current":2702.732,"min":1200.0,"max":3600.0},{"current":2833.255,"min":1200.0,"max":3600.0},{"current":2697.895,"min":1200.0,"max":3600.0},{"current":2697.336,"min":1200.0,"max":3600.0},{"current":2691.357,"min":1200.0,"max":3600.0},{"current":2695.7,"min":1200.0,"max":3600.0},{"current":2697.712,"min":1200.0,"max":3600.0},{"current":2702.301,"min":1200.0,"max":3600.0},{"current":2696.355,"min":1200.0,"max":3600.0},{"current":2694.626,"min":1200.0,"max":3600.0},{"current":2762.03,"min":1200.0,"max":3600.0},{"current":2697.438,"min":1200.0,"max":3600.0},{"current":2696.478,"min":1200.0,"max":3600.0},{"current":2695.552,"min":1200.0,"max":3600.0},{"current":2696.232,"min":1200.0,"max":3600.0},{"current":2722.456,"min":1200.0,"max":3600.0},{"current":2759.96,"min":1200.0,"max":3600.0},{"current":2786.442,"min":1200.0,"max":3600.0},{"current":2738.818,"min":1200.0,"max":3600.0},{"current":2697.761,"min":1200.0,"max":3600.0},{"current":2726.77,"min":1200.0,"max":3600.0},{"current":2724.651,"min":1200.0,"max":3600.0},{"current":2793.544,"min":1200.0,"max":3600.0},{"current":2696.108,"min":1200.0,"max":3600.0},{"current":2699.892,"min":1200.0,"max":3600.0},{"current":2811.288,"min":1200.0,"max":3600.0},{"current":2874.954,"min":1200.0,"max":3600.0},{"current":2694.175,"min":1200.0,"max":3600.0},{"current":2693.699,"min":1200.0,"max":3600.0},{"current":2694.1,"min":1200.0,"max":3600.0},{"current":2704.209,"min":1200.0,"max":3600.0},{"current":2694.444,"min":1200.0,"max":3600.0},{"current":2694.665,"min":1200.0,"max":3600.0},{"current":2695.191,"min":1200.0,"max":3600.0},{"current":2828.013,"min":1200.0,"max":3600.0},{"current":2697.407,"min":1200.0,"max":3600.0},{"current":2694.556,"min":1200.0,"max":3600.0},{"current":2694.549,"min":1200.0,"max":3600.0},{"current":2696.992,"min":1200.0,"max":3600.0},{"current":2694.922,"min":1200.0,"max":3600.0},{"current":2698.455,"min":1200.0,"max":3600.0},{"current":2695.85,"min":1200.0,"max":3600.0},{"current":2804.342,"min":1200.0,"max":3600.0},{"current":2695.752,"min":1200.0,"max":3600.0},{"current":2692.313,"min":1200.0,"max":3600.0},{"current":2693.76,"min":1200.0,"max":3600.0},{"current":2693.935,"min":1200.0,"max":3600.0},{"current":2693.49,"min":1200.0,"max":3600.0},{"current":2694.499,"min":1200.0,"max":3600.0},{"current":2693.815,"min":1200.0,"max":3600.0},{"current":2695.356,"min":1200.0,"max":3600.0},{"current":2695.194,"min":1200.0,"max":3600.0},{"current":2697.588,"min":1200.0,"max":3600.0},{"current":2695.677,"min":1200.0,"max":3600.0},{"current":2694.892,"min":1200.0,"max":3600.0},{"current":2684.84,"min":1200.0,"max":3600.0},{"current":2663.218,"min":1200.0,"max":3600.0},{"current":2689.954,"min":1200.0,"max":3600.0},{"current":2675.221,"min":1200.0,"max":3600.0},{"current":2694.244,"min":1200.0,"max":3600.0},{"current":2763.208,"min":1200.0,"max":3600.0},{"current":2775.494,"min":1200.0,"max":3600.0},{"current":2773.57,"min":1200.0,"max":3600.0}],"disk_write_speed":71.24725276021572,"process_ids":[2113736,2113939]}
+{"timestamp":1678268629.660237,"rapl_power_draw_absolute":166.4892818227537,"rapl_estimated_attributable_power_draw":8.5448802011872,"cpu_time_seconds":{"2113736":{"user":1416.13,"system":276.03,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":22.95,"system":33.7,"children_user":9.73,"children_system":337.35,"iowait":35.49}},"average_relative_cpu_utilization":0.05824193163522086,"absolute_cpu_utilization":1.0037105513961755,"relative_mem_usage":0.017901425483046445,"absolute_mem_usage":3701269504.0,"absolute_mem_percent_usage":0.006842431121018557,"mem_info_per_process":{"2113736":{"rss":3639402496,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3236929536,"pss":3399778304,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":490.11,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.23199999999999998,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":13.0,"mem":8.25,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":4.0,"mem":2.3333333333333335,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":25.333333333333332,"mem":14.666666666666666,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":23.2,"mem":15.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.23737499999999997,0.23362500000000003,0.229875],"cpu_freq":[{"current":2695.648,"min":1200.0,"max":3600.0},{"current":2829.13,"min":1200.0,"max":3600.0},{"current":2621.441,"min":1200.0,"max":3600.0},{"current":2626.002,"min":1200.0,"max":3600.0},{"current":2717.728,"min":1200.0,"max":3600.0},{"current":2806.997,"min":1200.0,"max":3600.0},{"current":2709.984,"min":1200.0,"max":3600.0},{"current":2855.35,"min":1200.0,"max":3600.0},{"current":2724.582,"min":1200.0,"max":3600.0},{"current":2694.948,"min":1200.0,"max":3600.0},{"current":2788.728,"min":1200.0,"max":3600.0},{"current":2694.728,"min":1200.0,"max":3600.0},{"current":2694.614,"min":1200.0,"max":3600.0},{"current":2695.396,"min":1200.0,"max":3600.0},{"current":2694.969,"min":1200.0,"max":3600.0},{"current":2699.648,"min":1200.0,"max":3600.0},{"current":2696.584,"min":1200.0,"max":3600.0},{"current":2696.756,"min":1200.0,"max":3600.0},{"current":2856.883,"min":1200.0,"max":3600.0},{"current":2630.378,"min":1200.0,"max":3600.0},{"current":2693.757,"min":1200.0,"max":3600.0},{"current":2694.474,"min":1200.0,"max":3600.0},{"current":2698.616,"min":1200.0,"max":3600.0},{"current":2697.268,"min":1200.0,"max":3600.0},{"current":2698.153,"min":1200.0,"max":3600.0},{"current":2695.021,"min":1200.0,"max":3600.0},{"current":2699.415,"min":1200.0,"max":3600.0},{"current":2765.941,"min":1200.0,"max":3600.0},{"current":2696.467,"min":1200.0,"max":3600.0},{"current":2694.878,"min":1200.0,"max":3600.0},{"current":2696.874,"min":1200.0,"max":3600.0},{"current":2695.223,"min":1200.0,"max":3600.0},{"current":2651.735,"min":1200.0,"max":3600.0},{"current":2692.25,"min":1200.0,"max":3600.0},{"current":2779.325,"min":1200.0,"max":3600.0},{"current":2694.604,"min":1200.0,"max":3600.0},{"current":2693.76,"min":1200.0,"max":3600.0},{"current":2698.722,"min":1200.0,"max":3600.0},{"current":2693.203,"min":1200.0,"max":3600.0},{"current":2694.18,"min":1200.0,"max":3600.0},{"current":2694.596,"min":1200.0,"max":3600.0},{"current":2710.627,"min":1200.0,"max":3600.0},{"current":2764.817,"min":1200.0,"max":3600.0},{"current":2765.553,"min":1200.0,"max":3600.0},{"current":2699.089,"min":1200.0,"max":3600.0},{"current":2693.738,"min":1200.0,"max":3600.0},{"current":2707.823,"min":1200.0,"max":3600.0},{"current":2853.357,"min":1200.0,"max":3600.0},{"current":2697.527,"min":1200.0,"max":3600.0},{"current":2695.391,"min":1200.0,"max":3600.0},{"current":2693.793,"min":1200.0,"max":3600.0},{"current":2770.361,"min":1200.0,"max":3600.0},{"current":2694.267,"min":1200.0,"max":3600.0},{"current":2695.415,"min":1200.0,"max":3600.0},{"current":2696.353,"min":1200.0,"max":3600.0},{"current":2687.984,"min":1200.0,"max":3600.0},{"current":2694.067,"min":1200.0,"max":3600.0},{"current":2694.093,"min":1200.0,"max":3600.0},{"current":2690.925,"min":1200.0,"max":3600.0},{"current":2704.921,"min":1200.0,"max":3600.0},{"current":2694.551,"min":1200.0,"max":3600.0},{"current":2696.115,"min":1200.0,"max":3600.0},{"current":2694.758,"min":1200.0,"max":3600.0},{"current":2693.884,"min":1200.0,"max":3600.0},{"current":2693.862,"min":1200.0,"max":3600.0},{"current":2693.97,"min":1200.0,"max":3600.0},{"current":2696.279,"min":1200.0,"max":3600.0},{"current":2694.215,"min":1200.0,"max":3600.0},{"current":2694.062,"min":1200.0,"max":3600.0},{"current":2696.147,"min":1200.0,"max":3600.0},{"current":2695.669,"min":1200.0,"max":3600.0},{"current":2694.651,"min":1200.0,"max":3600.0},{"current":2765.362,"min":1200.0,"max":3600.0},{"current":2716.623,"min":1200.0,"max":3600.0},{"current":2765.15,"min":1200.0,"max":3600.0},{"current":2759.195,"min":1200.0,"max":3600.0},{"current":2762.4,"min":1200.0,"max":3600.0},{"current":2773.02,"min":1200.0,"max":3600.0},{"current":2733.455,"min":1200.0,"max":3600.0},{"current":2765.151,"min":1200.0,"max":3600.0}],"disk_write_speed":72.55577082756712,"process_ids":[2113736,2113939]}
+{"timestamp":1678268645.316226,"rapl_power_draw_absolute":167.90766456014904,"rapl_estimated_attributable_power_draw":8.219768978372798,"cpu_time_seconds":{"2113736":{"user":1429.21,"system":278.6,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":23.16,"system":34.03,"children_user":9.83,"children_system":340.49,"iowait":35.84}},"average_relative_cpu_utilization":0.05550649928493329,"absolute_cpu_utilization":0.9990047185611236,"relative_mem_usage":0.017521940075788212,"absolute_mem_usage":3619998720.0,"absolute_mem_percent_usage":0.006692188145987907,"mem_info_per_process":{"2113736":{"rss":3556364288,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3155660800,"pss":3318507520,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":641.7800000000001,"nvidia_estimated_attributable_power_draw":69.95,"average_gpu_estimated_utilization_absolute":0.2366666666666667,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":10.333333333333334,"mem":6.333333333333333,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":8.25,"mem":5.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":23.666666666666668,"mem":15.666666666666666,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.95},"cpu_count_adjusted_average_load":[0.2355,0.23337500000000003,0.229875],"cpu_freq":[{"current":2695.128,"min":1200.0,"max":3600.0},{"current":2857.12,"min":1200.0,"max":3600.0},{"current":2725.079,"min":1200.0,"max":3600.0},{"current":2681.407,"min":1200.0,"max":3600.0},{"current":2704.901,"min":1200.0,"max":3600.0},{"current":2848.543,"min":1200.0,"max":3600.0},{"current":2696.048,"min":1200.0,"max":3600.0},{"current":2833.34,"min":1200.0,"max":3600.0},{"current":2717.751,"min":1200.0,"max":3600.0},{"current":2695.344,"min":1200.0,"max":3600.0},{"current":2696.701,"min":1200.0,"max":3600.0},{"current":2835.34,"min":1200.0,"max":3600.0},{"current":2695.629,"min":1200.0,"max":3600.0},{"current":2695.989,"min":1200.0,"max":3600.0},{"current":2697.098,"min":1200.0,"max":3600.0},{"current":2697.009,"min":1200.0,"max":3600.0},{"current":2707.934,"min":1200.0,"max":3600.0},{"current":2697.395,"min":1200.0,"max":3600.0},{"current":2842.389,"min":1200.0,"max":3600.0},{"current":2625.112,"min":1200.0,"max":3600.0},{"current":2694.592,"min":1200.0,"max":3600.0},{"current":2702.98,"min":1200.0,"max":3600.0},{"current":2695.713,"min":1200.0,"max":3600.0},{"current":2695.513,"min":1200.0,"max":3600.0},{"current":2695.271,"min":1200.0,"max":3600.0},{"current":2695.545,"min":1200.0,"max":3600.0},{"current":2699.269,"min":1200.0,"max":3600.0},{"current":2754.186,"min":1200.0,"max":3600.0},{"current":2695.642,"min":1200.0,"max":3600.0},{"current":2697.764,"min":1200.0,"max":3600.0},{"current":2697.041,"min":1200.0,"max":3600.0},{"current":2695.309,"min":1200.0,"max":3600.0},{"current":2681.449,"min":1200.0,"max":3600.0},{"current":2693.396,"min":1200.0,"max":3600.0},{"current":2695.014,"min":1200.0,"max":3600.0},{"current":2693.767,"min":1200.0,"max":3600.0},{"current":2693.925,"min":1200.0,"max":3600.0},{"current":2794.652,"min":1200.0,"max":3600.0},{"current":2766.115,"min":1200.0,"max":3600.0},{"current":2695.51,"min":1200.0,"max":3600.0},{"current":2725.471,"min":1200.0,"max":3600.0},{"current":2657.23,"min":1200.0,"max":3600.0},{"current":2851.982,"min":1200.0,"max":3600.0},{"current":2828.672,"min":1200.0,"max":3600.0},{"current":2694.636,"min":1200.0,"max":3600.0},{"current":2693.734,"min":1200.0,"max":3600.0},{"current":2702.785,"min":1200.0,"max":3600.0},{"current":2762.373,"min":1200.0,"max":3600.0},{"current":2719.338,"min":1200.0,"max":3600.0},{"current":2696.728,"min":1200.0,"max":3600.0},{"current":2694.057,"min":1200.0,"max":3600.0},{"current":2859.288,"min":1200.0,"max":3600.0},{"current":2694.698,"min":1200.0,"max":3600.0},{"current":2695.886,"min":1200.0,"max":3600.0},{"current":2695.871,"min":1200.0,"max":3600.0},{"current":2718.093,"min":1200.0,"max":3600.0},{"current":2695.799,"min":1200.0,"max":3600.0},{"current":2694.037,"min":1200.0,"max":3600.0},{"current":2696.934,"min":1200.0,"max":3600.0},{"current":2810.882,"min":1200.0,"max":3600.0},{"current":2694.374,"min":1200.0,"max":3600.0},{"current":2697.274,"min":1200.0,"max":3600.0},{"current":2699.714,"min":1200.0,"max":3600.0},{"current":2694.977,"min":1200.0,"max":3600.0},{"current":2699.123,"min":1200.0,"max":3600.0},{"current":2695.572,"min":1200.0,"max":3600.0},{"current":2693.753,"min":1200.0,"max":3600.0},{"current":2627.243,"min":1200.0,"max":3600.0},{"current":2696.934,"min":1200.0,"max":3600.0},{"current":2693.657,"min":1200.0,"max":3600.0},{"current":2696.743,"min":1200.0,"max":3600.0},{"current":2695.778,"min":1200.0,"max":3600.0},{"current":2784.654,"min":1200.0,"max":3600.0},{"current":2758.263,"min":1200.0,"max":3600.0},{"current":2762.042,"min":1200.0,"max":3600.0},{"current":2787.461,"min":1200.0,"max":3600.0},{"current":2766.833,"min":1200.0,"max":3600.0},{"current":2790.645,"min":1200.0,"max":3600.0},{"current":2765.95,"min":1200.0,"max":3600.0},{"current":2778.321,"min":1200.0,"max":3600.0}],"disk_write_speed":72.43578370259317,"process_ids":[2113736,2113939]}
+{"timestamp":1678268661.092191,"rapl_power_draw_absolute":167.29902008474537,"rapl_estimated_attributable_power_draw":8.521415306383734,"cpu_time_seconds":{"2113736":{"user":1442.52,"system":281.08,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":23.35,"system":34.4,"children_user":9.91,"children_system":343.68,"iowait":36.18}},"average_relative_cpu_utilization":0.05783911453759988,"absolute_cpu_utilization":1.003716583752799,"relative_mem_usage":0.01734231600029796,"absolute_mem_usage":3582721024.0,"absolute_mem_percent_usage":0.006623273935078755,"mem_info_per_process":{"2113736":{"rss":3522895872,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3118383104,"pss":3281229824,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":476.70000000000005,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.23,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.0,"mem":3.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":23.0,"mem":15.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.23125,0.2325,0.22962500000000002],"cpu_freq":[{"current":2695.612,"min":1200.0,"max":3600.0},{"current":2808.243,"min":1200.0,"max":3600.0},{"current":2694.28,"min":1200.0,"max":3600.0},{"current":2684.175,"min":1200.0,"max":3600.0},{"current":2701.386,"min":1200.0,"max":3600.0},{"current":2799.513,"min":1200.0,"max":3600.0},{"current":2696.239,"min":1200.0,"max":3600.0},{"current":2845.868,"min":1200.0,"max":3600.0},{"current":2699.628,"min":1200.0,"max":3600.0},{"current":2698.397,"min":1200.0,"max":3600.0},{"current":2695.691,"min":1200.0,"max":3600.0},{"current":2729.041,"min":1200.0,"max":3600.0},{"current":2696.497,"min":1200.0,"max":3600.0},{"current":2695.904,"min":1200.0,"max":3600.0},{"current":2694.968,"min":1200.0,"max":3600.0},{"current":2704.042,"min":1200.0,"max":3600.0},{"current":2700.88,"min":1200.0,"max":3600.0},{"current":2694.176,"min":1200.0,"max":3600.0},{"current":2761.175,"min":1200.0,"max":3600.0},{"current":2642.42,"min":1200.0,"max":3600.0},{"current":2699.14,"min":1200.0,"max":3600.0},{"current":2708.929,"min":1200.0,"max":3600.0},{"current":2694.585,"min":1200.0,"max":3600.0},{"current":2697.721,"min":1200.0,"max":3600.0},{"current":2697.892,"min":1200.0,"max":3600.0},{"current":2696.35,"min":1200.0,"max":3600.0},{"current":2694.785,"min":1200.0,"max":3600.0},{"current":2748.385,"min":1200.0,"max":3600.0},{"current":2695.975,"min":1200.0,"max":3600.0},{"current":2694.866,"min":1200.0,"max":3600.0},{"current":2694.082,"min":1200.0,"max":3600.0},{"current":2694.433,"min":1200.0,"max":3600.0},{"current":2785.19,"min":1200.0,"max":3600.0},{"current":2792.522,"min":1200.0,"max":3600.0},{"current":2793.708,"min":1200.0,"max":3600.0},{"current":2760.472,"min":1200.0,"max":3600.0},{"current":2694.66,"min":1200.0,"max":3600.0},{"current":2700.235,"min":1200.0,"max":3600.0},{"current":2696.859,"min":1200.0,"max":3600.0},{"current":2627.819,"min":1200.0,"max":3600.0},{"current":2777.521,"min":1200.0,"max":3600.0},{"current":2659.62,"min":1200.0,"max":3600.0},{"current":2789.977,"min":1200.0,"max":3600.0},{"current":2819.134,"min":1200.0,"max":3600.0},{"current":2694.46,"min":1200.0,"max":3600.0},{"current":2692.573,"min":1200.0,"max":3600.0},{"current":2695.237,"min":1200.0,"max":3600.0},{"current":2659.587,"min":1200.0,"max":3600.0},{"current":2696.747,"min":1200.0,"max":3600.0},{"current":2694.59,"min":1200.0,"max":3600.0},{"current":2711.737,"min":1200.0,"max":3600.0},{"current":2815.219,"min":1200.0,"max":3600.0},{"current":2694.381,"min":1200.0,"max":3600.0},{"current":2710.509,"min":1200.0,"max":3600.0},{"current":2698.104,"min":1200.0,"max":3600.0},{"current":2746.838,"min":1200.0,"max":3600.0},{"current":2694.626,"min":1200.0,"max":3600.0},{"current":2695.68,"min":1200.0,"max":3600.0},{"current":2665.952,"min":1200.0,"max":3600.0},{"current":2805.712,"min":1200.0,"max":3600.0},{"current":2694.311,"min":1200.0,"max":3600.0},{"current":2695.4,"min":1200.0,"max":3600.0},{"current":2694.066,"min":1200.0,"max":3600.0},{"current":2696.608,"min":1200.0,"max":3600.0},{"current":2693.256,"min":1200.0,"max":3600.0},{"current":2694.498,"min":1200.0,"max":3600.0},{"current":2694.974,"min":1200.0,"max":3600.0},{"current":2693.372,"min":1200.0,"max":3600.0},{"current":2698.166,"min":1200.0,"max":3600.0},{"current":2694.472,"min":1200.0,"max":3600.0},{"current":2693.069,"min":1200.0,"max":3600.0},{"current":2694.46,"min":1200.0,"max":3600.0},{"current":2771.857,"min":1200.0,"max":3600.0},{"current":2763.669,"min":1200.0,"max":3600.0},{"current":2739.967,"min":1200.0,"max":3600.0},{"current":2754.036,"min":1200.0,"max":3600.0},{"current":2778.036,"min":1200.0,"max":3600.0},{"current":2781.359,"min":1200.0,"max":3600.0},{"current":2761.759,"min":1200.0,"max":3600.0},{"current":2771.436,"min":1200.0,"max":3600.0}],"disk_write_speed":70.29720137936107,"process_ids":[2113736,2113939]}
+{"timestamp":1678268677.044215,"rapl_power_draw_absolute":168.8819010110041,"rapl_estimated_attributable_power_draw":8.092116461745409,"cpu_time_seconds":{"2113736":{"user":1456.04,"system":283.52,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":23.54,"system":34.75,"children_user":10.01,"children_system":346.86,"iowait":36.52}},"average_relative_cpu_utilization":0.05429237438843681,"absolute_cpu_utilization":1.0037304206832678,"relative_mem_usage":0.017413120612586083,"absolute_mem_usage":3602772992.0,"absolute_mem_percent_usage":0.0066603434350793874,"mem_info_per_process":{"2113736":{"rss":3542085632,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3138433024,"pss":3301281792,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":707.1500000000001,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.268,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":26.0,"mem":17.333333333333332,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":26.8,"mem":18.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.232375,0.23275,0.22974999999999998],"cpu_freq":[{"current":2733.169,"min":1200.0,"max":3600.0},{"current":2837.063,"min":1200.0,"max":3600.0},{"current":2697.578,"min":1200.0,"max":3600.0},{"current":2637.046,"min":1200.0,"max":3600.0},{"current":2697.243,"min":1200.0,"max":3600.0},{"current":2851.181,"min":1200.0,"max":3600.0},{"current":2707.722,"min":1200.0,"max":3600.0},{"current":2866.02,"min":1200.0,"max":3600.0},{"current":2709.186,"min":1200.0,"max":3600.0},{"current":2703.393,"min":1200.0,"max":3600.0},{"current":2694.744,"min":1200.0,"max":3600.0},{"current":2621.645,"min":1200.0,"max":3600.0},{"current":2698.223,"min":1200.0,"max":3600.0},{"current":2695.438,"min":1200.0,"max":3600.0},{"current":2784.593,"min":1200.0,"max":3600.0},{"current":2694.94,"min":1200.0,"max":3600.0},{"current":2698.825,"min":1200.0,"max":3600.0},{"current":2695.659,"min":1200.0,"max":3600.0},{"current":2702.273,"min":1200.0,"max":3600.0},{"current":2693.92,"min":1200.0,"max":3600.0},{"current":2785.799,"min":1200.0,"max":3600.0},{"current":2695.592,"min":1200.0,"max":3600.0},{"current":2695.978,"min":1200.0,"max":3600.0},{"current":2696.271,"min":1200.0,"max":3600.0},{"current":2693.877,"min":1200.0,"max":3600.0},{"current":2695.109,"min":1200.0,"max":3600.0},{"current":2699.805,"min":1200.0,"max":3600.0},{"current":2696.664,"min":1200.0,"max":3600.0},{"current":2693.799,"min":1200.0,"max":3600.0},{"current":2696.316,"min":1200.0,"max":3600.0},{"current":2695.904,"min":1200.0,"max":3600.0},{"current":2716.199,"min":1200.0,"max":3600.0},{"current":2695.559,"min":1200.0,"max":3600.0},{"current":2623.945,"min":1200.0,"max":3600.0},{"current":2694.855,"min":1200.0,"max":3600.0},{"current":2771.612,"min":1200.0,"max":3600.0},{"current":2661.592,"min":1200.0,"max":3600.0},{"current":2733.648,"min":1200.0,"max":3600.0},{"current":2794.479,"min":1200.0,"max":3600.0},{"current":2791.628,"min":1200.0,"max":3600.0},{"current":2695.198,"min":1200.0,"max":3600.0},{"current":2693.656,"min":1200.0,"max":3600.0},{"current":2808.44,"min":1200.0,"max":3600.0},{"current":2799.165,"min":1200.0,"max":3600.0},{"current":2820.425,"min":1200.0,"max":3600.0},{"current":2697.867,"min":1200.0,"max":3600.0},{"current":2694.083,"min":1200.0,"max":3600.0},{"current":2634.375,"min":1200.0,"max":3600.0},{"current":2741.04,"min":1200.0,"max":3600.0},{"current":2732.429,"min":1200.0,"max":3600.0},{"current":2695.308,"min":1200.0,"max":3600.0},{"current":2835.668,"min":1200.0,"max":3600.0},{"current":2697.572,"min":1200.0,"max":3600.0},{"current":2695.973,"min":1200.0,"max":3600.0},{"current":2695.485,"min":1200.0,"max":3600.0},{"current":2745.802,"min":1200.0,"max":3600.0},{"current":2694.13,"min":1200.0,"max":3600.0},{"current":2693.872,"min":1200.0,"max":3600.0},{"current":2695.789,"min":1200.0,"max":3600.0},{"current":2807.53,"min":1200.0,"max":3600.0},{"current":2752.771,"min":1200.0,"max":3600.0},{"current":2695.451,"min":1200.0,"max":3600.0},{"current":2693.773,"min":1200.0,"max":3600.0},{"current":2694.394,"min":1200.0,"max":3600.0},{"current":2694.661,"min":1200.0,"max":3600.0},{"current":2694.789,"min":1200.0,"max":3600.0},{"current":2695.439,"min":1200.0,"max":3600.0},{"current":2696.05,"min":1200.0,"max":3600.0},{"current":2694.76,"min":1200.0,"max":3600.0},{"current":2695.738,"min":1200.0,"max":3600.0},{"current":2694.017,"min":1200.0,"max":3600.0},{"current":2695.822,"min":1200.0,"max":3600.0},{"current":2694.978,"min":1200.0,"max":3600.0},{"current":2763.591,"min":1200.0,"max":3600.0},{"current":2788.001,"min":1200.0,"max":3600.0},{"current":2779.187,"min":1200.0,"max":3600.0},{"current":2784.154,"min":1200.0,"max":3600.0},{"current":2770.66,"min":1200.0,"max":3600.0},{"current":2774.443,"min":1200.0,"max":3600.0},{"current":2775.065,"min":1200.0,"max":3600.0}],"disk_write_speed":71.62248091505289,"process_ids":[2113736,2113939]}
+{"timestamp":1678268693.144233,"rapl_power_draw_absolute":168.23010731765726,"rapl_estimated_attributable_power_draw":8.32280074188245,"cpu_time_seconds":{"2113736":{"user":1469.69,"system":285.97,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":23.73,"system":35.11,"children_user":10.1,"children_system":350.06,"iowait":36.86}},"average_relative_cpu_utilization":0.05609868789501557,"absolute_cpu_utilization":0.9987208128305564,"relative_mem_usage":0.01796051677457034,"absolute_mem_usage":3714163712.0,"absolute_mem_percent_usage":0.006866268274731556,"mem_info_per_process":{"2113736":{"rss":3649110016,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3249823744,"pss":3412672512,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":477.69000000000005,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.29,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":9.0,"mem":5.5,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":14.0,"mem":8.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":29.0,"mem":21.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.23337500000000003,0.233,0.229875],"cpu_freq":[{"current":2694.553,"min":1200.0,"max":3600.0},{"current":2799.482,"min":1200.0,"max":3600.0},{"current":2712.584,"min":1200.0,"max":3600.0},{"current":2693.537,"min":1200.0,"max":3600.0},{"current":2695.731,"min":1200.0,"max":3600.0},{"current":2764.777,"min":1200.0,"max":3600.0},{"current":2694.777,"min":1200.0,"max":3600.0},{"current":2772.105,"min":1200.0,"max":3600.0},{"current":2713.537,"min":1200.0,"max":3600.0},{"current":2695.046,"min":1200.0,"max":3600.0},{"current":2734.546,"min":1200.0,"max":3600.0},{"current":2750.413,"min":1200.0,"max":3600.0},{"current":2696.156,"min":1200.0,"max":3600.0},{"current":2697.176,"min":1200.0,"max":3600.0},{"current":2696.346,"min":1200.0,"max":3600.0},{"current":2710.207,"min":1200.0,"max":3600.0},{"current":2697.493,"min":1200.0,"max":3600.0},{"current":2696.225,"min":1200.0,"max":3600.0},{"current":2695.906,"min":1200.0,"max":3600.0},{"current":2661.575,"min":1200.0,"max":3600.0},{"current":2779.757,"min":1200.0,"max":3600.0},{"current":2703.411,"min":1200.0,"max":3600.0},{"current":2696.035,"min":1200.0,"max":3600.0},{"current":2696.982,"min":1200.0,"max":3600.0},{"current":2696.401,"min":1200.0,"max":3600.0},{"current":2696.376,"min":1200.0,"max":3600.0},{"current":2696.661,"min":1200.0,"max":3600.0},{"current":2698.245,"min":1200.0,"max":3600.0},{"current":2696.299,"min":1200.0,"max":3600.0},{"current":2778.889,"min":1200.0,"max":3600.0},{"current":2696.549,"min":1200.0,"max":3600.0},{"current":2698.118,"min":1200.0,"max":3600.0},{"current":2697.668,"min":1200.0,"max":3600.0},{"current":2756.048,"min":1200.0,"max":3600.0},{"current":2793.459,"min":1200.0,"max":3600.0},{"current":2795.076,"min":1200.0,"max":3600.0},{"current":2709.452,"min":1200.0,"max":3600.0},{"current":2749.433,"min":1200.0,"max":3600.0},{"current":2694.689,"min":1200.0,"max":3600.0},{"current":2694.62,"min":1200.0,"max":3600.0},{"current":2709.397,"min":1200.0,"max":3600.0},{"current":2691.137,"min":1200.0,"max":3600.0},{"current":2789.068,"min":1200.0,"max":3600.0},{"current":2845.625,"min":1200.0,"max":3600.0},{"current":2844.233,"min":1200.0,"max":3600.0},{"current":2866.524,"min":1200.0,"max":3600.0},{"current":2705.296,"min":1200.0,"max":3600.0},{"current":2632.464,"min":1200.0,"max":3600.0},{"current":2697.261,"min":1200.0,"max":3600.0},{"current":2698.186,"min":1200.0,"max":3600.0},{"current":2697.831,"min":1200.0,"max":3600.0},{"current":2800.135,"min":1200.0,"max":3600.0},{"current":2698.655,"min":1200.0,"max":3600.0},{"current":2695.568,"min":1200.0,"max":3600.0},{"current":2694.732,"min":1200.0,"max":3600.0},{"current":2693.936,"min":1200.0,"max":3600.0},{"current":2693.781,"min":1200.0,"max":3600.0},{"current":2694.339,"min":1200.0,"max":3600.0},{"current":2752.972,"min":1200.0,"max":3600.0},{"current":2810.695,"min":1200.0,"max":3600.0},{"current":2794.186,"min":1200.0,"max":3600.0},{"current":2695.446,"min":1200.0,"max":3600.0},{"current":2696.8,"min":1200.0,"max":3600.0},{"current":2694.18,"min":1200.0,"max":3600.0},{"current":2695.08,"min":1200.0,"max":3600.0},{"current":2697.418,"min":1200.0,"max":3600.0},{"current":2696.455,"min":1200.0,"max":3600.0},{"current":2693.979,"min":1200.0,"max":3600.0},{"current":2694.286,"min":1200.0,"max":3600.0},{"current":2655.765,"min":1200.0,"max":3600.0},{"current":2693.648,"min":1200.0,"max":3600.0},{"current":2694.959,"min":1200.0,"max":3600.0},{"current":2694.426,"min":1200.0,"max":3600.0},{"current":2675.805,"min":1200.0,"max":3600.0},{"current":2676.056,"min":1200.0,"max":3600.0},{"current":2687.906,"min":1200.0,"max":3600.0},{"current":2664.365,"min":1200.0,"max":3600.0},{"current":2700.508,"min":1200.0,"max":3600.0},{"current":2779.791,"min":1200.0,"max":3600.0},{"current":2751.221,"min":1200.0,"max":3600.0}],"disk_write_speed":72.76379900233545,"process_ids":[2113736,2113939]}
+{"timestamp":1678268708.632176,"rapl_power_draw_absolute":170.23867483254548,"rapl_estimated_attributable_power_draw":7.926195318228502,"cpu_time_seconds":{"2113736":{"user":1482.81,"system":288.35,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":23.95,"system":35.45,"children_user":10.2,"children_system":353.2,"iowait":37.21}},"average_relative_cpu_utilization":0.05262958569319473,"absolute_cpu_utilization":0.9987490515903888,"relative_mem_usage":0.017275913084290318,"absolute_mem_usage":3570381824.0,"absolute_mem_percent_usage":0.0066004628087889166,"mem_info_per_process":{"2113736":{"rss":3507486720,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3106041856,"pss":3268890624,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":478.5400000000001,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.24600000000000002,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":14.333333333333334,"mem":8.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":16.666666666666668,"mem":9.333333333333334,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.6,"mem":17.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.233875,0.23312499999999997,0.22999999999999998],"cpu_freq":[{"current":2695.348,"min":1200.0,"max":3600.0},{"current":2695.585,"min":1200.0,"max":3600.0},{"current":2779.286,"min":1200.0,"max":3600.0},{"current":2645.195,"min":1200.0,"max":3600.0},{"current":2691.837,"min":1200.0,"max":3600.0},{"current":2865.54,"min":1200.0,"max":3600.0},{"current":2837.811,"min":1200.0,"max":3600.0},{"current":2801.232,"min":1200.0,"max":3600.0},{"current":2698.183,"min":1200.0,"max":3600.0},{"current":2695.933,"min":1200.0,"max":3600.0},{"current":2697.613,"min":1200.0,"max":3600.0},{"current":2705.05,"min":1200.0,"max":3600.0},{"current":2714.998,"min":1200.0,"max":3600.0},{"current":2700.293,"min":1200.0,"max":3600.0},{"current":2700.419,"min":1200.0,"max":3600.0},{"current":2694.637,"min":1200.0,"max":3600.0},{"current":2702.399,"min":1200.0,"max":3600.0},{"current":2696.918,"min":1200.0,"max":3600.0},{"current":2701.217,"min":1200.0,"max":3600.0},{"current":2629.278,"min":1200.0,"max":3600.0},{"current":2782.908,"min":1200.0,"max":3600.0},{"current":2752.541,"min":1200.0,"max":3600.0},{"current":2698.319,"min":1200.0,"max":3600.0},{"current":2696.774,"min":1200.0,"max":3600.0},{"current":2699.196,"min":1200.0,"max":3600.0},{"current":2697.449,"min":1200.0,"max":3600.0},{"current":2696.18,"min":1200.0,"max":3600.0},{"current":2697.337,"min":1200.0,"max":3600.0},{"current":2695.722,"min":1200.0,"max":3600.0},{"current":2767.277,"min":1200.0,"max":3600.0},{"current":2696.839,"min":1200.0,"max":3600.0},{"current":2703.103,"min":1200.0,"max":3600.0},{"current":2697.3,"min":1200.0,"max":3600.0},{"current":2695.344,"min":1200.0,"max":3600.0},{"current":2694.011,"min":1200.0,"max":3600.0},{"current":2695.641,"min":1200.0,"max":3600.0},{"current":2731.155,"min":1200.0,"max":3600.0},{"current":2762.188,"min":1200.0,"max":3600.0},{"current":2693.464,"min":1200.0,"max":3600.0},{"current":2696.35,"min":1200.0,"max":3600.0},{"current":2717.004,"min":1200.0,"max":3600.0},{"current":2695.969,"min":1200.0,"max":3600.0},{"current":2843.648,"min":1200.0,"max":3600.0},{"current":2852.929,"min":1200.0,"max":3600.0},{"current":2813.61,"min":1200.0,"max":3600.0},{"current":2625.016,"min":1200.0,"max":3600.0},{"current":2867.395,"min":1200.0,"max":3600.0},{"current":2646.791,"min":1200.0,"max":3600.0},{"current":2697.378,"min":1200.0,"max":3600.0},{"current":2694.188,"min":1200.0,"max":3600.0},{"current":2694.813,"min":1200.0,"max":3600.0},{"current":2849.451,"min":1200.0,"max":3600.0},{"current":2723.723,"min":1200.0,"max":3600.0},{"current":2696.926,"min":1200.0,"max":3600.0},{"current":2695.8,"min":1200.0,"max":3600.0},{"current":2737.129,"min":1200.0,"max":3600.0},{"current":2693.909,"min":1200.0,"max":3600.0},{"current":2695.209,"min":1200.0,"max":3600.0},{"current":2694.377,"min":1200.0,"max":3600.0},{"current":2852.548,"min":1200.0,"max":3600.0},{"current":2694.167,"min":1200.0,"max":3600.0},{"current":2694.37,"min":1200.0,"max":3600.0},{"current":2693.781,"min":1200.0,"max":3600.0},{"current":2695.839,"min":1200.0,"max":3600.0},{"current":2695.871,"min":1200.0,"max":3600.0},{"current":2696.755,"min":1200.0,"max":3600.0},{"current":2695.518,"min":1200.0,"max":3600.0},{"current":2695.559,"min":1200.0,"max":3600.0},{"current":2693.459,"min":1200.0,"max":3600.0},{"current":2698.235,"min":1200.0,"max":3600.0},{"current":2697.201,"min":1200.0,"max":3600.0},{"current":2695.451,"min":1200.0,"max":3600.0},{"current":2693.74,"min":1200.0,"max":3600.0},{"current":2763.103,"min":1200.0,"max":3600.0},{"current":2776.518,"min":1200.0,"max":3600.0},{"current":2791.825,"min":1200.0,"max":3600.0},{"current":2784.73,"min":1200.0,"max":3600.0},{"current":2727.861,"min":1200.0,"max":3600.0},{"current":2726.58,"min":1200.0,"max":3600.0},{"current":2693.983,"min":1200.0,"max":3600.0}],"disk_write_speed":72.87666179223265,"process_ids":[2113736,2113939]}
+{"timestamp":1678268724.30426,"rapl_power_draw_absolute":167.21618251920327,"rapl_estimated_attributable_power_draw":8.402240658985558,"cpu_time_seconds":{"2113736":{"user":1495.99,"system":290.85,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":24.15,"system":35.8,"children_user":10.3,"children_system":356.34,"iowait":37.56}},"average_relative_cpu_utilization":0.057294505635234104,"absolute_cpu_utilization":1.0037074085125615,"relative_mem_usage":0.01689063450652414,"absolute_mem_usage":3502085120.0,"absolute_mem_percent_usage":0.006474204644554304,"mem_info_per_process":{"2113736":{"rss":3443773440,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3037745152,"pss":3200593920,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":597.5900000000001,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.2,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":21.0,"mem":13.75,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":7.0,"mem":4.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":20.666666666666668,"mem":12.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":20.0,"mem":12.25,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23399999999999999,0.23312499999999997,0.22999999999999998],"cpu_freq":[{"current":2700.719,"min":1200.0,"max":3600.0},{"current":2699.667,"min":1200.0,"max":3600.0},{"current":2626.522,"min":1200.0,"max":3600.0},{"current":2632.941,"min":1200.0,"max":3600.0},{"current":2764.126,"min":1200.0,"max":3600.0},{"current":2847.978,"min":1200.0,"max":3600.0},{"current":2836.134,"min":1200.0,"max":3600.0},{"current":2864.405,"min":1200.0,"max":3600.0},{"current":2700.781,"min":1200.0,"max":3600.0},{"current":2696.174,"min":1200.0,"max":3600.0},{"current":2693.947,"min":1200.0,"max":3600.0},{"current":2847.383,"min":1200.0,"max":3600.0},{"current":2694.803,"min":1200.0,"max":3600.0},{"current":2724.005,"min":1200.0,"max":3600.0},{"current":2735.732,"min":1200.0,"max":3600.0},{"current":2698.607,"min":1200.0,"max":3600.0},{"current":2748.943,"min":1200.0,"max":3600.0},{"current":2697.147,"min":1200.0,"max":3600.0},{"current":2695.528,"min":1200.0,"max":3600.0},{"current":2696.685,"min":1200.0,"max":3600.0},{"current":2697.791,"min":1200.0,"max":3600.0},{"current":2778.175,"min":1200.0,"max":3600.0},{"current":2698.423,"min":1200.0,"max":3600.0},{"current":2697.407,"min":1200.0,"max":3600.0},{"current":2697.835,"min":1200.0,"max":3600.0},{"current":2694.263,"min":1200.0,"max":3600.0},{"current":2696.913,"min":1200.0,"max":3600.0},{"current":2698.661,"min":1200.0,"max":3600.0},{"current":2693.809,"min":1200.0,"max":3600.0},{"current":2761.983,"min":1200.0,"max":3600.0},{"current":2696.743,"min":1200.0,"max":3600.0},{"current":2698.719,"min":1200.0,"max":3600.0},{"current":2696.43,"min":1200.0,"max":3600.0},{"current":2732.019,"min":1200.0,"max":3600.0},{"current":2750.641,"min":1200.0,"max":3600.0},{"current":2694.497,"min":1200.0,"max":3600.0},{"current":2692.226,"min":1200.0,"max":3600.0},{"current":2696.397,"min":1200.0,"max":3600.0},{"current":2692.468,"min":1200.0,"max":3600.0},{"current":2747.059,"min":1200.0,"max":3600.0},{"current":2699.423,"min":1200.0,"max":3600.0},{"current":2706.897,"min":1200.0,"max":3600.0},{"current":2795.663,"min":1200.0,"max":3600.0},{"current":2839.52,"min":1200.0,"max":3600.0},{"current":2869.154,"min":1200.0,"max":3600.0},{"current":2805.766,"min":1200.0,"max":3600.0},{"current":2621.272,"min":1200.0,"max":3600.0},{"current":2697.997,"min":1200.0,"max":3600.0},{"current":2746.623,"min":1200.0,"max":3600.0},{"current":2695.315,"min":1200.0,"max":3600.0},{"current":2695.019,"min":1200.0,"max":3600.0},{"current":2624.878,"min":1200.0,"max":3600.0},{"current":2696.368,"min":1200.0,"max":3600.0},{"current":2703.773,"min":1200.0,"max":3600.0},{"current":2697.957,"min":1200.0,"max":3600.0},{"current":2694.117,"min":1200.0,"max":3600.0},{"current":2700.462,"min":1200.0,"max":3600.0},{"current":2696.25,"min":1200.0,"max":3600.0},{"current":2695.88,"min":1200.0,"max":3600.0},{"current":2787.298,"min":1200.0,"max":3600.0},{"current":2695.247,"min":1200.0,"max":3600.0},{"current":2696.765,"min":1200.0,"max":3600.0},{"current":2694.481,"min":1200.0,"max":3600.0},{"current":2694.349,"min":1200.0,"max":3600.0},{"current":2696.451,"min":1200.0,"max":3600.0},{"current":2714.894,"min":1200.0,"max":3600.0},{"current":2694.253,"min":1200.0,"max":3600.0},{"current":2696.848,"min":1200.0,"max":3600.0},{"current":2697.02,"min":1200.0,"max":3600.0},{"current":2695.113,"min":1200.0,"max":3600.0},{"current":2694.764,"min":1200.0,"max":3600.0},{"current":2694.264,"min":1200.0,"max":3600.0},{"current":2693.108,"min":1200.0,"max":3600.0},{"current":2674.808,"min":1200.0,"max":3600.0},{"current":2681.002,"min":1200.0,"max":3600.0},{"current":2734.641,"min":1200.0,"max":3600.0},{"current":2770.25,"min":1200.0,"max":3600.0},{"current":2761.484,"min":1200.0,"max":3600.0},{"current":2777.025,"min":1200.0,"max":3600.0},{"current":2693.966,"min":1200.0,"max":3600.0}],"disk_write_speed":72.84553236311883,"process_ids":[2113736,2113939]}
+{"timestamp":1678268740.012216,"rapl_power_draw_absolute":168.6809771770441,"rapl_estimated_attributable_power_draw":8.063636383059515,"cpu_time_seconds":{"2113736":{"user":1509.25,"system":293.31,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":24.37,"system":36.14,"children_user":10.38,"children_system":359.49,"iowait":37.91}},"average_relative_cpu_utilization":0.054424228349284,"absolute_cpu_utilization":1.0040221222275851,"relative_mem_usage":0.01643493701500267,"absolute_mem_usage":3394208768.0,"absolute_mem_percent_usage":0.006274776716555805,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929868800,"pss":3092717568,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":483.61,"nvidia_estimated_attributable_power_draw":70.09,"average_gpu_estimated_utilization_absolute":0.2475,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":9.5,"mem":6.5,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.0,"mem":3.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":24.75,"mem":17.5,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":70.09},"cpu_count_adjusted_average_load":[0.23875000000000002,0.234375,0.2305],"cpu_freq":[{"current":2700.987,"min":1200.0,"max":3600.0},{"current":2695.342,"min":1200.0,"max":3600.0},{"current":2621.358,"min":1200.0,"max":3600.0},{"current":2698.161,"min":1200.0,"max":3600.0},{"current":2875.268,"min":1200.0,"max":3600.0},{"current":2815.099,"min":1200.0,"max":3600.0},{"current":2850.743,"min":1200.0,"max":3600.0},{"current":2872.886,"min":1200.0,"max":3600.0},{"current":2697.293,"min":1200.0,"max":3600.0},{"current":2694.912,"min":1200.0,"max":3600.0},{"current":2695.919,"min":1200.0,"max":3600.0},{"current":2849.083,"min":1200.0,"max":3600.0},{"current":2697.583,"min":1200.0,"max":3600.0},{"current":2697.04,"min":1200.0,"max":3600.0},{"current":2719.269,"min":1200.0,"max":3600.0},{"current":2695.585,"min":1200.0,"max":3600.0},{"current":2697.987,"min":1200.0,"max":3600.0},{"current":2695.319,"min":1200.0,"max":3600.0},{"current":2694.989,"min":1200.0,"max":3600.0},{"current":2698.464,"min":1200.0,"max":3600.0},{"current":2733.833,"min":1200.0,"max":3600.0},{"current":2781.776,"min":1200.0,"max":3600.0},{"current":2699.329,"min":1200.0,"max":3600.0},{"current":2696.394,"min":1200.0,"max":3600.0},{"current":2699.277,"min":1200.0,"max":3600.0},{"current":2700.446,"min":1200.0,"max":3600.0},{"current":2696.725,"min":1200.0,"max":3600.0},{"current":2697.663,"min":1200.0,"max":3600.0},{"current":2696.238,"min":1200.0,"max":3600.0},{"current":2693.843,"min":1200.0,"max":3600.0},{"current":2695.66,"min":1200.0,"max":3600.0},{"current":2697.605,"min":1200.0,"max":3600.0},{"current":2698.138,"min":1200.0,"max":3600.0},{"current":2719.67,"min":1200.0,"max":3600.0},{"current":2712.27,"min":1200.0,"max":3600.0},{"current":2681.406,"min":1200.0,"max":3600.0},{"current":2726.231,"min":1200.0,"max":3600.0},{"current":2752.081,"min":1200.0,"max":3600.0},{"current":2641.58,"min":1200.0,"max":3600.0},{"current":2696.117,"min":1200.0,"max":3600.0},{"current":2704.626,"min":1200.0,"max":3600.0},{"current":2696.975,"min":1200.0,"max":3600.0},{"current":2840.21,"min":1200.0,"max":3600.0},{"current":2865.226,"min":1200.0,"max":3600.0},{"current":2867.877,"min":1200.0,"max":3600.0},{"current":2659.531,"min":1200.0,"max":3600.0},{"current":2657.791,"min":1200.0,"max":3600.0},{"current":2693.139,"min":1200.0,"max":3600.0},{"current":2695.19,"min":1200.0,"max":3600.0},{"current":2696.081,"min":1200.0,"max":3600.0},{"current":2694.428,"min":1200.0,"max":3600.0},{"current":2718.206,"min":1200.0,"max":3600.0},{"current":2695.748,"min":1200.0,"max":3600.0},{"current":2695.725,"min":1200.0,"max":3600.0},{"current":2696.99,"min":1200.0,"max":3600.0},{"current":2696.475,"min":1200.0,"max":3600.0},{"current":2694.364,"min":1200.0,"max":3600.0},{"current":2692.565,"min":1200.0,"max":3600.0},{"current":2711.638,"min":1200.0,"max":3600.0},{"current":2862.601,"min":1200.0,"max":3600.0},{"current":2736.719,"min":1200.0,"max":3600.0},{"current":2690.843,"min":1200.0,"max":3600.0},{"current":2694.52,"min":1200.0,"max":3600.0},{"current":2695.98,"min":1200.0,"max":3600.0},{"current":2693.765,"min":1200.0,"max":3600.0},{"current":2694.3,"min":1200.0,"max":3600.0},{"current":2694.023,"min":1200.0,"max":3600.0},{"current":2694.817,"min":1200.0,"max":3600.0},{"current":2695.418,"min":1200.0,"max":3600.0},{"current":2695.528,"min":1200.0,"max":3600.0},{"current":2698.021,"min":1200.0,"max":3600.0},{"current":2693.159,"min":1200.0,"max":3600.0},{"current":2694.12,"min":1200.0,"max":3600.0},{"current":2785.166,"min":1200.0,"max":3600.0},{"current":2788.98,"min":1200.0,"max":3600.0},{"current":2777.186,"min":1200.0,"max":3600.0},{"current":2779.118,"min":1200.0,"max":3600.0},{"current":2775.492,"min":1200.0,"max":3600.0},{"current":2791.977,"min":1200.0,"max":3600.0},{"current":2693.611,"min":1200.0,"max":3600.0}],"disk_write_speed":72.57589219114409,"process_ids":[2113736,2113939]}
+{"timestamp":1678268755.712284,"rapl_power_draw_absolute":167.53825187458807,"rapl_estimated_attributable_power_draw":8.536807174468883,"cpu_time_seconds":{"2113736":{"user":1522.44,"system":295.83,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":24.57,"system":36.49,"children_user":10.49,"children_system":362.63,"iowait":38.25}},"average_relative_cpu_utilization":0.05802630151363759,"absolute_cpu_utilization":1.0087282720597976,"relative_mem_usage":0.016433622079567833,"absolute_mem_usage":3394206720.0,"absolute_mem_percent_usage":0.0062747729304767534,"mem_info_per_process":{"2113736":{"rss":3357995008,"vms":27276865536,"shared":828198912,"text":2633728,"lib":0,"data":5280497664,"dirty":0,"uss":2929868800,"pss":3092715520,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":664.2,"nvidia_estimated_attributable_power_draw":251.47,"average_gpu_estimated_utilization_absolute":0.2275,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":8.0,"mem":4.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":22.75,"mem":15.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":251.47},"cpu_count_adjusted_average_load":[0.236625,0.234125,0.2305],"cpu_freq":[{"current":2702.915,"min":1200.0,"max":3600.0},{"current":2696.654,"min":1200.0,"max":3600.0},{"current":2692.265,"min":1200.0,"max":3600.0},{"current":2666.68,"min":1200.0,"max":3600.0},{"current":2692.819,"min":1200.0,"max":3600.0},{"current":2836.848,"min":1200.0,"max":3600.0},{"current":2854.076,"min":1200.0,"max":3600.0},{"current":2866.937,"min":1200.0,"max":3600.0},{"current":2702.541,"min":1200.0,"max":3600.0},{"current":2721.796,"min":1200.0,"max":3600.0},{"current":2695.295,"min":1200.0,"max":3600.0},{"current":2858.345,"min":1200.0,"max":3600.0},{"current":2697.396,"min":1200.0,"max":3600.0},{"current":2696.203,"min":1200.0,"max":3600.0},{"current":2699.441,"min":1200.0,"max":3600.0},{"current":2695.966,"min":1200.0,"max":3600.0},{"current":2697.586,"min":1200.0,"max":3600.0},{"current":2695.402,"min":1200.0,"max":3600.0},{"current":2697.21,"min":1200.0,"max":3600.0},{"current":2695.562,"min":1200.0,"max":3600.0},{"current":2696.308,"min":1200.0,"max":3600.0},{"current":2774.261,"min":1200.0,"max":3600.0},{"current":2695.236,"min":1200.0,"max":3600.0},{"current":2697.999,"min":1200.0,"max":3600.0},{"current":2696.061,"min":1200.0,"max":3600.0},{"current":2696.306,"min":1200.0,"max":3600.0},{"current":2697.855,"min":1200.0,"max":3600.0},{"current":2695.395,"min":1200.0,"max":3600.0},{"current":2697.362,"min":1200.0,"max":3600.0},{"current":2727.025,"min":1200.0,"max":3600.0},{"current":2700.9,"min":1200.0,"max":3600.0},{"current":2697.769,"min":1200.0,"max":3600.0},{"current":2702.926,"min":1200.0,"max":3600.0},{"current":2733.533,"min":1200.0,"max":3600.0},{"current":2750.87,"min":1200.0,"max":3600.0},{"current":2697.759,"min":1200.0,"max":3600.0},{"current":2728.752,"min":1200.0,"max":3600.0},{"current":2751.202,"min":1200.0,"max":3600.0},{"current":2695.197,"min":1200.0,"max":3600.0},{"current":2700.189,"min":1200.0,"max":3600.0},{"current":2695.37,"min":1200.0,"max":3600.0},{"current":2696.505,"min":1200.0,"max":3600.0},{"current":2867.931,"min":1200.0,"max":3600.0},{"current":2851.472,"min":1200.0,"max":3600.0},{"current":2844.089,"min":1200.0,"max":3600.0},{"current":2796.2,"min":1200.0,"max":3600.0},{"current":2706.148,"min":1200.0,"max":3600.0},{"current":2625.497,"min":1200.0,"max":3600.0},{"current":2694.384,"min":1200.0,"max":3600.0},{"current":2694.672,"min":1200.0,"max":3600.0},{"current":2695.481,"min":1200.0,"max":3600.0},{"current":2692.971,"min":1200.0,"max":3600.0},{"current":2695.698,"min":1200.0,"max":3600.0},{"current":2694.597,"min":1200.0,"max":3600.0},{"current":2694.152,"min":1200.0,"max":3600.0},{"current":2700.543,"min":1200.0,"max":3600.0},{"current":2697.069,"min":1200.0,"max":3600.0},{"current":2695.731,"min":1200.0,"max":3600.0},{"current":2697.815,"min":1200.0,"max":3600.0},{"current":2818.108,"min":1200.0,"max":3600.0},{"current":2783.92,"min":1200.0,"max":3600.0},{"current":2750.624,"min":1200.0,"max":3600.0},{"current":2693.388,"min":1200.0,"max":3600.0},{"current":2694.517,"min":1200.0,"max":3600.0},{"current":2694.634,"min":1200.0,"max":3600.0},{"current":2696.188,"min":1200.0,"max":3600.0},{"current":2695.216,"min":1200.0,"max":3600.0},{"current":2694.751,"min":1200.0,"max":3600.0},{"current":2694.602,"min":1200.0,"max":3600.0},{"current":2694.739,"min":1200.0,"max":3600.0},{"current":2694.909,"min":1200.0,"max":3600.0},{"current":2700.319,"min":1200.0,"max":3600.0},{"current":2695.379,"min":1200.0,"max":3600.0},{"current":2764.133,"min":1200.0,"max":3600.0},{"current":2781.519,"min":1200.0,"max":3600.0},{"current":2788.145,"min":1200.0,"max":3600.0},{"current":2761.216,"min":1200.0,"max":3600.0},{"current":2766.92,"min":1200.0,"max":3600.0},{"current":2776.845,"min":1200.0,"max":3600.0},{"current":2693.921,"min":1200.0,"max":3600.0}],"disk_write_speed":72.93128804544234,"process_ids":[2113736,2113939]}
+{"timestamp":1678268771.404269,"rapl_power_draw_absolute":168.8331266201953,"rapl_estimated_attributable_power_draw":8.34513623028251,"cpu_time_seconds":{"2113736":{"user":1535.43,"system":298.53,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":24.74,"system":36.86,"children_user":10.58,"children_system":365.82,"iowait":38.6}},"average_relative_cpu_utilization":0.05578362457730445,"absolute_cpu_utilization":1.0037223333007925,"relative_mem_usage":0.019233567633150945,"absolute_mem_usage":3990549504.0,"absolute_mem_percent_usage":0.007377214787149627,"mem_info_per_process":{"2113736":{"rss":3923947520,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3526209536,"pss":3689058304,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":487.3,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.20600000000000002,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":25.0,"mem":16.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":4.5,"mem":2.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":20.6,"mem":13.2,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23562500000000003,0.23399999999999999,0.2305],"cpu_freq":[{"current":2694.44,"min":1200.0,"max":3600.0},{"current":2697.486,"min":1200.0,"max":3600.0},{"current":2692.06,"min":1200.0,"max":3600.0},{"current":2695.366,"min":1200.0,"max":3600.0},{"current":2695.136,"min":1200.0,"max":3600.0},{"current":2698.052,"min":1200.0,"max":3600.0},{"current":2878.826,"min":1200.0,"max":3600.0},{"current":2772.157,"min":1200.0,"max":3600.0},{"current":2821.69,"min":1200.0,"max":3600.0},{"current":2701.975,"min":1200.0,"max":3600.0},{"current":2698.857,"min":1200.0,"max":3600.0},{"current":2865.957,"min":1200.0,"max":3600.0},{"current":2697.369,"min":1200.0,"max":3600.0},{"current":2845.783,"min":1200.0,"max":3600.0},{"current":2695.664,"min":1200.0,"max":3600.0},{"current":2695.185,"min":1200.0,"max":3600.0},{"current":2694.985,"min":1200.0,"max":3600.0},{"current":2695.626,"min":1200.0,"max":3600.0},{"current":2737.053,"min":1200.0,"max":3600.0},{"current":2702.371,"min":1200.0,"max":3600.0},{"current":2694.532,"min":1200.0,"max":3600.0},{"current":2780.125,"min":1200.0,"max":3600.0},{"current":2694.864,"min":1200.0,"max":3600.0},{"current":2698.69,"min":1200.0,"max":3600.0},{"current":2695.384,"min":1200.0,"max":3600.0},{"current":2693.762,"min":1200.0,"max":3600.0},{"current":2702.822,"min":1200.0,"max":3600.0},{"current":2693.821,"min":1200.0,"max":3600.0},{"current":2696.492,"min":1200.0,"max":3600.0},{"current":2688.155,"min":1200.0,"max":3600.0},{"current":2752.253,"min":1200.0,"max":3600.0},{"current":2696.542,"min":1200.0,"max":3600.0},{"current":2695.141,"min":1200.0,"max":3600.0},{"current":2725.237,"min":1200.0,"max":3600.0},{"current":2703.273,"min":1200.0,"max":3600.0},{"current":2757.662,"min":1200.0,"max":3600.0},{"current":2789.647,"min":1200.0,"max":3600.0},{"current":2695.619,"min":1200.0,"max":3600.0},{"current":2716.161,"min":1200.0,"max":3600.0},{"current":2696.155,"min":1200.0,"max":3600.0},{"current":2715.05,"min":1200.0,"max":3600.0},{"current":2697.068,"min":1200.0,"max":3600.0},{"current":2865.506,"min":1200.0,"max":3600.0},{"current":2869.647,"min":1200.0,"max":3600.0},{"current":2858.99,"min":1200.0,"max":3600.0},{"current":2696.22,"min":1200.0,"max":3600.0},{"current":2664.039,"min":1200.0,"max":3600.0},{"current":2694.788,"min":1200.0,"max":3600.0},{"current":2654.547,"min":1200.0,"max":3600.0},{"current":2694.676,"min":1200.0,"max":3600.0},{"current":2696.021,"min":1200.0,"max":3600.0},{"current":2669.129,"min":1200.0,"max":3600.0},{"current":2694.027,"min":1200.0,"max":3600.0},{"current":2694.641,"min":1200.0,"max":3600.0},{"current":2694.475,"min":1200.0,"max":3600.0},{"current":2694.256,"min":1200.0,"max":3600.0},{"current":2694.951,"min":1200.0,"max":3600.0},{"current":2695.143,"min":1200.0,"max":3600.0},{"current":2757.46,"min":1200.0,"max":3600.0},{"current":2695.122,"min":1200.0,"max":3600.0},{"current":2767.565,"min":1200.0,"max":3600.0},{"current":2720.615,"min":1200.0,"max":3600.0},{"current":2696.501,"min":1200.0,"max":3600.0},{"current":2695.495,"min":1200.0,"max":3600.0},{"current":2782.46,"min":1200.0,"max":3600.0},{"current":2696.234,"min":1200.0,"max":3600.0},{"current":2694.924,"min":1200.0,"max":3600.0},{"current":2694.585,"min":1200.0,"max":3600.0},{"current":2696.695,"min":1200.0,"max":3600.0},{"current":2697.355,"min":1200.0,"max":3600.0},{"current":2778.877,"min":1200.0,"max":3600.0},{"current":2696.712,"min":1200.0,"max":3600.0},{"current":2696.467,"min":1200.0,"max":3600.0},{"current":2778.347,"min":1200.0,"max":3600.0},{"current":2769.34,"min":1200.0,"max":3600.0},{"current":2786.536,"min":1200.0,"max":3600.0},{"current":2756.894,"min":1200.0,"max":3600.0},{"current":2694.036,"min":1200.0,"max":3600.0},{"current":2725.539,"min":1200.0,"max":3600.0},{"current":2697.368,"min":1200.0,"max":3600.0}],"disk_write_speed":69.74525040716226,"process_ids":[2113736,2113939]}
+{"timestamp":1678268786.976289,"rapl_power_draw_absolute":168.1511553710523,"rapl_estimated_attributable_power_draw":8.447393752119961,"cpu_time_seconds":{"2113736":{"user":1548.38,"system":301.16,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":24.97,"system":37.23,"children_user":10.68,"children_system":368.98,"iowait":38.93}},"average_relative_cpu_utilization":0.05685735781945885,"absolute_cpu_utilization":1.0037007517137464,"relative_mem_usage":0.018072565059528468,"absolute_mem_usage":3740869632.0,"absolute_mem_percent_usage":0.006915638745572966,"mem_info_per_process":{"2113736":{"rss":3679293440,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3276529664,"pss":3439378432,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":476.24000000000007,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.254,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.4,"mem":17.8,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23224999999999998,0.23337500000000003,0.230375],"cpu_freq":[{"current":2697.543,"min":1200.0,"max":3600.0},{"current":2695.416,"min":1200.0,"max":3600.0},{"current":2734.046,"min":1200.0,"max":3600.0},{"current":2744.369,"min":1200.0,"max":3600.0},{"current":2699.309,"min":1200.0,"max":3600.0},{"current":2750.252,"min":1200.0,"max":3600.0},{"current":2834.722,"min":1200.0,"max":3600.0},{"current":2847.698,"min":1200.0,"max":3600.0},{"current":2807.841,"min":1200.0,"max":3600.0},{"current":2863.063,"min":1200.0,"max":3600.0},{"current":2695.377,"min":1200.0,"max":3600.0},{"current":2848.995,"min":1200.0,"max":3600.0},{"current":2777.476,"min":1200.0,"max":3600.0},{"current":2724.526,"min":1200.0,"max":3600.0},{"current":2707.641,"min":1200.0,"max":3600.0},{"current":2695.619,"min":1200.0,"max":3600.0},{"current":2698.262,"min":1200.0,"max":3600.0},{"current":2695.986,"min":1200.0,"max":3600.0},{"current":2699.049,"min":1200.0,"max":3600.0},{"current":2693.766,"min":1200.0,"max":3600.0},{"current":2690.926,"min":1200.0,"max":3600.0},{"current":2748.347,"min":1200.0,"max":3600.0},{"current":2697.046,"min":1200.0,"max":3600.0},{"current":2696.679,"min":1200.0,"max":3600.0},{"current":2701.685,"min":1200.0,"max":3600.0},{"current":2698.404,"min":1200.0,"max":3600.0},{"current":2695.56,"min":1200.0,"max":3600.0},{"current":2693.843,"min":1200.0,"max":3600.0},{"current":2698.179,"min":1200.0,"max":3600.0},{"current":2771.133,"min":1200.0,"max":3600.0},{"current":2782.449,"min":1200.0,"max":3600.0},{"current":2696.08,"min":1200.0,"max":3600.0},{"current":2696.005,"min":1200.0,"max":3600.0},{"current":2693.722,"min":1200.0,"max":3600.0},{"current":2781.923,"min":1200.0,"max":3600.0},{"current":2698.155,"min":1200.0,"max":3600.0},{"current":2789.969,"min":1200.0,"max":3600.0},{"current":2697.057,"min":1200.0,"max":3600.0},{"current":2693.994,"min":1200.0,"max":3600.0},{"current":2694.938,"min":1200.0,"max":3600.0},{"current":2709.157,"min":1200.0,"max":3600.0},{"current":2695.526,"min":1200.0,"max":3600.0},{"current":2801.586,"min":1200.0,"max":3600.0},{"current":2829.719,"min":1200.0,"max":3600.0},{"current":2855.283,"min":1200.0,"max":3600.0},{"current":2694.48,"min":1200.0,"max":3600.0},{"current":2693.268,"min":1200.0,"max":3600.0},{"current":2776.713,"min":1200.0,"max":3600.0},{"current":2770.6,"min":1200.0,"max":3600.0},{"current":2696.751,"min":1200.0,"max":3600.0},{"current":2695.649,"min":1200.0,"max":3600.0},{"current":2704.732,"min":1200.0,"max":3600.0},{"current":2696.912,"min":1200.0,"max":3600.0},{"current":2694.442,"min":1200.0,"max":3600.0},{"current":2695.777,"min":1200.0,"max":3600.0},{"current":2700.361,"min":1200.0,"max":3600.0},{"current":2694.714,"min":1200.0,"max":3600.0},{"current":2783.24,"min":1200.0,"max":3600.0},{"current":2693.932,"min":1200.0,"max":3600.0},{"current":2693.651,"min":1200.0,"max":3600.0},{"current":2778.659,"min":1200.0,"max":3600.0},{"current":2637.789,"min":1200.0,"max":3600.0},{"current":2694.156,"min":1200.0,"max":3600.0},{"current":2694.288,"min":1200.0,"max":3600.0},{"current":2695.287,"min":1200.0,"max":3600.0},{"current":2694.142,"min":1200.0,"max":3600.0},{"current":2696.645,"min":1200.0,"max":3600.0},{"current":2694.041,"min":1200.0,"max":3600.0},{"current":2695.658,"min":1200.0,"max":3600.0},{"current":2694.817,"min":1200.0,"max":3600.0},{"current":2694.178,"min":1200.0,"max":3600.0},{"current":2695.366,"min":1200.0,"max":3600.0},{"current":2697.741,"min":1200.0,"max":3600.0},{"current":2778.502,"min":1200.0,"max":3600.0},{"current":2704.11,"min":1200.0,"max":3600.0},{"current":2717.614,"min":1200.0,"max":3600.0},{"current":2695.654,"min":1200.0,"max":3600.0},{"current":2694.192,"min":1200.0,"max":3600.0},{"current":2745.097,"min":1200.0,"max":3600.0},{"current":2698.064,"min":1200.0,"max":3600.0}],"disk_write_speed":71.46008442037542,"process_ids":[2113736,2113939]}
+{"timestamp":1678268802.624224,"rapl_power_draw_absolute":168.34797541260542,"rapl_estimated_attributable_power_draw":8.397747221411345,"cpu_time_seconds":{"2113736":{"user":1561.43,"system":303.76,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":25.18,"system":37.57,"children_user":10.8,"children_system":372.14,"iowait":39.26}},"average_relative_cpu_utilization":0.05653718577770828,"absolute_cpu_utilization":1.0040381713294892,"relative_mem_usage":0.01759226780849319,"absolute_mem_usage":3640214528.0,"absolute_mem_percent_usage":0.00672956053231272,"mem_info_per_process":{"2113736":{"rss":3586555904,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3175874560,"pss":3338723328,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":475.2,"nvidia_estimated_attributable_power_draw":69.56,"average_gpu_estimated_utilization_absolute":0.22,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":9.5,"mem":5.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":20.5,"mem":11.5,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":22.0,"mem":14.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.56},"cpu_count_adjusted_average_load":[0.232625,0.23337500000000003,0.230375],"cpu_freq":[{"current":2695.494,"min":1200.0,"max":3600.0},{"current":2700.137,"min":1200.0,"max":3600.0},{"current":2661.532,"min":1200.0,"max":3600.0},{"current":2692.414,"min":1200.0,"max":3600.0},{"current":2725.427,"min":1200.0,"max":3600.0},{"current":2760.998,"min":1200.0,"max":3600.0},{"current":2832.611,"min":1200.0,"max":3600.0},{"current":2845.451,"min":1200.0,"max":3600.0},{"current":2853.227,"min":1200.0,"max":3600.0},{"current":2866.239,"min":1200.0,"max":3600.0},{"current":2700.005,"min":1200.0,"max":3600.0},{"current":2870.316,"min":1200.0,"max":3600.0},{"current":2772.851,"min":1200.0,"max":3600.0},{"current":2701.158,"min":1200.0,"max":3600.0},{"current":2695.429,"min":1200.0,"max":3600.0},{"current":2694.965,"min":1200.0,"max":3600.0},{"current":2697.917,"min":1200.0,"max":3600.0},{"current":2730.464,"min":1200.0,"max":3600.0},{"current":2697.903,"min":1200.0,"max":3600.0},{"current":2694.857,"min":1200.0,"max":3600.0},{"current":2757.112,"min":1200.0,"max":3600.0},{"current":2697.855,"min":1200.0,"max":3600.0},{"current":2698.91,"min":1200.0,"max":3600.0},{"current":2694.968,"min":1200.0,"max":3600.0},{"current":2697.145,"min":1200.0,"max":3600.0},{"current":2696.805,"min":1200.0,"max":3600.0},{"current":2718.168,"min":1200.0,"max":3600.0},{"current":2698.925,"min":1200.0,"max":3600.0},{"current":2699.692,"min":1200.0,"max":3600.0},{"current":2783.556,"min":1200.0,"max":3600.0},{"current":2730.95,"min":1200.0,"max":3600.0},{"current":2702.894,"min":1200.0,"max":3600.0},{"current":2700.568,"min":1200.0,"max":3600.0},{"current":2695.629,"min":1200.0,"max":3600.0},{"current":2694.986,"min":1200.0,"max":3600.0},{"current":2656.635,"min":1200.0,"max":3600.0},{"current":2777.631,"min":1200.0,"max":3600.0},{"current":2694.9,"min":1200.0,"max":3600.0},{"current":2694.544,"min":1200.0,"max":3600.0},{"current":2694.531,"min":1200.0,"max":3600.0},{"current":2696.247,"min":1200.0,"max":3600.0},{"current":2710.117,"min":1200.0,"max":3600.0},{"current":2860.487,"min":1200.0,"max":3600.0},{"current":2871.202,"min":1200.0,"max":3600.0},{"current":2862.941,"min":1200.0,"max":3600.0},{"current":2748.395,"min":1200.0,"max":3600.0},{"current":2881.243,"min":1200.0,"max":3600.0},{"current":2692.481,"min":1200.0,"max":3600.0},{"current":2690.635,"min":1200.0,"max":3600.0},{"current":2697.327,"min":1200.0,"max":3600.0},{"current":2695.337,"min":1200.0,"max":3600.0},{"current":2797.711,"min":1200.0,"max":3600.0},{"current":2697.378,"min":1200.0,"max":3600.0},{"current":2713.666,"min":1200.0,"max":3600.0},{"current":2695.245,"min":1200.0,"max":3600.0},{"current":2693.897,"min":1200.0,"max":3600.0},{"current":2696.775,"min":1200.0,"max":3600.0},{"current":2716.21,"min":1200.0,"max":3600.0},{"current":2694.28,"min":1200.0,"max":3600.0},{"current":2716.367,"min":1200.0,"max":3600.0},{"current":2789.685,"min":1200.0,"max":3600.0},{"current":2794.701,"min":1200.0,"max":3600.0},{"current":2695.198,"min":1200.0,"max":3600.0},{"current":2695.209,"min":1200.0,"max":3600.0},{"current":2695.125,"min":1200.0,"max":3600.0},{"current":2697.057,"min":1200.0,"max":3600.0},{"current":2696.279,"min":1200.0,"max":3600.0},{"current":2731.313,"min":1200.0,"max":3600.0},{"current":2696.23,"min":1200.0,"max":3600.0},{"current":2733.357,"min":1200.0,"max":3600.0},{"current":2771.4,"min":1200.0,"max":3600.0},{"current":2696.079,"min":1200.0,"max":3600.0},{"current":2694.509,"min":1200.0,"max":3600.0},{"current":2785.682,"min":1200.0,"max":3600.0},{"current":2775.461,"min":1200.0,"max":3600.0},{"current":2779.283,"min":1200.0,"max":3600.0},{"current":2693.946,"min":1200.0,"max":3600.0},{"current":2694.216,"min":1200.0,"max":3600.0},{"current":2784.82,"min":1200.0,"max":3600.0},{"current":2695.286,"min":1200.0,"max":3600.0}],"disk_write_speed":72.13216345946026,"process_ids":[2113736,2113939]}
+{"timestamp":1678268818.528267,"rapl_power_draw_absolute":166.62529617646106,"rapl_estimated_attributable_power_draw":8.412745376464624,"cpu_time_seconds":{"2113736":{"user":1574.72,"system":306.38,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":25.41,"system":37.86,"children_user":10.89,"children_system":375.33,"iowait":39.61}},"average_relative_cpu_utilization":0.057402685974220664,"absolute_cpu_utilization":0.9987425458881847,"relative_mem_usage":0.017775937945048812,"absolute_mem_usage":3696555008.0,"absolute_mem_percent_usage":0.006833715567040264,"mem_info_per_process":{"2113736":{"rss":3632824320,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3232215040,"pss":3395063808,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":488.66,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.23199999999999998,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":19.25,"mem":12.25,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":12.333333333333334,"mem":7.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":17.0,"mem":9.666666666666666,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":23.2,"mem":15.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23374999999999999,0.23362500000000003,0.2305],"cpu_freq":[{"current":2695.271,"min":1200.0,"max":3600.0},{"current":2696.312,"min":1200.0,"max":3600.0},{"current":2716.779,"min":1200.0,"max":3600.0},{"current":2697.773,"min":1200.0,"max":3600.0},{"current":2692.275,"min":1200.0,"max":3600.0},{"current":2715.483,"min":1200.0,"max":3600.0},{"current":2828.234,"min":1200.0,"max":3600.0},{"current":2828.266,"min":1200.0,"max":3600.0},{"current":2861.914,"min":1200.0,"max":3600.0},{"current":2825.843,"min":1200.0,"max":3600.0},{"current":2768.438,"min":1200.0,"max":3600.0},{"current":2809.642,"min":1200.0,"max":3600.0},{"current":2709.01,"min":1200.0,"max":3600.0},{"current":2696.114,"min":1200.0,"max":3600.0},{"current":2694.001,"min":1200.0,"max":3600.0},{"current":2702.073,"min":1200.0,"max":3600.0},{"current":2732.542,"min":1200.0,"max":3600.0},{"current":2694.529,"min":1200.0,"max":3600.0},{"current":2695.479,"min":1200.0,"max":3600.0},{"current":2695.102,"min":1200.0,"max":3600.0},{"current":2748.108,"min":1200.0,"max":3600.0},{"current":2675.893,"min":1200.0,"max":3600.0},{"current":2696.635,"min":1200.0,"max":3600.0},{"current":2693.971,"min":1200.0,"max":3600.0},{"current":2695.17,"min":1200.0,"max":3600.0},{"current":2695.529,"min":1200.0,"max":3600.0},{"current":2696.194,"min":1200.0,"max":3600.0},{"current":2698.974,"min":1200.0,"max":3600.0},{"current":2694.555,"min":1200.0,"max":3600.0},{"current":2776.337,"min":1200.0,"max":3600.0},{"current":2769.249,"min":1200.0,"max":3600.0},{"current":2697.811,"min":1200.0,"max":3600.0},{"current":2699.562,"min":1200.0,"max":3600.0},{"current":2694.107,"min":1200.0,"max":3600.0},{"current":2692.657,"min":1200.0,"max":3600.0},{"current":2655.681,"min":1200.0,"max":3600.0},{"current":2726.084,"min":1200.0,"max":3600.0},{"current":2700.028,"min":1200.0,"max":3600.0},{"current":2650.597,"min":1200.0,"max":3600.0},{"current":2702.62,"min":1200.0,"max":3600.0},{"current":2707.124,"min":1200.0,"max":3600.0},{"current":2718.812,"min":1200.0,"max":3600.0},{"current":2867.23,"min":1200.0,"max":3600.0},{"current":2841.545,"min":1200.0,"max":3600.0},{"current":2816.216,"min":1200.0,"max":3600.0},{"current":2694.85,"min":1200.0,"max":3600.0},{"current":2692.826,"min":1200.0,"max":3600.0},{"current":2696.945,"min":1200.0,"max":3600.0},{"current":2694.07,"min":1200.0,"max":3600.0},{"current":2691.646,"min":1200.0,"max":3600.0},{"current":2735.463,"min":1200.0,"max":3600.0},{"current":2699.024,"min":1200.0,"max":3600.0},{"current":2694.576,"min":1200.0,"max":3600.0},{"current":2695.628,"min":1200.0,"max":3600.0},{"current":2697.069,"min":1200.0,"max":3600.0},{"current":2694.297,"min":1200.0,"max":3600.0},{"current":2696.031,"min":1200.0,"max":3600.0},{"current":2694.371,"min":1200.0,"max":3600.0},{"current":2694.873,"min":1200.0,"max":3600.0},{"current":2697.296,"min":1200.0,"max":3600.0},{"current":2693.758,"min":1200.0,"max":3600.0},{"current":2694.193,"min":1200.0,"max":3600.0},{"current":2695.022,"min":1200.0,"max":3600.0},{"current":2693.993,"min":1200.0,"max":3600.0},{"current":2694.401,"min":1200.0,"max":3600.0},{"current":2696.333,"min":1200.0,"max":3600.0},{"current":2694.56,"min":1200.0,"max":3600.0},{"current":2693.975,"min":1200.0,"max":3600.0},{"current":2697.32,"min":1200.0,"max":3600.0},{"current":2694.775,"min":1200.0,"max":3600.0},{"current":2693.174,"min":1200.0,"max":3600.0},{"current":2694.652,"min":1200.0,"max":3600.0},{"current":2696.331,"min":1200.0,"max":3600.0},{"current":2789.389,"min":1200.0,"max":3600.0},{"current":2779.168,"min":1200.0,"max":3600.0},{"current":2792.309,"min":1200.0,"max":3600.0},{"current":2790.7,"min":1200.0,"max":3600.0},{"current":2693.982,"min":1200.0,"max":3600.0},{"current":2778.595,"min":1200.0,"max":3600.0},{"current":2695.562,"min":1200.0,"max":3600.0}],"disk_write_speed":57.56558563316798,"process_ids":[2113736,2113939]}
+{"timestamp":1678268834.10824,"rapl_power_draw_absolute":167.099778038205,"rapl_estimated_attributable_power_draw":8.487796487265834,"cpu_time_seconds":{"2113736":{"user":1587.85,"system":308.84,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":25.67,"system":38.23,"children_user":10.98,"children_system":378.5,"iowait":39.88}},"average_relative_cpu_utilization":0.057656489226033225,"absolute_cpu_utilization":1.0037253203654932,"relative_mem_usage":0.01746813684685761,"absolute_mem_usage":3615249408.0,"absolute_mem_percent_usage":0.006683408228665727,"mem_info_per_process":{"2113736":{"rss":3551363072,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3150909440,"pss":3313758208,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":480.52000000000004,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.2625,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":7.666666666666667,"mem":4.333333333333333,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":8.0,"mem":4.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":26.25,"mem":17.25,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.232875,0.23349999999999999,0.2305],"cpu_freq":[{"current":2694.41,"min":1200.0,"max":3600.0},{"current":2693.961,"min":1200.0,"max":3600.0},{"current":2616.121,"min":1200.0,"max":3600.0},{"current":2692.126,"min":1200.0,"max":3600.0},{"current":2693.874,"min":1200.0,"max":3600.0},{"current":2713.991,"min":1200.0,"max":3600.0},{"current":2779.504,"min":1200.0,"max":3600.0},{"current":2707.719,"min":1200.0,"max":3600.0},{"current":2804.287,"min":1200.0,"max":3600.0},{"current":2801.995,"min":1200.0,"max":3600.0},{"current":2694.25,"min":1200.0,"max":3600.0},{"current":2863.779,"min":1200.0,"max":3600.0},{"current":2702.926,"min":1200.0,"max":3600.0},{"current":2697.474,"min":1200.0,"max":3600.0},{"current":2829.196,"min":1200.0,"max":3600.0},{"current":2737.643,"min":1200.0,"max":3600.0},{"current":2698.65,"min":1200.0,"max":3600.0},{"current":2695.481,"min":1200.0,"max":3600.0},{"current":2695.741,"min":1200.0,"max":3600.0},{"current":2694.918,"min":1200.0,"max":3600.0},{"current":2788.722,"min":1200.0,"max":3600.0},{"current":2774.658,"min":1200.0,"max":3600.0},{"current":2693.572,"min":1200.0,"max":3600.0},{"current":2700.406,"min":1200.0,"max":3600.0},{"current":2699.842,"min":1200.0,"max":3600.0},{"current":2697.777,"min":1200.0,"max":3600.0},{"current":2694.959,"min":1200.0,"max":3600.0},{"current":2696.744,"min":1200.0,"max":3600.0},{"current":2695.735,"min":1200.0,"max":3600.0},{"current":2770.401,"min":1200.0,"max":3600.0},{"current":2780.214,"min":1200.0,"max":3600.0},{"current":2693.769,"min":1200.0,"max":3600.0},{"current":2697.079,"min":1200.0,"max":3600.0},{"current":2692.332,"min":1200.0,"max":3600.0},{"current":2683.817,"min":1200.0,"max":3600.0},{"current":2695.386,"min":1200.0,"max":3600.0},{"current":2771.811,"min":1200.0,"max":3600.0},{"current":2698.091,"min":1200.0,"max":3600.0},{"current":2735.888,"min":1200.0,"max":3600.0},{"current":2721.967,"min":1200.0,"max":3600.0},{"current":2738.471,"min":1200.0,"max":3600.0},{"current":2742.798,"min":1200.0,"max":3600.0},{"current":2813.552,"min":1200.0,"max":3600.0},{"current":2748.013,"min":1200.0,"max":3600.0},{"current":2822.082,"min":1200.0,"max":3600.0},{"current":2702.896,"min":1200.0,"max":3600.0},{"current":2624.32,"min":1200.0,"max":3600.0},{"current":2696.061,"min":1200.0,"max":3600.0},{"current":2665.588,"min":1200.0,"max":3600.0},{"current":2709.709,"min":1200.0,"max":3600.0},{"current":2693.837,"min":1200.0,"max":3600.0},{"current":2707.316,"min":1200.0,"max":3600.0},{"current":2694.195,"min":1200.0,"max":3600.0},{"current":2709.748,"min":1200.0,"max":3600.0},{"current":2690.26,"min":1200.0,"max":3600.0},{"current":2709.501,"min":1200.0,"max":3600.0},{"current":2696.171,"min":1200.0,"max":3600.0},{"current":2695.328,"min":1200.0,"max":3600.0},{"current":2694.395,"min":1200.0,"max":3600.0},{"current":2764.54,"min":1200.0,"max":3600.0},{"current":2777.08,"min":1200.0,"max":3600.0},{"current":2694.798,"min":1200.0,"max":3600.0},{"current":2693.835,"min":1200.0,"max":3600.0},{"current":2694.456,"min":1200.0,"max":3600.0},{"current":2693.888,"min":1200.0,"max":3600.0},{"current":2694.241,"min":1200.0,"max":3600.0},{"current":2694.882,"min":1200.0,"max":3600.0},{"current":2693.969,"min":1200.0,"max":3600.0},{"current":2708.255,"min":1200.0,"max":3600.0},{"current":2690.592,"min":1200.0,"max":3600.0},{"current":2692.86,"min":1200.0,"max":3600.0},{"current":2694.95,"min":1200.0,"max":3600.0},{"current":2693.712,"min":1200.0,"max":3600.0},{"current":2806.164,"min":1200.0,"max":3600.0},{"current":2778.973,"min":1200.0,"max":3600.0},{"current":2784.316,"min":1200.0,"max":3600.0},{"current":2800.398,"min":1200.0,"max":3600.0},{"current":2708.588,"min":1200.0,"max":3600.0},{"current":2698.345,"min":1200.0,"max":3600.0},{"current":2695.942,"min":1200.0,"max":3600.0}],"disk_write_speed":70.23677283318115,"process_ids":[2113736,2113939]}
+{"timestamp":1678268849.804255,"rapl_power_draw_absolute":167.60782798372713,"rapl_estimated_attributable_power_draw":8.416681676229826,"cpu_time_seconds":{"2113736":{"user":1600.98,"system":311.41,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":25.87,"system":38.58,"children_user":11.03,"children_system":381.72,"iowait":40.22}},"average_relative_cpu_utilization":0.05704208202672339,"absolute_cpu_utilization":0.9987298152830705,"relative_mem_usage":0.01726144618069263,"absolute_mem_usage":3572052992.0,"absolute_mem_percent_usage":0.006603552249295557,"mem_info_per_process":{"2113736":{"rss":3512000512,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3107713024,"pss":3270561792,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":480.07,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.278,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":10.0,"mem":5.666666666666667,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":27.8,"mem":19.6,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23025,0.232875,0.230375],"cpu_freq":[{"current":2695.685,"min":1200.0,"max":3600.0},{"current":2699.508,"min":1200.0,"max":3600.0},{"current":2617.225,"min":1200.0,"max":3600.0},{"current":2657.505,"min":1200.0,"max":3600.0},{"current":2692.53,"min":1200.0,"max":3600.0},{"current":2779.229,"min":1200.0,"max":3600.0},{"current":2797.606,"min":1200.0,"max":3600.0},{"current":2702.397,"min":1200.0,"max":3600.0},{"current":2818.502,"min":1200.0,"max":3600.0},{"current":2802.031,"min":1200.0,"max":3600.0},{"current":2693.251,"min":1200.0,"max":3600.0},{"current":2778.4,"min":1200.0,"max":3600.0},{"current":2698.599,"min":1200.0,"max":3600.0},{"current":2700.537,"min":1200.0,"max":3600.0},{"current":2697.953,"min":1200.0,"max":3600.0},{"current":2704.031,"min":1200.0,"max":3600.0},{"current":2695.326,"min":1200.0,"max":3600.0},{"current":2697.615,"min":1200.0,"max":3600.0},{"current":2702.89,"min":1200.0,"max":3600.0},{"current":2696.533,"min":1200.0,"max":3600.0},{"current":2734.379,"min":1200.0,"max":3600.0},{"current":2779.728,"min":1200.0,"max":3600.0},{"current":2696.732,"min":1200.0,"max":3600.0},{"current":2695.726,"min":1200.0,"max":3600.0},{"current":2696.035,"min":1200.0,"max":3600.0},{"current":2709.626,"min":1200.0,"max":3600.0},{"current":2710.766,"min":1200.0,"max":3600.0},{"current":2698.249,"min":1200.0,"max":3600.0},{"current":2695.134,"min":1200.0,"max":3600.0},{"current":2684.256,"min":1200.0,"max":3600.0},{"current":2690.307,"min":1200.0,"max":3600.0},{"current":2699.88,"min":1200.0,"max":3600.0},{"current":2699.106,"min":1200.0,"max":3600.0},{"current":2680.616,"min":1200.0,"max":3600.0},{"current":2693.672,"min":1200.0,"max":3600.0},{"current":2696.478,"min":1200.0,"max":3600.0},{"current":2696.452,"min":1200.0,"max":3600.0},{"current":2696.806,"min":1200.0,"max":3600.0},{"current":2693.384,"min":1200.0,"max":3600.0},{"current":2696.622,"min":1200.0,"max":3600.0},{"current":2715.857,"min":1200.0,"max":3600.0},{"current":2694.142,"min":1200.0,"max":3600.0},{"current":2818.177,"min":1200.0,"max":3600.0},{"current":2814.529,"min":1200.0,"max":3600.0},{"current":2860.438,"min":1200.0,"max":3600.0},{"current":2784.9,"min":1200.0,"max":3600.0},{"current":2657.601,"min":1200.0,"max":3600.0},{"current":2694.303,"min":1200.0,"max":3600.0},{"current":2646.32,"min":1200.0,"max":3600.0},{"current":2873.058,"min":1200.0,"max":3600.0},{"current":2851.82,"min":1200.0,"max":3600.0},{"current":2621.625,"min":1200.0,"max":3600.0},{"current":2697.467,"min":1200.0,"max":3600.0},{"current":2709.308,"min":1200.0,"max":3600.0},{"current":2694.869,"min":1200.0,"max":3600.0},{"current":2772.875,"min":1200.0,"max":3600.0},{"current":2693.971,"min":1200.0,"max":3600.0},{"current":2695.76,"min":1200.0,"max":3600.0},{"current":2708.76,"min":1200.0,"max":3600.0},{"current":2703.486,"min":1200.0,"max":3600.0},{"current":2680.247,"min":1200.0,"max":3600.0},{"current":2629.678,"min":1200.0,"max":3600.0},{"current":2697.016,"min":1200.0,"max":3600.0},{"current":2694.697,"min":1200.0,"max":3600.0},{"current":2692.865,"min":1200.0,"max":3600.0},{"current":2694.284,"min":1200.0,"max":3600.0},{"current":2693.441,"min":1200.0,"max":3600.0},{"current":2693.782,"min":1200.0,"max":3600.0},{"current":2695.778,"min":1200.0,"max":3600.0},{"current":2693.155,"min":1200.0,"max":3600.0},{"current":2693.803,"min":1200.0,"max":3600.0},{"current":2693.769,"min":1200.0,"max":3600.0},{"current":2721.624,"min":1200.0,"max":3600.0},{"current":2685.237,"min":1200.0,"max":3600.0},{"current":2685.928,"min":1200.0,"max":3600.0},{"current":2677.597,"min":1200.0,"max":3600.0},{"current":2697.488,"min":1200.0,"max":3600.0},{"current":2695.47,"min":1200.0,"max":3600.0},{"current":2693.757,"min":1200.0,"max":3600.0},{"current":2694.747,"min":1200.0,"max":3600.0}],"disk_write_speed":68.87867599621451,"process_ids":[2113736,2113939]}
+{"timestamp":1678268865.896226,"rapl_power_draw_absolute":167.7687536669181,"rapl_estimated_attributable_power_draw":8.406276113511435,"cpu_time_seconds":{"2113736":{"user":1614.5,"system":314.0,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":26.05,"system":38.93,"children_user":11.13,"children_system":384.89,"iowait":40.55}},"average_relative_cpu_utilization":0.05690559834012353,"absolute_cpu_utilization":1.0037186684639672,"relative_mem_usage":0.01791354595963304,"absolute_mem_usage":3710027776.0,"absolute_mem_percent_usage":0.006858622288085527,"mem_info_per_process":{"2113736":{"rss":3649138688,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3245690880,"pss":3408536576,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":489.58000000000004,"nvidia_estimated_attributable_power_draw":69.56,"average_gpu_estimated_utilization_absolute":0.255,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":24.333333333333332,"mem":15.333333333333334,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.666666666666667,"mem":4.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.5,"mem":18.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.56},"cpu_count_adjusted_average_load":[0.229875,0.232625,0.230375],"cpu_freq":[{"current":2696.694,"min":1200.0,"max":3600.0},{"current":2694.615,"min":1200.0,"max":3600.0},{"current":2691.84,"min":1200.0,"max":3600.0},{"current":2662.871,"min":1200.0,"max":3600.0},{"current":2703.942,"min":1200.0,"max":3600.0},{"current":2693.815,"min":1200.0,"max":3600.0},{"current":2729.937,"min":1200.0,"max":3600.0},{"current":2698.022,"min":1200.0,"max":3600.0},{"current":2706.749,"min":1200.0,"max":3600.0},{"current":2625.131,"min":1200.0,"max":3600.0},{"current":2703.64,"min":1200.0,"max":3600.0},{"current":2720.609,"min":1200.0,"max":3600.0},{"current":2697.015,"min":1200.0,"max":3600.0},{"current":2695.887,"min":1200.0,"max":3600.0},{"current":2697.291,"min":1200.0,"max":3600.0},{"current":2700.406,"min":1200.0,"max":3600.0},{"current":2695.129,"min":1200.0,"max":3600.0},{"current":2701.143,"min":1200.0,"max":3600.0},{"current":2748.636,"min":1200.0,"max":3600.0},{"current":2697.722,"min":1200.0,"max":3600.0},{"current":2694.397,"min":1200.0,"max":3600.0},{"current":2693.959,"min":1200.0,"max":3600.0},{"current":2699.477,"min":1200.0,"max":3600.0},{"current":2696.737,"min":1200.0,"max":3600.0},{"current":2696.098,"min":1200.0,"max":3600.0},{"current":2708.063,"min":1200.0,"max":3600.0},{"current":2695.432,"min":1200.0,"max":3600.0},{"current":2696.109,"min":1200.0,"max":3600.0},{"current":2696.503,"min":1200.0,"max":3600.0},{"current":2780.869,"min":1200.0,"max":3600.0},{"current":2777.92,"min":1200.0,"max":3600.0},{"current":2696.98,"min":1200.0,"max":3600.0},{"current":2696.229,"min":1200.0,"max":3600.0},{"current":2631.789,"min":1200.0,"max":3600.0},{"current":2734.166,"min":1200.0,"max":3600.0},{"current":2710.339,"min":1200.0,"max":3600.0},{"current":2693.965,"min":1200.0,"max":3600.0},{"current":2695.92,"min":1200.0,"max":3600.0},{"current":2656.003,"min":1200.0,"max":3600.0},{"current":2670.121,"min":1200.0,"max":3600.0},{"current":2696.4,"min":1200.0,"max":3600.0},{"current":2695.166,"min":1200.0,"max":3600.0},{"current":2740.004,"min":1200.0,"max":3600.0},{"current":2748.699,"min":1200.0,"max":3600.0},{"current":2697.634,"min":1200.0,"max":3600.0},{"current":2694.645,"min":1200.0,"max":3600.0},{"current":2681.35,"min":1200.0,"max":3600.0},{"current":2695.153,"min":1200.0,"max":3600.0},{"current":2695.953,"min":1200.0,"max":3600.0},{"current":2778.561,"min":1200.0,"max":3600.0},{"current":2654.996,"min":1200.0,"max":3600.0},{"current":2692.697,"min":1200.0,"max":3600.0},{"current":2694.635,"min":1200.0,"max":3600.0},{"current":2748.49,"min":1200.0,"max":3600.0},{"current":2694.568,"min":1200.0,"max":3600.0},{"current":2721.939,"min":1200.0,"max":3600.0},{"current":2693.803,"min":1200.0,"max":3600.0},{"current":2753.726,"min":1200.0,"max":3600.0},{"current":2707.944,"min":1200.0,"max":3600.0},{"current":2696.112,"min":1200.0,"max":3600.0},{"current":2811.615,"min":1200.0,"max":3600.0},{"current":2787.269,"min":1200.0,"max":3600.0},{"current":2707.5,"min":1200.0,"max":3600.0},{"current":2694.442,"min":1200.0,"max":3600.0},{"current":2693.953,"min":1200.0,"max":3600.0},{"current":2694.88,"min":1200.0,"max":3600.0},{"current":2695.1,"min":1200.0,"max":3600.0},{"current":2694.689,"min":1200.0,"max":3600.0},{"current":2695.053,"min":1200.0,"max":3600.0},{"current":2736.103,"min":1200.0,"max":3600.0},{"current":2755.19,"min":1200.0,"max":3600.0},{"current":2713.509,"min":1200.0,"max":3600.0},{"current":2697.414,"min":1200.0,"max":3600.0},{"current":2764.1,"min":1200.0,"max":3600.0},{"current":2682.545,"min":1200.0,"max":3600.0},{"current":2694.751,"min":1200.0,"max":3600.0},{"current":2696.06,"min":1200.0,"max":3600.0},{"current":2693.951,"min":1200.0,"max":3600.0},{"current":2731.278,"min":1200.0,"max":3600.0},{"current":2709.853,"min":1200.0,"max":3600.0}],"disk_write_speed":71.28344426699046,"process_ids":[2113736,2113939]}
+{"timestamp":1678268881.9762,"rapl_power_draw_absolute":166.4475362660126,"rapl_estimated_attributable_power_draw":8.578887934098383,"cpu_time_seconds":{"2113736":{"user":1627.95,"system":316.63,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":26.29,"system":39.24,"children_user":11.2,"children_system":388.12,"iowait":40.89}},"average_relative_cpu_utilization":0.05835899760839822,"absolute_cpu_utilization":1.0037238784125668,"relative_mem_usage":0.01849521846797699,"absolute_mem_usage":3833361408.0,"absolute_mem_percent_usage":0.007086625647730923,"mem_info_per_process":{"2113736":{"rss":3767279616,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3369021440,"pss":3531870208,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":476.2100000000001,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.1175,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":11.75,"mem":6.75,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.227875,0.23199999999999998,0.23025],"cpu_freq":[{"current":2697.166,"min":1200.0,"max":3600.0},{"current":2701.319,"min":1200.0,"max":3600.0},{"current":2699.384,"min":1200.0,"max":3600.0},{"current":2865.47,"min":1200.0,"max":3600.0},{"current":2711.726,"min":1200.0,"max":3600.0},{"current":2709.214,"min":1200.0,"max":3600.0},{"current":2795.237,"min":1200.0,"max":3600.0},{"current":2698.242,"min":1200.0,"max":3600.0},{"current":2802.114,"min":1200.0,"max":3600.0},{"current":2697.481,"min":1200.0,"max":3600.0},{"current":2792.742,"min":1200.0,"max":3600.0},{"current":2827.437,"min":1200.0,"max":3600.0},{"current":2693.471,"min":1200.0,"max":3600.0},{"current":2696.271,"min":1200.0,"max":3600.0},{"current":2693.398,"min":1200.0,"max":3600.0},{"current":2707.234,"min":1200.0,"max":3600.0},{"current":2693.837,"min":1200.0,"max":3600.0},{"current":2698.295,"min":1200.0,"max":3600.0},{"current":2695.522,"min":1200.0,"max":3600.0},{"current":2699.902,"min":1200.0,"max":3600.0},{"current":2792.511,"min":1200.0,"max":3600.0},{"current":2780.541,"min":1200.0,"max":3600.0},{"current":2697.366,"min":1200.0,"max":3600.0},{"current":2695.983,"min":1200.0,"max":3600.0},{"current":2695.815,"min":1200.0,"max":3600.0},{"current":2696.948,"min":1200.0,"max":3600.0},{"current":2696.349,"min":1200.0,"max":3600.0},{"current":2697.453,"min":1200.0,"max":3600.0},{"current":2694.794,"min":1200.0,"max":3600.0},{"current":2767.86,"min":1200.0,"max":3600.0},{"current":2778.159,"min":1200.0,"max":3600.0},{"current":2697.076,"min":1200.0,"max":3600.0},{"current":2698.382,"min":1200.0,"max":3600.0},{"current":2741.762,"min":1200.0,"max":3600.0},{"current":2744.162,"min":1200.0,"max":3600.0},{"current":2693.801,"min":1200.0,"max":3600.0},{"current":2786.015,"min":1200.0,"max":3600.0},{"current":2695.289,"min":1200.0,"max":3600.0},{"current":2730.47,"min":1200.0,"max":3600.0},{"current":2795.447,"min":1200.0,"max":3600.0},{"current":2722.985,"min":1200.0,"max":3600.0},{"current":2695.939,"min":1200.0,"max":3600.0},{"current":2820.146,"min":1200.0,"max":3600.0},{"current":2713.045,"min":1200.0,"max":3600.0},{"current":2694.563,"min":1200.0,"max":3600.0},{"current":2783.693,"min":1200.0,"max":3600.0},{"current":2690.645,"min":1200.0,"max":3600.0},{"current":2698.732,"min":1200.0,"max":3600.0},{"current":2858.831,"min":1200.0,"max":3600.0},{"current":2696.113,"min":1200.0,"max":3600.0},{"current":2709.516,"min":1200.0,"max":3600.0},{"current":2657.624,"min":1200.0,"max":3600.0},{"current":2806.69,"min":1200.0,"max":3600.0},{"current":2692.358,"min":1200.0,"max":3600.0},{"current":2873.305,"min":1200.0,"max":3600.0},{"current":2695.668,"min":1200.0,"max":3600.0},{"current":2700.047,"min":1200.0,"max":3600.0},{"current":2694.095,"min":1200.0,"max":3600.0},{"current":2696.509,"min":1200.0,"max":3600.0},{"current":2695.946,"min":1200.0,"max":3600.0},{"current":2781.349,"min":1200.0,"max":3600.0},{"current":2662.631,"min":1200.0,"max":3600.0},{"current":2698.811,"min":1200.0,"max":3600.0},{"current":2694.876,"min":1200.0,"max":3600.0},{"current":2694.787,"min":1200.0,"max":3600.0},{"current":2695.588,"min":1200.0,"max":3600.0},{"current":2693.529,"min":1200.0,"max":3600.0},{"current":2695.109,"min":1200.0,"max":3600.0},{"current":2696.265,"min":1200.0,"max":3600.0},{"current":2789.185,"min":1200.0,"max":3600.0},{"current":2746.248,"min":1200.0,"max":3600.0},{"current":2694.241,"min":1200.0,"max":3600.0},{"current":2694.078,"min":1200.0,"max":3600.0},{"current":2687.753,"min":1200.0,"max":3600.0},{"current":2705.614,"min":1200.0,"max":3600.0},{"current":2695.577,"min":1200.0,"max":3600.0},{"current":2697.208,"min":1200.0,"max":3600.0},{"current":2695.131,"min":1200.0,"max":3600.0},{"current":2779.271,"min":1200.0,"max":3600.0},{"current":2750.656,"min":1200.0,"max":3600.0}],"disk_write_speed":71.6547359909114,"process_ids":[2113736,2113939]}
+{"timestamp":1678268897.564219,"rapl_power_draw_absolute":167.7330113508794,"rapl_estimated_attributable_power_draw":8.400179932368587,"cpu_time_seconds":{"2113736":{"user":1641.16,"system":319.02,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":26.48,"system":39.61,"children_user":11.3,"children_system":391.25,"iowait":41.23}},"average_relative_cpu_utilization":0.05672942179786311,"absolute_cpu_utilization":1.0037452751990776,"relative_mem_usage":0.018119243354093286,"absolute_mem_usage":3754456064.0,"absolute_mem_percent_usage":0.006940755594005628,"mem_info_per_process":{"2113736":{"rss":3692834816,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3290116096,"pss":3452964864,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":476.21000000000004,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.22,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.5,"mem":3.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":4.5,"mem":2.5,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":22.0,"mem":14.666666666666666,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.231,0.2325,0.230375],"cpu_freq":[{"current":2695.517,"min":1200.0,"max":3600.0},{"current":2695.439,"min":1200.0,"max":3600.0},{"current":2740.481,"min":1200.0,"max":3600.0},{"current":2848.506,"min":1200.0,"max":3600.0},{"current":2719.105,"min":1200.0,"max":3600.0},{"current":2709.836,"min":1200.0,"max":3600.0},{"current":2868.645,"min":1200.0,"max":3600.0},{"current":2697.393,"min":1200.0,"max":3600.0},{"current":2875.211,"min":1200.0,"max":3600.0},{"current":2702.429,"min":1200.0,"max":3600.0},{"current":2814.567,"min":1200.0,"max":3600.0},{"current":2841.692,"min":1200.0,"max":3600.0},{"current":2692.761,"min":1200.0,"max":3600.0},{"current":2698.082,"min":1200.0,"max":3600.0},{"current":2691.461,"min":1200.0,"max":3600.0},{"current":2702.944,"min":1200.0,"max":3600.0},{"current":2695.736,"min":1200.0,"max":3600.0},{"current":2694.943,"min":1200.0,"max":3600.0},{"current":2696.443,"min":1200.0,"max":3600.0},{"current":2696.544,"min":1200.0,"max":3600.0},{"current":2792.693,"min":1200.0,"max":3600.0},{"current":2779.122,"min":1200.0,"max":3600.0},{"current":2697.005,"min":1200.0,"max":3600.0},{"current":2697.689,"min":1200.0,"max":3600.0},{"current":2695.609,"min":1200.0,"max":3600.0},{"current":2697.289,"min":1200.0,"max":3600.0},{"current":2696.575,"min":1200.0,"max":3600.0},{"current":2694.887,"min":1200.0,"max":3600.0},{"current":2697.666,"min":1200.0,"max":3600.0},{"current":2793.783,"min":1200.0,"max":3600.0},{"current":2769.263,"min":1200.0,"max":3600.0},{"current":2694.982,"min":1200.0,"max":3600.0},{"current":2697.697,"min":1200.0,"max":3600.0},{"current":2749.868,"min":1200.0,"max":3600.0},{"current":2762.832,"min":1200.0,"max":3600.0},{"current":2698.037,"min":1200.0,"max":3600.0},{"current":2779.714,"min":1200.0,"max":3600.0},{"current":2694.719,"min":1200.0,"max":3600.0},{"current":2726.487,"min":1200.0,"max":3600.0},{"current":2758.403,"min":1200.0,"max":3600.0},{"current":2779.731,"min":1200.0,"max":3600.0},{"current":2694.617,"min":1200.0,"max":3600.0},{"current":2831.376,"min":1200.0,"max":3600.0},{"current":2693.573,"min":1200.0,"max":3600.0},{"current":2728.147,"min":1200.0,"max":3600.0},{"current":2745.569,"min":1200.0,"max":3600.0},{"current":2663.728,"min":1200.0,"max":3600.0},{"current":2705.68,"min":1200.0,"max":3600.0},{"current":2834.351,"min":1200.0,"max":3600.0},{"current":2696.098,"min":1200.0,"max":3600.0},{"current":2697.32,"min":1200.0,"max":3600.0},{"current":2624.736,"min":1200.0,"max":3600.0},{"current":2814.706,"min":1200.0,"max":3600.0},{"current":2771.598,"min":1200.0,"max":3600.0},{"current":2850.671,"min":1200.0,"max":3600.0},{"current":2722.221,"min":1200.0,"max":3600.0},{"current":2694.461,"min":1200.0,"max":3600.0},{"current":2693.922,"min":1200.0,"max":3600.0},{"current":2694.988,"min":1200.0,"max":3600.0},{"current":2696.678,"min":1200.0,"max":3600.0},{"current":2755.119,"min":1200.0,"max":3600.0},{"current":2698.123,"min":1200.0,"max":3600.0},{"current":2695.447,"min":1200.0,"max":3600.0},{"current":2695.183,"min":1200.0,"max":3600.0},{"current":2694.167,"min":1200.0,"max":3600.0},{"current":2695.365,"min":1200.0,"max":3600.0},{"current":2694.285,"min":1200.0,"max":3600.0},{"current":2695.482,"min":1200.0,"max":3600.0},{"current":2694.477,"min":1200.0,"max":3600.0},{"current":2727.659,"min":1200.0,"max":3600.0},{"current":2763.538,"min":1200.0,"max":3600.0},{"current":2695.429,"min":1200.0,"max":3600.0},{"current":2693.74,"min":1200.0,"max":3600.0},{"current":2776.703,"min":1200.0,"max":3600.0},{"current":2741.818,"min":1200.0,"max":3600.0},{"current":2696.249,"min":1200.0,"max":3600.0},{"current":2697.462,"min":1200.0,"max":3600.0},{"current":2696.584,"min":1200.0,"max":3600.0},{"current":2763.683,"min":1200.0,"max":3600.0},{"current":2778.083,"min":1200.0,"max":3600.0}],"disk_write_speed":71.02890173410404,"process_ids":[2113736,2113939]}
+{"timestamp":1678268913.356225,"rapl_power_draw_absolute":167.41312581819344,"rapl_estimated_attributable_power_draw":8.361343937848817,"cpu_time_seconds":{"2113736":{"user":1654.53,"system":321.45,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":26.68,"system":39.94,"children_user":11.41,"children_system":394.41,"iowait":41.57}},"average_relative_cpu_utilization":0.056728482183183514,"absolute_cpu_utilization":1.003690016813862,"relative_mem_usage":0.018092202062542594,"absolute_mem_usage":3756024832.0,"absolute_mem_percent_usage":0.006943655730559656,"mem_info_per_process":{"2113736":{"rss":3691397120,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3291684864,"pss":3454533632,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":490.9800000000001,"nvidia_estimated_attributable_power_draw":69.56,"average_gpu_estimated_utilization_absolute":0.25666666666666665,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":21.0,"mem":14.333333333333334,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":10.0,"mem":5.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":16.75,"mem":9.5,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":25.666666666666668,"mem":17.0,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.56},"cpu_count_adjusted_average_load":[0.234125,0.23312499999999997,0.230625],"cpu_freq":[{"current":2694.26,"min":1200.0,"max":3600.0},{"current":2697.877,"min":1200.0,"max":3600.0},{"current":2695.882,"min":1200.0,"max":3600.0},{"current":2726.06,"min":1200.0,"max":3600.0},{"current":2694.411,"min":1200.0,"max":3600.0},{"current":2696.17,"min":1200.0,"max":3600.0},{"current":2695.005,"min":1200.0,"max":3600.0},{"current":2812.21,"min":1200.0,"max":3600.0},{"current":2761.954,"min":1200.0,"max":3600.0},{"current":2700.856,"min":1200.0,"max":3600.0},{"current":2811.608,"min":1200.0,"max":3600.0},{"current":2876.861,"min":1200.0,"max":3600.0},{"current":2655.609,"min":1200.0,"max":3600.0},{"current":2694.961,"min":1200.0,"max":3600.0},{"current":2695.656,"min":1200.0,"max":3600.0},{"current":2718.386,"min":1200.0,"max":3600.0},{"current":2699.206,"min":1200.0,"max":3600.0},{"current":2698.747,"min":1200.0,"max":3600.0},{"current":2698.656,"min":1200.0,"max":3600.0},{"current":2697.152,"min":1200.0,"max":3600.0},{"current":2793.842,"min":1200.0,"max":3600.0},{"current":2695.709,"min":1200.0,"max":3600.0},{"current":2706.622,"min":1200.0,"max":3600.0},{"current":2720.272,"min":1200.0,"max":3600.0},{"current":2828.368,"min":1200.0,"max":3600.0},{"current":2695.662,"min":1200.0,"max":3600.0},{"current":2701.148,"min":1200.0,"max":3600.0},{"current":2696.528,"min":1200.0,"max":3600.0},{"current":2696.35,"min":1200.0,"max":3600.0},{"current":2785.741,"min":1200.0,"max":3600.0},{"current":2783.003,"min":1200.0,"max":3600.0},{"current":2694.344,"min":1200.0,"max":3600.0},{"current":2696.441,"min":1200.0,"max":3600.0},{"current":2716.962,"min":1200.0,"max":3600.0},{"current":2791.364,"min":1200.0,"max":3600.0},{"current":2696.509,"min":1200.0,"max":3600.0},{"current":2775.011,"min":1200.0,"max":3600.0},{"current":2736.371,"min":1200.0,"max":3600.0},{"current":2794.114,"min":1200.0,"max":3600.0},{"current":2769.272,"min":1200.0,"max":3600.0},{"current":2694.459,"min":1200.0,"max":3600.0},{"current":2693.804,"min":1200.0,"max":3600.0},{"current":2700.556,"min":1200.0,"max":3600.0},{"current":2662.534,"min":1200.0,"max":3600.0},{"current":2834.57,"min":1200.0,"max":3600.0},{"current":2697.843,"min":1200.0,"max":3600.0},{"current":2728.762,"min":1200.0,"max":3600.0},{"current":2693.472,"min":1200.0,"max":3600.0},{"current":2873.48,"min":1200.0,"max":3600.0},{"current":2735.907,"min":1200.0,"max":3600.0},{"current":2647.685,"min":1200.0,"max":3600.0},{"current":2693.356,"min":1200.0,"max":3600.0},{"current":2867.715,"min":1200.0,"max":3600.0},{"current":2695.785,"min":1200.0,"max":3600.0},{"current":2824.907,"min":1200.0,"max":3600.0},{"current":2693.81,"min":1200.0,"max":3600.0},{"current":2694.733,"min":1200.0,"max":3600.0},{"current":2710.23,"min":1200.0,"max":3600.0},{"current":2698.65,"min":1200.0,"max":3600.0},{"current":2696.312,"min":1200.0,"max":3600.0},{"current":2771.387,"min":1200.0,"max":3600.0},{"current":2693.822,"min":1200.0,"max":3600.0},{"current":2693.957,"min":1200.0,"max":3600.0},{"current":2696.782,"min":1200.0,"max":3600.0},{"current":2695.747,"min":1200.0,"max":3600.0},{"current":2694.04,"min":1200.0,"max":3600.0},{"current":2695.581,"min":1200.0,"max":3600.0},{"current":2692.857,"min":1200.0,"max":3600.0},{"current":2695.525,"min":1200.0,"max":3600.0},{"current":2692.76,"min":1200.0,"max":3600.0},{"current":2691.295,"min":1200.0,"max":3600.0},{"current":2708.402,"min":1200.0,"max":3600.0},{"current":2697.368,"min":1200.0,"max":3600.0},{"current":2756.118,"min":1200.0,"max":3600.0},{"current":2774.318,"min":1200.0,"max":3600.0},{"current":2713.847,"min":1200.0,"max":3600.0},{"current":2697.719,"min":1200.0,"max":3600.0},{"current":2783.052,"min":1200.0,"max":3600.0},{"current":2791.834,"min":1200.0,"max":3600.0},{"current":2770.952,"min":1200.0,"max":3600.0}],"disk_write_speed":72.54549389748219,"process_ids":[2113736,2113939]}
+{"timestamp":1678268929.140232,"rapl_power_draw_absolute":166.64637296781126,"rapl_estimated_attributable_power_draw":8.474264848866353,"cpu_time_seconds":{"2113736":{"user":1667.64,"system":324.13,"children_user":1.09,"children_system":1.38,"iowait":0.0},"2113939":{"user":26.89,"system":40.29,"children_user":11.5,"children_system":397.57,"iowait":41.92}},"average_relative_cpu_utilization":0.057706565547156155,"absolute_cpu_utilization":1.0037201230055939,"relative_mem_usage":0.017911150841845497,"absolute_mem_usage":3711857664.0,"absolute_mem_percent_usage":0.006862005149718717,"mem_info_per_process":{"2113736":{"rss":3647516672,"vms":27878981632,"shared":828198912,"text":2633728,"lib":0,"data":5882613760,"dirty":0,"uss":3247517696,"pss":3410366464,"swap":0},"2113939":{"rss":452304896,"vms":11101605888,"shared":23707648,"text":2633728,"lib":0,"data":2832252928,"dirty":0,"uss":165617664,"pss":301491200,"swap":0}},"nvidia_draw_absolute":484.74000000000007,"nvidia_estimated_attributable_power_draw":69.61,"average_gpu_estimated_utilization_absolute":0.29,"per_gpu_average_estimated_utilization_absolute":{"(0, 2012071)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013114)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(0, 2013759)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(1, 659539)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(2, 661155)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(3, 1325829)":{"sm":6.0,"mem":3.5,"enc":0.0,"dec":0.0},"(4, 2039509)":{"sm":16.5,"mem":9.0,"enc":0.0,"dec":0.0},"(5, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(6, 0)":{"sm":0.0,"mem":0.0,"enc":0.0,"dec":0.0},"(7, 2113736)":{"sm":29.0,"mem":20.4,"enc":0.0,"dec":0.0}},"average_gpu_estimated_utilization_relative":1.0,"per_gpu_performance_state":{"7":"P0"},"per_gpu_power_draw":{"7":69.61},"cpu_count_adjusted_average_load":[0.23475000000000001,0.23337500000000003,0.23075],"cpu_freq":[{"current":2694.828,"min":1200.0,"max":3600.0},{"current":2696.091,"min":1200.0,"max":3600.0},{"current":2701.92,"min":1200.0,"max":3600.0},{"current":2701.851,"min":1200.0,"max":3600.0},{"current":2689.912,"min":1200.0,"max":3600.0},{"current":2829.319,"min":1200.0,"max":3600.0},{"current":2701.201,"min":1200.0,"max":3600.0},{"current":2790.397,"min":1200.0,"max":3600.0},{"current":2632.597,"min":1200.0,"max":3600.0},{"current":2696.006,"min":1200.0,"max":3600.0},{"current":2852.061,"min":1200.0,"max":3600.0},{"current":2812.204,"min":1200.0,"max":3600.0},{"current":2693.021,"min":1200.0,"max":3600.0},{"current":2695.747,"min":1200.0,"max":3600.0},{"current":2697.99,"min":1200.0,"max":3600.0},{"current":2695.157,"min":1200.0,"max":3600.0},{"current":2739.224,"min":1200.0,"max":3600.0},{"current":2696.499,"min":1200.0,"max":3600.0},{"current":2696.682,"min":1200.0,"max":3600.0},{"current":2701.584,"min":1200.0,"max":3600.0},{"current":2759.451,"min":1200.0,"max":3600.0},{"current":2701.205,"min":1200.0,"max":3600.0},{"current":2696.066,"min":1200.0,"max":3600.0},{"current":2694.119,"min":1200.0,"max":3600.0},{"current":2698.567,"min":1200.0,"max":3600.0},{"current":2696.534,"min":1200.0,"max":3600.0},{"current":2696.94,"min":1200.0,"max":3600.0},{"current":2722.055,"min":1200.0,"max":3600.0},{"current":2696.759,"min":1200.0,"max":3600.0},{"current":2785.344,"min":1200.0,"max":3600.0},{"current":2783.83,"min":1200.0,"max":3600.0},{"current":2694.299,"min":1200.0,"max":3600.0},{"current":2699.02,"min":1200.0,"max":3600.0},{"current":2696.158,"min":1200.0,"max":3600.0},{"current":2696.22,"min":1200.0,"max":3600.0},{"current":2697.861,"min":1200.0,"max":3600.0},{"current":2748.039,"min":1200.0,"max":3600.0},{"current":2696.297,"min":1200.0,"max":3600.0},{"current":2625.56,"min":1200.0,"max":3600.0},{"current":2738.217,"min":1200.0,"max":3600.0},{"current":2714.772,"min":1200.0,"max":3600.0},{"current":2696.041,"min":1200.0,"max":3600.0},{"current":2741.578,"min":1200.0,"max":3600.0},{"current":2696.485,"min":1200.0,"max":3600.0},{"current":2819.306,"min":1200.0,"max":3600.0},{"current":2691.28,"min":1200.0,"max":3600.0},{"current":2778.641,"min":1200.0,"max":3600.0},{"current":2694.074,"min":1200.0,"max":3600.0},{"current":2775.552,"min":1200.0,"max":3600.0},{"current":2698.533,"min":1200.0,"max":3600.0},{"current":2694.102,"min":1200.0,"max":3600.0},{"current":2690.087,"min":1200.0,"max":3600.0},{"current":2795.297,"min":1200.0,"max":3600.0},{"current":2707.39,"min":1200.0,"max":3600.0},{"current":2833.957,"min":1200.0,"max":3600.0},{"current":2756.206,"min":1200.0,"max":3600.0},{"current":2695.597,"min":1200.0,"max":3600.0},{"current":2694.117,"min":1200.0,"max":3600.0},{"current":2694.067,"min":1200.0,"max":3600.0},{"current":2696.207,"min":1200.0,"max":3600.0},{"current":2787.858,"min":1200.0,"max":3600.0},{"current":2695.133,"min":1200.0,"max":3600.0},{"current":2693.993,"min":1200.0,"max":3600.0},{"current":2693.719,"min":1200.0,"max":3600.0},{"current":2694.586,"min":1200.0,"max":3600.0},{"current":2715.998,"min":1200.0,"max":3600.0},{"current":2695.739,"min":1200.0,"max":3600.0},{"current":2695.65,"min":1200.0,"max":3600.0},{"current":2697.302,"min":1200.0,"max":3600.0},{"current":2731.012,"min":1200.0,"max":3600.0},{"current":2764.261,"min":1200.0,"max":3600.0},{"current":2693.47,"min":1200.0,"max":3600.0},{"current":2697.657,"min":1200.0,"max":3600.0},{"current":2728.66,"min":1200.0,"max":3600.0},{"current":2745.648,"min":1200.0,"max":3600.0},{"current":2699.194,"min":1200.0,"max":3600.0},{"current":2693.348,"min":1200.0,"max":3600.0},{"current":2766.018,"min":1200.0,"max":3600.0},{"current":2771.368,"min":1200.0,"max":3600.0},{"current":2784.05,"min":1200.0,"max":3600.0}],"disk_write_speed":72.15741822212634,"process_ids":[2113736,2113939]}
diff --git a/code/co2log/impacttracker/impact_tracker_log.log b/code/co2log/impacttracker/impact_tracker_log.log
new file mode 100644
index 0000000..efa9d4e
--- /dev/null
+++ b/code/co2log/impacttracker/impact_tracker_log.log
@@ -0,0 +1,20 @@
+2023-03-06 15:43:23,996 - experiment_impact_tracker.compute_tracker.ImpactTracker - ERROR - Encountered exception within power monitor thread!
+2023-03-06 15:43:23,999 - experiment_impact_tracker.compute_tracker.ImpactTracker - ERROR -   File "/home/ylan/miniconda3/envs/pytorch/lib/python3.9/site-packages/experiment_impact_tracker/compute_tracker.py", line 161, in launch_power_monitor
+    _sample_and_log_power(log_dir, initial_info, logger=logger)
+  File "/home/ylan/miniconda3/envs/pytorch/lib/python3.9/site-packages/experiment_impact_tracker/compute_tracker.py", line 108, in _sample_and_log_power
+    results = header["routing"]["function"](
+  File "/home/ylan/miniconda3/envs/pytorch/lib/python3.9/site-packages/experiment_impact_tracker/gpu/nvidia.py", line 158, in get_nvidia_gpu_power
+    outs, errors = p.communicate()
+  File "/home/ylan/miniconda3/envs/pytorch/lib/python3.9/subprocess.py", line 1121, in communicate
+    stdout = self.stdout.read()
+
+2023-03-06 15:43:32,772 - experiment_impact_tracker.compute_tracker.ImpactTracker - ERROR - Encountered exception within power monitor thread!
+2023-03-06 15:43:32,774 - experiment_impact_tracker.compute_tracker.ImpactTracker - ERROR -   File "/home/ylan/miniconda3/envs/pytorch/lib/python3.9/site-packages/experiment_impact_tracker/compute_tracker.py", line 161, in launch_power_monitor
+    _sample_and_log_power(log_dir, initial_info, logger=logger)
+  File "/home/ylan/miniconda3/envs/pytorch/lib/python3.9/site-packages/experiment_impact_tracker/compute_tracker.py", line 108, in _sample_and_log_power
+    results = header["routing"]["function"](
+  File "/home/ylan/miniconda3/envs/pytorch/lib/python3.9/site-packages/experiment_impact_tracker/disk/common.py", line 38, in measure_disk_speed_at_dir
+    writetofile(filename, filesize)
+  File "/home/ylan/miniconda3/envs/pytorch/lib/python3.9/site-packages/experiment_impact_tracker/disk/common.py", line 20, in writetofile
+    f.close()
+
diff --git a/code/co2log/impacttracker/info.pkl b/code/co2log/impacttracker/info.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..3cb2c81ad84dab1450dd5c28f1f6ab1794b67b29
GIT binary patch
literal 611684
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
IC1$A}0QK`Id;kCd

literal 0
HcmV?d00001

diff --git a/code/cufile.log b/code/cufile.log
index d9aee1a..c011b22 100644
--- a/code/cufile.log
+++ b/code/cufile.log
@@ -4,3 +4,1126 @@
  22-12-2022 11:02:15:996 [pid=1912278 tid=1912278] NOTICE  cufio-drv:625 running in compatible mode
  22-12-2022 11:15:17:212 [pid=1915495 tid=1915495] NOTICE  cufio-drv:625 running in compatible mode
  02-01-2023 00:11:43:868 [pid=931838 tid=931838] NOTICE  cufio-drv:625 running in compatible mode
+ 11-01-2023 00:50:10:932 [pid=3978859 tid=3978859] NOTICE  cufio-drv:625 running in compatible mode
+ 11-01-2023 00:52:36:836 [pid=3979769 tid=3979769] NOTICE  cufio-drv:625 running in compatible mode
+ 11-01-2023 01:06:06:120 [pid=3982586 tid=3982586] NOTICE  cufio-drv:625 running in compatible mode
+ 17-01-2023 08:53:28:752 [pid=2164616 tid=2164616] NOTICE  cufio-drv:625 running in compatible mode
+ 23-01-2023 10:57:57:156 [pid=1190495 tid=1190495] NOTICE  cufio-drv:625 running in compatible mode
+ 26-01-2023 10:25:06:261 [pid=3015472 tid=3015472] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 10:25:06:261 [pid=3015472 tid=3015472] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 10:25:06:261 [pid=3015472 tid=3015472] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 10:25:06:261 [pid=3015472 tid=3015472] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 10:34:31:233 [pid=3017077 tid=3017077] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 10:34:31:234 [pid=3017077 tid=3017077] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 10:34:31:234 [pid=3017077 tid=3017077] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 10:34:31:234 [pid=3017077 tid=3017077] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 10:52:21:753 [pid=3021642 tid=3021642] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 10:52:21:753 [pid=3021642 tid=3021642] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 10:52:21:753 [pid=3021642 tid=3021642] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 10:52:21:753 [pid=3021642 tid=3021642] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 10:54:18:421 [pid=3022310 tid=3022310] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 10:54:18:421 [pid=3022310 tid=3022310] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 10:54:18:421 [pid=3022310 tid=3022310] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 10:54:18:421 [pid=3022310 tid=3022310] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:03:27:336 [pid=3023991 tid=3023991] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:03:27:336 [pid=3023991 tid=3023991] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:03:27:336 [pid=3023991 tid=3023991] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:03:27:336 [pid=3023991 tid=3023991] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:03:42:250 [pid=3024086 tid=3024086] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:03:42:251 [pid=3024086 tid=3024086] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:03:42:251 [pid=3024086 tid=3024086] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:03:42:251 [pid=3024086 tid=3024086] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:04:04:264 [pid=3024226 tid=3024226] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:04:04:264 [pid=3024226 tid=3024226] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:04:04:264 [pid=3024226 tid=3024226] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:04:04:264 [pid=3024226 tid=3024226] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:05:39:970 [pid=3024741 tid=3024741] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:05:39:970 [pid=3024741 tid=3024741] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:05:39:970 [pid=3024741 tid=3024741] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:05:39:970 [pid=3024741 tid=3024741] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:07:01:687 [pid=3025277 tid=3025277] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:07:01:688 [pid=3025277 tid=3025277] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:07:01:688 [pid=3025277 tid=3025277] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:07:01:688 [pid=3025277 tid=3025277] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:08:55:701 [pid=3025897 tid=3025897] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:08:55:702 [pid=3025897 tid=3025897] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:08:55:702 [pid=3025897 tid=3025897] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:08:55:702 [pid=3025897 tid=3025897] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:09:33:336 [pid=3026373 tid=3026373] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:09:33:336 [pid=3026373 tid=3026373] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:09:33:336 [pid=3026373 tid=3026373] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:09:33:336 [pid=3026373 tid=3026373] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:10:39:621 [pid=3026840 tid=3026840] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:10:39:621 [pid=3026840 tid=3026840] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:10:39:621 [pid=3026840 tid=3026840] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:10:39:621 [pid=3026840 tid=3026840] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:11:17:295 [pid=3027291 tid=3027291] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:11:17:295 [pid=3027291 tid=3027291] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:11:17:295 [pid=3027291 tid=3027291] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:11:17:295 [pid=3027291 tid=3027291] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:13:09:865 [pid=3027875 tid=3027875] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:13:09:865 [pid=3027875 tid=3027875] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:13:09:865 [pid=3027875 tid=3027875] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:13:09:865 [pid=3027875 tid=3027875] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:39:21:262 [pid=3032182 tid=3032182] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:39:21:262 [pid=3032182 tid=3032182] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:39:21:262 [pid=3032182 tid=3032182] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:39:21:262 [pid=3032182 tid=3032182] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:39:55:842 [pid=3032501 tid=3032501] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:39:55:842 [pid=3032501 tid=3032501] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:39:55:842 [pid=3032501 tid=3032501] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:39:55:842 [pid=3032501 tid=3032501] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:40:44:887 [pid=3032863 tid=3032863] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:40:44:887 [pid=3032863 tid=3032863] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:40:44:887 [pid=3032863 tid=3032863] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:40:44:887 [pid=3032863 tid=3032863] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:42:03:406 [pid=3033300 tid=3033300] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:42:03:406 [pid=3033300 tid=3033300] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:42:03:406 [pid=3033300 tid=3033300] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:42:03:406 [pid=3033300 tid=3033300] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:42:39:398 [pid=3033608 tid=3033608] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:42:39:398 [pid=3033608 tid=3033608] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:42:39:398 [pid=3033608 tid=3033608] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:42:39:398 [pid=3033608 tid=3033608] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:44:13:493 [pid=3034062 tid=3034062] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:44:13:493 [pid=3034062 tid=3034062] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:44:13:493 [pid=3034062 tid=3034062] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:44:13:493 [pid=3034062 tid=3034062] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:46:59:529 [pid=3034661 tid=3034661] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:46:59:529 [pid=3034661 tid=3034661] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:46:59:529 [pid=3034661 tid=3034661] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:46:59:529 [pid=3034661 tid=3034661] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 11:47:41:500 [pid=3034988 tid=3034988] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 11:47:41:500 [pid=3034988 tid=3034988] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 11:47:41:500 [pid=3034988 tid=3034988] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 11:47:41:500 [pid=3034988 tid=3034988] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:16:40:877 [pid=3046969 tid=3046969] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:16:40:877 [pid=3046969 tid=3046969] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:16:40:877 [pid=3046969 tid=3046969] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:16:40:877 [pid=3046969 tid=3046969] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:18:10:342 [pid=3047430 tid=3047430] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:18:10:342 [pid=3047430 tid=3047430] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:18:10:342 [pid=3047430 tid=3047430] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:18:10:342 [pid=3047430 tid=3047430] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:18:42:514 [pid=3047698 tid=3047698] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:18:42:514 [pid=3047698 tid=3047698] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:18:42:514 [pid=3047698 tid=3047698] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:18:42:514 [pid=3047698 tid=3047698] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:20:44:941 [pid=3048164 tid=3048164] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:20:44:941 [pid=3048164 tid=3048164] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:20:44:942 [pid=3048164 tid=3048164] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:20:44:942 [pid=3048164 tid=3048164] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:25:38:738 [pid=3049024 tid=3049024] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:25:38:738 [pid=3049024 tid=3049024] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:25:38:738 [pid=3049024 tid=3049024] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:25:38:738 [pid=3049024 tid=3049024] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:26:09:242 [pid=3049362 tid=3049362] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:26:09:242 [pid=3049362 tid=3049362] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:26:09:242 [pid=3049362 tid=3049362] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:26:09:242 [pid=3049362 tid=3049362] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:27:41:674 [pid=3049781 tid=3049781] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:27:41:674 [pid=3049781 tid=3049781] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:27:41:674 [pid=3049781 tid=3049781] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:27:41:674 [pid=3049781 tid=3049781] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:27:56:587 [pid=3050042 tid=3050042] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:27:56:587 [pid=3050042 tid=3050042] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:27:56:587 [pid=3050042 tid=3050042] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:27:56:587 [pid=3050042 tid=3050042] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:29:10:26 [pid=3050507 tid=3050507] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:29:10:26 [pid=3050507 tid=3050507] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:29:10:26 [pid=3050507 tid=3050507] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:29:10:26 [pid=3050507 tid=3050507] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:29:44:712 [pid=3050884 tid=3050884] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:29:44:712 [pid=3050884 tid=3050884] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:29:44:712 [pid=3050884 tid=3050884] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:29:44:712 [pid=3050884 tid=3050884] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:30:57:322 [pid=3051292 tid=3051292] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:30:57:322 [pid=3051292 tid=3051292] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:30:57:322 [pid=3051292 tid=3051292] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:30:57:322 [pid=3051292 tid=3051292] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:31:44:509 [pid=3051720 tid=3051720] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:31:44:510 [pid=3051720 tid=3051720] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:31:44:510 [pid=3051720 tid=3051720] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:31:44:510 [pid=3051720 tid=3051720] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:33:10:477 [pid=3052209 tid=3052209] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:33:10:477 [pid=3052209 tid=3052209] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:33:10:477 [pid=3052209 tid=3052209] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:33:10:477 [pid=3052209 tid=3052209] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:33:44:163 [pid=3052582 tid=3052582] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:33:44:163 [pid=3052582 tid=3052582] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:33:44:163 [pid=3052582 tid=3052582] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:33:44:163 [pid=3052582 tid=3052582] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:35:50:199 [pid=3053145 tid=3053145] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:35:50:199 [pid=3053145 tid=3053145] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:35:50:199 [pid=3053145 tid=3053145] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:35:50:199 [pid=3053145 tid=3053145] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:36:29:44 [pid=3053951 tid=3053951] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:36:29:44 [pid=3053951 tid=3053951] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:36:29:44 [pid=3053951 tid=3053951] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:36:29:44 [pid=3053951 tid=3053951] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:37:26:505 [pid=3054409 tid=3054409] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:37:26:505 [pid=3054409 tid=3054409] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:37:26:505 [pid=3054409 tid=3054409] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:37:26:505 [pid=3054409 tid=3054409] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:37:53:513 [pid=3054777 tid=3054777] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:37:53:513 [pid=3054777 tid=3054777] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:37:53:513 [pid=3054777 tid=3054777] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:37:53:513 [pid=3054777 tid=3054777] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:38:20:413 [pid=3055133 tid=3055133] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:38:20:414 [pid=3055133 tid=3055133] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:38:20:414 [pid=3055133 tid=3055133] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:38:20:414 [pid=3055133 tid=3055133] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:39:12:579 [pid=3055623 tid=3055623] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:39:12:579 [pid=3055623 tid=3055623] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:39:12:579 [pid=3055623 tid=3055623] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:39:12:579 [pid=3055623 tid=3055623] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:39:45:869 [pid=3056004 tid=3056004] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:39:45:869 [pid=3056004 tid=3056004] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:39:45:869 [pid=3056004 tid=3056004] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:39:45:869 [pid=3056004 tid=3056004] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:43:17:734 [pid=3056819 tid=3056819] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:43:17:734 [pid=3056819 tid=3056819] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:43:17:734 [pid=3056819 tid=3056819] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:43:17:734 [pid=3056819 tid=3056819] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:43:57:722 [pid=3057233 tid=3057233] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:43:57:722 [pid=3057233 tid=3057233] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:43:57:722 [pid=3057233 tid=3057233] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:43:57:722 [pid=3057233 tid=3057233] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:47:42:85 [pid=3057968 tid=3057968] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:47:42:85 [pid=3057968 tid=3057968] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:47:42:85 [pid=3057968 tid=3057968] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:47:42:85 [pid=3057968 tid=3057968] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:48:42:517 [pid=3058432 tid=3058432] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:48:42:517 [pid=3058432 tid=3058432] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:48:42:517 [pid=3058432 tid=3058432] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:48:42:517 [pid=3058432 tid=3058432] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:52:04:776 [pid=3059169 tid=3059169] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:52:04:776 [pid=3059169 tid=3059169] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:52:04:776 [pid=3059169 tid=3059169] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:52:04:776 [pid=3059169 tid=3059169] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:54:22:97 [pid=3059818 tid=3059818] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:54:22:98 [pid=3059818 tid=3059818] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:54:22:98 [pid=3059818 tid=3059818] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:54:22:98 [pid=3059818 tid=3059818] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:55:05:317 [pid=3061775 tid=3061775] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:55:05:318 [pid=3061775 tid=3061775] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:55:05:318 [pid=3061775 tid=3061775] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:55:05:318 [pid=3061775 tid=3061775] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:57:03:547 [pid=3062437 tid=3062437] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:57:03:547 [pid=3062437 tid=3062437] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:57:03:547 [pid=3062437 tid=3062437] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:57:03:547 [pid=3062437 tid=3062437] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:57:50:204 [pid=3062879 tid=3062879] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:57:50:204 [pid=3062879 tid=3062879] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:57:50:204 [pid=3062879 tid=3062879] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:57:50:204 [pid=3062879 tid=3062879] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:58:22:498 [pid=3063249 tid=3063249] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:58:22:499 [pid=3063249 tid=3063249] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:58:22:499 [pid=3063249 tid=3063249] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:58:22:499 [pid=3063249 tid=3063249] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 13:58:50:159 [pid=3063617 tid=3063617] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 13:58:50:160 [pid=3063617 tid=3063617] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 13:58:50:160 [pid=3063617 tid=3063617] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 13:58:50:160 [pid=3063617 tid=3063617] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:02:28:954 [pid=3065778 tid=3065778] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:02:28:954 [pid=3065778 tid=3065778] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:02:28:954 [pid=3065778 tid=3065778] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:02:28:954 [pid=3065778 tid=3065778] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:02:57:204 [pid=3066149 tid=3066149] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:02:57:204 [pid=3066149 tid=3066149] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:02:57:204 [pid=3066149 tid=3066149] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:02:57:204 [pid=3066149 tid=3066149] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:03:44:253 [pid=3066569 tid=3066569] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:03:44:254 [pid=3066569 tid=3066569] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:03:44:254 [pid=3066569 tid=3066569] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:03:44:254 [pid=3066569 tid=3066569] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:08:08:333 [pid=3067545 tid=3067545] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:08:08:333 [pid=3067545 tid=3067545] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:08:08:333 [pid=3067545 tid=3067545] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:08:08:333 [pid=3067545 tid=3067545] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:14:25:479 [pid=3068627 tid=3068627] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:14:25:479 [pid=3068627 tid=3068627] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:14:25:479 [pid=3068627 tid=3068627] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:14:25:479 [pid=3068627 tid=3068627] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:15:08:20 [pid=3069001 tid=3069001] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:15:08:20 [pid=3069001 tid=3069001] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:15:08:21 [pid=3069001 tid=3069001] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:15:08:21 [pid=3069001 tid=3069001] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:16:44:645 [pid=3069459 tid=3069459] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:16:44:645 [pid=3069459 tid=3069459] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:16:44:645 [pid=3069459 tid=3069459] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:16:44:645 [pid=3069459 tid=3069459] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:17:20:545 [pid=3069930 tid=3069930] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:17:20:545 [pid=3069930 tid=3069930] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:17:20:545 [pid=3069930 tid=3069930] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:17:20:545 [pid=3069930 tid=3069930] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:18:10:780 [pid=3070362 tid=3070362] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:18:10:780 [pid=3070362 tid=3070362] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:18:10:780 [pid=3070362 tid=3070362] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:18:10:780 [pid=3070362 tid=3070362] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:19:00:76 [pid=3070761 tid=3070761] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:19:00:76 [pid=3070761 tid=3070761] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:19:00:76 [pid=3070761 tid=3070761] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:19:00:76 [pid=3070761 tid=3070761] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:20:21:233 [pid=3071212 tid=3071212] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:20:21:233 [pid=3071212 tid=3071212] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:20:21:233 [pid=3071212 tid=3071212] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:20:21:233 [pid=3071212 tid=3071212] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:21:24:722 [pid=3071634 tid=3071634] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:21:24:722 [pid=3071634 tid=3071634] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:21:24:722 [pid=3071634 tid=3071634] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:21:24:722 [pid=3071634 tid=3071634] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:27:29:890 [pid=3073007 tid=3073007] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:27:29:890 [pid=3073007 tid=3073007] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:27:29:890 [pid=3073007 tid=3073007] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:27:29:891 [pid=3073007 tid=3073007] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:28:27:668 [pid=3073430 tid=3073430] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:28:27:668 [pid=3073430 tid=3073430] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:28:27:668 [pid=3073430 tid=3073430] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:28:27:668 [pid=3073430 tid=3073430] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:29:01:173 [pid=3073819 tid=3073819] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:29:01:173 [pid=3073819 tid=3073819] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:29:01:173 [pid=3073819 tid=3073819] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:29:01:173 [pid=3073819 tid=3073819] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:30:32:384 [pid=3074295 tid=3074295] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:30:32:384 [pid=3074295 tid=3074295] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:30:32:384 [pid=3074295 tid=3074295] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:30:32:384 [pid=3074295 tid=3074295] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:31:42:785 [pid=3074770 tid=3074770] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:31:42:785 [pid=3074770 tid=3074770] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:31:42:785 [pid=3074770 tid=3074770] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:31:42:785 [pid=3074770 tid=3074770] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:34:48:54 [pid=3075560 tid=3075560] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:34:48:54 [pid=3075560 tid=3075560] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:34:48:54 [pid=3075560 tid=3075560] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:34:48:54 [pid=3075560 tid=3075560] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:40:42:221 [pid=3077174 tid=3077174] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:40:42:221 [pid=3077174 tid=3077174] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:40:42:221 [pid=3077174 tid=3077174] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:40:42:221 [pid=3077174 tid=3077174] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:44:40:621 [pid=3077936 tid=3077936] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:44:40:621 [pid=3077936 tid=3077936] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:44:40:621 [pid=3077936 tid=3077936] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:44:40:621 [pid=3077936 tid=3077936] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:52:53:99 [pid=3079656 tid=3079656] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:52:53:99 [pid=3079656 tid=3079656] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:52:53:99 [pid=3079656 tid=3079656] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:52:53:99 [pid=3079656 tid=3079656] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:56:12:863 [pid=3080463 tid=3080463] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:56:12:863 [pid=3080463 tid=3080463] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:56:12:863 [pid=3080463 tid=3080463] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:56:12:863 [pid=3080463 tid=3080463] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 14:58:55:979 [pid=3081230 tid=3081230] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 14:58:55:979 [pid=3081230 tid=3081230] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 14:58:55:979 [pid=3081230 tid=3081230] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 14:58:55:979 [pid=3081230 tid=3081230] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 15:00:19:144 [pid=3081741 tid=3081741] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 15:00:19:144 [pid=3081741 tid=3081741] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 15:00:19:144 [pid=3081741 tid=3081741] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 15:00:19:144 [pid=3081741 tid=3081741] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 15:31:19:472 [pid=3088144 tid=3088144] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 15:31:19:472 [pid=3088144 tid=3088144] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 15:31:19:472 [pid=3088144 tid=3088144] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 15:31:19:472 [pid=3088144 tid=3088144] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 15:34:07:700 [pid=3088813 tid=3088813] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 15:34:07:700 [pid=3088813 tid=3088813] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 15:34:07:700 [pid=3088813 tid=3088813] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 15:34:07:700 [pid=3088813 tid=3088813] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 15:43:23:963 [pid=3091376 tid=3091376] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 15:43:23:963 [pid=3091376 tid=3091376] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 15:43:23:963 [pid=3091376 tid=3091376] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 15:43:23:963 [pid=3091376 tid=3091376] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 15:44:10:635 [pid=3091746 tid=3091746] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 15:44:10:635 [pid=3091746 tid=3091746] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 15:44:10:635 [pid=3091746 tid=3091746] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 15:44:10:635 [pid=3091746 tid=3091746] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 15:46:13:973 [pid=3092293 tid=3092293] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 15:46:13:973 [pid=3092293 tid=3092293] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 15:46:13:973 [pid=3092293 tid=3092293] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 15:46:13:973 [pid=3092293 tid=3092293] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 15:48:43:330 [pid=3092903 tid=3092903] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 15:48:43:330 [pid=3092903 tid=3092903] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 15:48:43:330 [pid=3092903 tid=3092903] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 15:48:43:330 [pid=3092903 tid=3092903] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 15:57:59:759 [pid=3094740 tid=3094740] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 15:57:59:759 [pid=3094740 tid=3094740] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 15:57:59:759 [pid=3094740 tid=3094740] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 15:57:59:759 [pid=3094740 tid=3094740] NOTICE  cufio-drv:705 running in compatible mode
+ 26-01-2023 16:07:24:902 [pid=3096359 tid=3096359] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 26-01-2023 16:07:24:902 [pid=3096359 tid=3096359] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 26-01-2023 16:07:24:902 [pid=3096359 tid=3096359] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 26-01-2023 16:07:24:902 [pid=3096359 tid=3096359] NOTICE  cufio-drv:705 running in compatible mode
+ 30-01-2023 17:08:06:80 [pid=3315791 tid=3315791] NOTICE  cufio-drv:625 running in compatible mode
+ 30-01-2023 17:16:25:632 [pid=3317901 tid=3317901] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 10:47:13:520 [pid=2371840 tid=2371840] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 15:51:28:529 [pid=1204876 tid=1204876] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 09-02-2023 15:51:28:529 [pid=1204876 tid=1204876] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 09-02-2023 15:51:28:529 [pid=1204876 tid=1204876] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 09-02-2023 15:51:28:529 [pid=1204876 tid=1204876] NOTICE  cufio-drv:705 running in compatible mode
+ 09-02-2023 15:53:56:288 [pid=2444555 tid=2444555] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 15:56:59:904 [pid=2445985 tid=2445985] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:05:06:20 [pid=2450552 tid=2450552] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:06:25:400 [pid=2451273 tid=2451273] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:08:16:828 [pid=1208752 tid=1208752] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 09-02-2023 16:08:16:828 [pid=1208752 tid=1208752] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 09-02-2023 16:08:16:828 [pid=1208752 tid=1208752] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 09-02-2023 16:08:16:828 [pid=1208752 tid=1208752] NOTICE  cufio-drv:705 running in compatible mode
+ 09-02-2023 16:09:38:851 [pid=1209096 tid=1209096] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 09-02-2023 16:09:38:851 [pid=1209096 tid=1209096] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 09-02-2023 16:09:38:851 [pid=1209096 tid=1209096] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 09-02-2023 16:09:38:851 [pid=1209096 tid=1209096] NOTICE  cufio-drv:705 running in compatible mode
+ 09-02-2023 16:10:18:308 [pid=2452627 tid=2452627] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:11:54:236 [pid=2453364 tid=2453364] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:15:40:636 [pid=2454723 tid=2454723] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:16:44:252 [pid=2455365 tid=2455365] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:20:44:860 [pid=2456479 tid=2456479] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:22:48:388 [pid=2457062 tid=2457062] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:25:13:948 [pid=2458369 tid=2458369] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:27:00:720 [pid=2459309 tid=2459309] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:30:25:260 [pid=2460624 tid=2460624] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:35:06:8 [pid=2462194 tid=2462194] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:40:10:924 [pid=2464026 tid=2464026] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:45:03:496 [pid=2465789 tid=2465789] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:47:49:168 [pid=2466960 tid=2466960] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:53:19:208 [pid=2468858 tid=2468858] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:56:57:688 [pid=2470360 tid=2470360] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 16:59:43:256 [pid=2471606 tid=2471606] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 17:02:52:616 [pid=2472885 tid=2472885] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 17:11:16:4 [pid=2475558 tid=2475558] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 17:20:59:368 [pid=2478592 tid=2478592] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 18:38:20:736 [pid=2499410 tid=2499410] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 18:46:20:120 [pid=2502009 tid=2502009] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 18:49:27:712 [pid=2503320 tid=2503320] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 18:51:55:72 [pid=2504394 tid=2504394] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 18:56:25:24 [pid=2506055 tid=2506055] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 18:58:32:112 [pid=2507053 tid=2507053] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 19:00:40:72 [pid=2508095 tid=2508095] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 19:05:56:36 [pid=2509892 tid=2509892] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 19:12:29:344 [pid=2512072 tid=2512072] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 19:42:57:700 [pid=2521147 tid=2521147] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 19:44:26:996 [pid=2521780 tid=2521780] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 19:46:20:232 [pid=2522592 tid=2522592] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 19:51:02:452 [pid=2524018 tid=2524018] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 19:54:37:508 [pid=2525102 tid=2525102] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 19:55:58:864 [pid=2525537 tid=2525537] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 19:57:22:880 [pid=2526058 tid=2526058] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 19:58:41:312 [pid=2526547 tid=2526547] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 20:01:45:68 [pid=2527504 tid=2527504] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 20:02:18:432 [pid=2527862 tid=2527862] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 20:05:35:996 [pid=2528921 tid=2528921] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 20:07:14:664 [pid=2529486 tid=2529486] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 20:09:10:560 [pid=2530132 tid=2530132] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 20:09:59:436 [pid=2530518 tid=2530518] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 20:12:44:348 [pid=2531312 tid=2531312] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 20:14:18:588 [pid=2531799 tid=2531799] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 20:16:46:120 [pid=2532592 tid=2532592] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 20:19:03:744 [pid=2533260 tid=2533260] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 20:20:18:864 [pid=2533784 tid=2533784] NOTICE  cufio-drv:625 running in compatible mode
+ 09-02-2023 20:22:17:416 [pid=2534377 tid=2534377] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 09:11:07:656 [pid=2744067 tid=2744067] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 09:17:51:996 [pid=2746355 tid=2746355] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 09:19:48:760 [pid=2747040 tid=2747040] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 09:21:18:908 [pid=2747726 tid=2747726] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 09:21:43:992 [pid=2748112 tid=2748112] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 09:23:05:256 [pid=2748714 tid=2748714] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 09:26:30:772 [pid=2749908 tid=2749908] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 09:35:50:224 [pid=2752693 tid=2752693] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 09:43:05:124 [pid=2754940 tid=2754940] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 10:11:54:348 [pid=2763112 tid=2763112] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 10:13:02:712 [pid=2763666 tid=2763666] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 12:24:56:214 [pid=2797868 tid=2797868] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 12:32:56:505 [pid=2800660 tid=2800660] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 12:41:25:620 [pid=2802881 tid=2802881] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 12:44:12:198 [pid=2803668 tid=2803668] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 14:04:29:756 [pid=2820928 tid=2820928] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 14:07:55:546 [pid=2821865 tid=2821865] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 14:11:04:634 [pid=2822741 tid=2822741] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 14:14:31:605 [pid=2823758 tid=2823758] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 14:17:30:157 [pid=2824768 tid=2824768] NOTICE  cufio-drv:625 running in compatible mode
+ 10-02-2023 14:19:55:756 [pid=2825492 tid=2825492] NOTICE  cufio-drv:625 running in compatible mode
+ 13-02-2023 16:04:59:964 [pid=3727449 tid=3727449] NOTICE  cufio-drv:625 running in compatible mode
+ 13-02-2023 16:07:03:820 [pid=3728188 tid=3728188] NOTICE  cufio-drv:625 running in compatible mode
+ 13-02-2023 16:32:36:804 [pid=3733602 tid=3733602] NOTICE  cufio-drv:625 running in compatible mode
+ 13-02-2023 16:35:16:372 [pid=3734292 tid=3734292] NOTICE  cufio-drv:625 running in compatible mode
+ 13-02-2023 16:36:29:676 [pid=3734903 tid=3734903] NOTICE  cufio-drv:625 running in compatible mode
+ 13-02-2023 16:38:40:656 [pid=3735557 tid=3735557] NOTICE  cufio-drv:625 running in compatible mode
+ 13-02-2023 16:50:06:228 [pid=3738047 tid=3738047] NOTICE  cufio-drv:625 running in compatible mode
+ 13-02-2023 16:51:08:848 [pid=3738476 tid=3738476] NOTICE  cufio-drv:625 running in compatible mode
+ 14-02-2023 12:38:27:984 [pid=3979361 tid=3979361] NOTICE  cufio-drv:625 running in compatible mode
+ 14-02-2023 14:02:26:408 [pid=3996623 tid=3996623] NOTICE  cufio-drv:625 running in compatible mode
+ 14-02-2023 14:39:23:476 [pid=4004274 tid=4004274] NOTICE  cufio-drv:625 running in compatible mode
+ 14-02-2023 23:03:04:628 [pid=4106788 tid=4106788] NOTICE  cufio-drv:625 running in compatible mode
+ 14-02-2023 23:04:05:296 [pid=4107091 tid=4107091] NOTICE  cufio-drv:625 running in compatible mode
+ 14-02-2023 23:04:43:188 [pid=4107333 tid=4107333] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 00:18:10:188 [pid=4123166 tid=4123166] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 00:24:43:736 [pid=4124638 tid=4124638] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 00:44:11:408 [pid=4128728 tid=4128728] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 00:47:00:616 [pid=4129453 tid=4129453] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 00:48:06:796 [pid=4129812 tid=4129812] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 00:48:30:232 [pid=4130063 tid=4130063] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 00:54:20:808 [pid=4131348 tid=4131348] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 01:09:21:724 [pid=4134470 tid=4134470] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 01:09:51:180 [pid=4134730 tid=4134730] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 09:41:23:360 [pid=46418 tid=46418] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 09:43:32:352 [pid=47096 tid=47096] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 09:46:47:640 [pid=48036 tid=48036] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 09:47:26:720 [pid=48407 tid=48407] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 09:47:53:908 [pid=48701 tid=48701] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:08:04:308 [pid=53054 tid=53054] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:09:44:808 [pid=53606 tid=53606] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:11:09:284 [pid=54086 tid=54086] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:11:55:548 [pid=54471 tid=54471] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:13:46:68 [pid=55091 tid=55091] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:14:50:696 [pid=55640 tid=55640] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:28:19:316 [pid=58748 tid=58748] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:30:13:116 [pid=59471 tid=59471] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:31:38:736 [pid=60112 tid=60112] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:35:03:208 [pid=61121 tid=61121] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:39:10:384 [pid=62340 tid=62340] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:40:45:532 [pid=62971 tid=62971] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:47:34:540 [pid=64693 tid=64693] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 10:57:47:276 [pid=67083 tid=67083] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 11:30:35:676 [pid=74856 tid=74856] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 11:45:56:84 [pid=78323 tid=78323] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 11:47:29:924 [pid=78831 tid=78831] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 11:48:58:180 [pid=79324 tid=79324] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 11:51:54:744 [pid=80171 tid=80171] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 13:54:02:892 [pid=106038 tid=106038] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 13:59:08:668 [pid=107469 tid=107469] NOTICE  cufio-drv:625 running in compatible mode
+ 15-02-2023 15:59:22:784 [pid=132382 tid=132382] NOTICE  cufio-drv:625 running in compatible mode
+ 17-02-2023 10:45:58:428 [pid=658841 tid=658841] NOTICE  cufio-drv:625 running in compatible mode
+ 17-02-2023 10:48:05:416 [pid=659539 tid=659539] NOTICE  cufio-drv:625 running in compatible mode
+ 17-02-2023 10:54:07:572 [pid=661155 tid=661155] NOTICE  cufio-drv:625 running in compatible mode
+ 17-02-2023 16:36:35:288 [pid=732467 tid=732467] NOTICE  cufio-drv:625 running in compatible mode
+ 17-02-2023 16:37:32:824 [pid=732881 tid=732881] NOTICE  cufio-drv:625 running in compatible mode
+ 17-02-2023 16:51:15:532 [pid=735999 tid=735999] NOTICE  cufio-drv:625 running in compatible mode
+ 17-02-2023 16:51:59:188 [pid=736292 tid=736292] NOTICE  cufio-drv:625 running in compatible mode
+ 17-02-2023 16:53:32:616 [pid=736770 tid=736770] NOTICE  cufio-drv:625 running in compatible mode
+ 19-02-2023 17:01:19:524 [pid=1325427 tid=1325427] NOTICE  cufio-drv:625 running in compatible mode
+ 19-02-2023 17:02:50:596 [pid=1325829 tid=1325829] NOTICE  cufio-drv:625 running in compatible mode
+ 19-02-2023 17:08:41:272 [pid=1327735 tid=1327735] NOTICE  cufio-drv:625 running in compatible mode
+ 20-02-2023 11:31:01:798 [pid=2804841 tid=2804841] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 20-02-2023 11:31:01:798 [pid=2804841 tid=2804841] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 20-02-2023 11:31:01:798 [pid=2804841 tid=2804841] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 20-02-2023 11:31:01:798 [pid=2804841 tid=2804841] NOTICE  cufio-drv:705 running in compatible mode
+ 20-02-2023 11:37:53:422 [pid=2805615 tid=2805615] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 20-02-2023 11:37:53:422 [pid=2805615 tid=2805615] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 20-02-2023 11:37:53:422 [pid=2805615 tid=2805615] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 20-02-2023 11:37:53:422 [pid=2805615 tid=2805615] NOTICE  cufio-drv:705 running in compatible mode
+ 20-02-2023 11:39:17:812 [pid=2805812 tid=2805812] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 20-02-2023 11:39:17:812 [pid=2805812 tid=2805812] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 20-02-2023 11:39:17:812 [pid=2805812 tid=2805812] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 20-02-2023 11:39:17:812 [pid=2805812 tid=2805812] NOTICE  cufio-drv:705 running in compatible mode
+ 20-02-2023 11:40:15:615 [pid=2805996 tid=2805996] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 20-02-2023 11:40:15:615 [pid=2805996 tid=2805996] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 20-02-2023 11:40:15:615 [pid=2805996 tid=2805996] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 20-02-2023 11:40:15:615 [pid=2805996 tid=2805996] NOTICE  cufio-drv:705 running in compatible mode
+ 20-02-2023 11:46:24:588 [pid=2806927 tid=2806927] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 20-02-2023 11:46:24:588 [pid=2806927 tid=2806927] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 20-02-2023 11:46:24:588 [pid=2806927 tid=2806927] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 20-02-2023 11:46:24:588 [pid=2806927 tid=2806927] NOTICE  cufio-drv:705 running in compatible mode
+ 20-02-2023 11:51:11:237 [pid=2807495 tid=2807495] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 20-02-2023 11:51:11:237 [pid=2807495 tid=2807495] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 20-02-2023 11:51:11:237 [pid=2807495 tid=2807495] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 20-02-2023 11:51:11:237 [pid=2807495 tid=2807495] NOTICE  cufio-drv:705 running in compatible mode
+ 20-02-2023 11:52:19:821 [pid=2807719 tid=2807719] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 20-02-2023 11:52:19:821 [pid=2807719 tid=2807719] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 20-02-2023 11:52:19:821 [pid=2807719 tid=2807719] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 20-02-2023 11:52:19:821 [pid=2807719 tid=2807719] NOTICE  cufio-drv:705 running in compatible mode
+ 20-02-2023 11:54:32:446 [pid=2808025 tid=2808025] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 20-02-2023 11:54:32:446 [pid=2808025 tid=2808025] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 20-02-2023 11:54:32:446 [pid=2808025 tid=2808025] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 20-02-2023 11:54:32:446 [pid=2808025 tid=2808025] NOTICE  cufio-drv:705 running in compatible mode
+ 20-02-2023 11:57:42:432 [pid=1561139 tid=1561139] NOTICE  cufio-drv:625 running in compatible mode
+ 20-02-2023 12:01:41:77 [pid=2808960 tid=2808960] ERROR  0:140 unable to load,  liburcu-bp.so.6 
+
+ 20-02-2023 12:01:41:77 [pid=2808960 tid=2808960] ERROR  0:140 unable to load,  liburcu-bp.so.1 
+
+ 20-02-2023 12:01:41:77 [pid=2808960 tid=2808960] WARN   0:172 failed to open /proc/driver/nvidia-fs/devcount  error: No such file or directory
+ 20-02-2023 12:01:41:77 [pid=2808960 tid=2808960] NOTICE  cufio-drv:705 running in compatible mode
+ 20-02-2023 12:02:10:660 [pid=1563455 tid=1563455] NOTICE  cufio-drv:625 running in compatible mode
+ 20-02-2023 12:04:50:208 [pid=1564663 tid=1564663] NOTICE  cufio-drv:625 running in compatible mode
+ 20-02-2023 12:06:42:88 [pid=1565660 tid=1565660] NOTICE  cufio-drv:625 running in compatible mode
+ 21-02-2023 15:24:26:40 [pid=2039509 tid=2039509] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 12:39:39:200 [pid=2460898 tid=2460898] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 12:41:50:868 [pid=2461810 tid=2461810] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 12:53:10:16 [pid=2466453 tid=2466453] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 12:57:08:804 [pid=2467821 tid=2467821] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 13:51:41:868 [pid=2483292 tid=2483292] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 13:53:09:512 [pid=2483868 tid=2483868] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:01:37:444 [pid=2486405 tid=2486405] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:02:17:244 [pid=2486733 tid=2486733] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:02:55:972 [pid=2487043 tid=2487043] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:04:54:88 [pid=2487743 tid=2487743] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:06:00:268 [pid=2488191 tid=2488191] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:07:38:36 [pid=2488793 tid=2488793] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:19:10:672 [pid=2492175 tid=2492175] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:19:52:244 [pid=2492533 tid=2492533] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:20:33:92 [pid=2492817 tid=2492817] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:27:38:956 [pid=2495645 tid=2495645] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:29:28:160 [pid=2496810 tid=2496810] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:40:40:144 [pid=2500671 tid=2500671] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:42:34:24 [pid=2501925 tid=2501925] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 14:52:45:232 [pid=2505496 tid=2505496] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 14:44:16:853 [pid=871047 tid=871047] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 14:45:43:976 [pid=889080 tid=889080] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 14:47:40:636 [pid=910826 tid=910826] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 14:50:48:984 [pid=943775 tid=943775] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 14:52:33:668 [pid=961565 tid=961565] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 15:00:50:332 [pid=1050459 tid=1050459] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 15:08:12:572 [pid=1130111 tid=1130111] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 15:17:17:516 [pid=1227392 tid=1227392] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 16:14:55:444 [pid=1862554 tid=1862554] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 16:16:18:748 [pid=1877906 tid=1877906] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 16:17:45:248 [pid=1893653 tid=1893653] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 16:18:56:72 [pid=1906285 tid=1906285] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 16:22:05:696 [pid=1940292 tid=1940292] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 16:31:21:264 [pid=2042211 tid=2042211] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 16:32:15:76 [pid=2052857 tid=2052857] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 16:33:22:12 [pid=2064974 tid=2064974] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 16:36:37:508 [pid=2100906 tid=2100906] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 16:37:36:692 [pid=2110753 tid=2110753] NOTICE  cufio-drv:625 running in compatible mode
+ 01-03-2023 16:38:56:632 [pid=2125925 tid=2125925] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 15:21:11:924 [pid=3932044 tid=3932044] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 15:22:04:440 [pid=3932546 tid=3932546] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 15:24:02:760 [pid=3933465 tid=3933465] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 15:25:50:432 [pid=3934171 tid=3934171] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 15:26:39:88 [pid=3934656 tid=3934656] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 15:29:21:436 [pid=3935699 tid=3935699] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 15:29:44:528 [pid=3936036 tid=3936036] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 15:30:29:120 [pid=3936521 tid=3936521] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 15:35:30:12 [pid=3938301 tid=3938301] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 15:39:13:988 [pid=3939708 tid=3939708] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 15:43:47:120 [pid=3941593 tid=3941593] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 16:32:02:796 [pid=3958268 tid=3958268] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 16:43:42:692 [pid=3962474 tid=3962474] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 16:46:49:656 [pid=3963773 tid=3963773] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 16:48:34:84 [pid=3964590 tid=3964590] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 16:49:17:708 [pid=3965001 tid=3965001] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 16:53:13:560 [pid=3966444 tid=3966444] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 16:55:07:996 [pid=3967545 tid=3967545] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 16:57:38:656 [pid=3968530 tid=3968530] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 17:02:38:212 [pid=3970560 tid=3970560] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 17:04:22:36 [pid=3971281 tid=3971281] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 17:13:16:348 [pid=3974506 tid=3974506] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 17:17:39:848 [pid=3976234 tid=3976234] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 17:18:30:708 [pid=3976883 tid=3976883] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 17:21:58:488 [pid=3978403 tid=3978403] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 17:31:05:428 [pid=3981827 tid=3981827] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 17:41:57:496 [pid=3986694 tid=3986694] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 17:45:41:432 [pid=3988342 tid=3988342] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 17:47:41:116 [pid=3989078 tid=3989078] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 17:48:20:972 [pid=3989469 tid=3989469] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:24:06:172 [pid=4001816 tid=4001816] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:28:18:560 [pid=4004277 tid=4004277] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:32:05:980 [pid=4006031 tid=4006031] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:32:41:500 [pid=4006439 tid=4006439] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:33:44:132 [pid=4007583 tid=4007583] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:36:22:684 [pid=4009011 tid=4009011] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:37:36:60 [pid=4009505 tid=4009505] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:43:13:816 [pid=4012006 tid=4012006] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:47:44:548 [pid=4013932 tid=4013932] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:50:14:560 [pid=4015266 tid=4015266] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:54:06:548 [pid=4016985 tid=4016985] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:55:25:868 [pid=4018002 tid=4018002] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 18:58:10:216 [pid=4019443 tid=4019443] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 19:13:48:924 [pid=4025438 tid=4025438] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 19:18:58:432 [pid=4027840 tid=4027840] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 19:20:34:384 [pid=4028574 tid=4028574] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 19:26:46:688 [pid=4031745 tid=4031745] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 19:27:01:564 [pid=4031906 tid=4031906] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 19:30:26:336 [pid=4033612 tid=4033612] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 19:44:12:956 [pid=4038723 tid=4038723] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 19:46:13:888 [pid=4039942 tid=4039942] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 19:48:06:356 [pid=4041141 tid=4041141] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 19:51:42:808 [pid=4042897 tid=4042897] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 19:52:48:528 [pid=4043432 tid=4043432] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 19:56:27:104 [pid=4045545 tid=4045545] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 20:00:02:56 [pid=4047129 tid=4047129] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 20:02:51:512 [pid=4048634 tid=4048634] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 20:09:40:892 [pid=4051046 tid=4051046] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 20:12:04:136 [pid=4052298 tid=4052298] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 20:15:00:784 [pid=4053581 tid=4053581] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 20:15:30:456 [pid=4054201 tid=4054201] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 20:16:59:544 [pid=4055130 tid=4055130] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 20:19:47:60 [pid=4056345 tid=4056345] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 20:21:12:440 [pid=4057256 tid=4057256] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 20:22:35:376 [pid=4058174 tid=4058174] NOTICE  cufio-drv:625 running in compatible mode
+ 02-03-2023 20:23:24:708 [pid=4058870 tid=4058870] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 10:32:43:776 [pid=91689 tid=91689] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 10:37:51:76 [pid=93712 tid=93712] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 10:40:21:512 [pid=94717 tid=94717] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 10:44:09:548 [pid=96216 tid=96216] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 10:46:48:792 [pid=97323 tid=97323] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 10:59:36:552 [pid=101087 tid=101087] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 11:02:15:868 [pid=102214 tid=102214] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 11:03:18:232 [pid=102770 tid=102770] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 12:05:34:52 [pid=127160 tid=127160] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 12:56:32:148 [pid=146893 tid=146893] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 14:23:35:476 [pid=171302 tid=171302] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 14:26:28:104 [pid=172548 tid=172548] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 14:29:15:792 [pid=173729 tid=173729] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 14:37:18:100 [pid=176601 tid=176601] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 14:45:14:320 [pid=179463 tid=179463] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 15:08:30:120 [pid=186107 tid=186107] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 15:21:18:188 [pid=189983 tid=189983] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 15:24:26:616 [pid=191281 tid=191281] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 15:34:14:872 [pid=194309 tid=194309] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 15:40:23:480 [pid=196557 tid=196557] NOTICE  cufio-drv:625 running in compatible mode
+ 03-03-2023 15:43:05:72 [pid=197695 tid=197695] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 10:35:08:568 [pid=1252144 tid=1252144] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 10:36:45:996 [pid=1252728 tid=1252728] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 10:52:52:56 [pid=1257143 tid=1257143] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 10:53:31:412 [pid=1257509 tid=1257509] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 10:54:31:44 [pid=1257855 tid=1257855] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 10:55:47:692 [pid=1258324 tid=1258324] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 10:57:25:116 [pid=1258868 tid=1258868] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:00:36:168 [pid=1259883 tid=1259883] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:02:12:24 [pid=1260439 tid=1260439] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:04:20:164 [pid=1261174 tid=1261174] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:05:03:740 [pid=1261570 tid=1261570] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:06:02:628 [pid=1262026 tid=1262026] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:06:38:436 [pid=1262338 tid=1262338] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:11:35:640 [pid=1263874 tid=1263874] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:12:26:444 [pid=1264243 tid=1264243] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:12:50:156 [pid=1264532 tid=1264532] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:13:10:556 [pid=1264795 tid=1264795] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:14:35:164 [pid=1265346 tid=1265346] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:15:32:12 [pid=1265733 tid=1265733] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:24:12:696 [pid=1268238 tid=1268238] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:25:48:476 [pid=1269039 tid=1269039] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:27:39:632 [pid=1270328 tid=1270328] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:28:13:612 [pid=1270653 tid=1270653] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:30:27:904 [pid=1271433 tid=1271433] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:32:39:248 [pid=1272149 tid=1272149] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:33:43:148 [pid=1272616 tid=1272616] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:43:33:8 [pid=1275435 tid=1275435] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:45:00:556 [pid=1275921 tid=1275921] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:45:34:4 [pid=1276264 tid=1276264] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:46:44:308 [pid=1276724 tid=1276724] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:47:52:768 [pid=1277226 tid=1277226] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:48:27:548 [pid=1277536 tid=1277536] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:49:17:936 [pid=1277931 tid=1277931] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:50:32:272 [pid=1278424 tid=1278424] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:51:38:108 [pid=1278945 tid=1278945] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:55:05:656 [pid=1279960 tid=1279960] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 11:56:03:340 [pid=1280408 tid=1280408] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 12:02:28:876 [pid=1283084 tid=1283084] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 12:08:03:944 [pid=1285241 tid=1285241] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 12:08:57:352 [pid=1285750 tid=1285750] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 12:19:18:432 [pid=1289093 tid=1289093] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 12:20:39:800 [pid=1289594 tid=1289594] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 12:22:53:176 [pid=1290389 tid=1290389] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 12:23:52:856 [pid=1290825 tid=1290825] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 12:28:05:812 [pid=1292719 tid=1292719] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 13:33:59:112 [pid=1310638 tid=1310638] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 13:34:33:156 [pid=1310974 tid=1310974] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 13:36:47:536 [pid=1311757 tid=1311757] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 13:40:05:364 [pid=1312922 tid=1312922] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 13:47:36:72 [pid=1315707 tid=1315707] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:13:22:852 [pid=1347987 tid=1347987] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:22:30:504 [pid=1352337 tid=1352337] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:24:36:240 [pid=1353475 tid=1353475] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:25:52:920 [pid=1354245 tid=1354245] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:39:33:224 [pid=1363402 tid=1363402] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:41:41:568 [pid=1365003 tid=1365003] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:42:27:332 [pid=1365619 tid=1365619] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:43:32:600 [pid=1366487 tid=1366487] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:43:37:700 [pid=1366644 tid=1366644] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:43:47:260 [pid=1366857 tid=1366857] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:46:19:80 [pid=1368241 tid=1368241] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:47:16:696 [pid=1368827 tid=1368827] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:48:40:72 [pid=1369759 tid=1369759] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:52:33:988 [pid=1371666 tid=1371666] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:53:16:376 [pid=1372205 tid=1372205] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:56:40:784 [pid=1373977 tid=1373977] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:58:06:28 [pid=1374824 tid=1374824] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 15:58:56:300 [pid=1375380 tid=1375380] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 16:00:43:668 [pid=1376424 tid=1376424] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 16:02:24:556 [pid=1377421 tid=1377421] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 16:04:33:468 [pid=1378619 tid=1378619] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 16:12:37:264 [pid=1384589 tid=1384589] NOTICE  cufio-drv:625 running in compatible mode
+ 06-03-2023 16:15:55:240 [pid=1387119 tid=1387119] NOTICE  cufio-drv:625 running in compatible mode
+ 07-03-2023 09:51:20:968 [pid=1692812 tid=1692812] NOTICE  cufio-drv:625 running in compatible mode
+ 07-03-2023 09:53:33:324 [pid=1693857 tid=1693857] NOTICE  cufio-drv:625 running in compatible mode
+ 08-03-2023 10:13:33:340 [pid=2112663 tid=2112663] NOTICE  cufio-drv:625 running in compatible mode
+ 08-03-2023 10:15:47:640 [pid=2113736 tid=2113736] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 11:11:09:904 [pid=923594 tid=923594] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 11:13:32:916 [pid=925256 tid=925256] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 11:30:10:424 [pid=933020 tid=933020] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 11:32:08:908 [pid=934855 tid=934855] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 11:34:35:832 [pid=936297 tid=936297] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 11:36:39:132 [pid=937464 tid=937464] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 11:38:51:596 [pid=938728 tid=938728] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 11:54:18:120 [pid=945733 tid=945733] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 11:55:13:912 [pid=946464 tid=946464] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 11:58:31:756 [pid=948322 tid=948322] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 11:59:05:336 [pid=948890 tid=948890] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:01:37:604 [pid=950381 tid=950381] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:03:49:452 [pid=951567 tid=951567] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:04:41:308 [pid=952302 tid=952302] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:06:06:60 [pid=953185 tid=953185] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:06:39:332 [pid=953697 tid=953697] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:07:18:604 [pid=954240 tid=954240] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:09:55:488 [pid=955746 tid=955746] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:11:24:532 [pid=957222 tid=957222] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:16:57:596 [pid=960762 tid=960762] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:19:36:372 [pid=962362 tid=962362] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:22:34:856 [pid=964368 tid=964368] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:23:49:188 [pid=965312 tid=965312] NOTICE  cufio-drv:625 running in compatible mode
+ 13-03-2023 12:25:01:100 [pid=966142 tid=966142] NOTICE  cufio-drv:625 running in compatible mode
+����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� 20-03-2023 15:54:29:5 [pid=4049585 tid=4049585] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 16:06:50:432 [pid=733071 tid=733071] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 16:42:35:648 [pid=3299343 tid=3299343] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 16:46:47:252 [pid=3611283 tid=3611283] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 17:02:06:256 [pid=596787 tid=596787] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 17:19:59:832 [pid=1926409 tid=1926409] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 17:55:55:48 [pid=211141 tid=211141] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 17:59:55:372 [pid=479990 tid=479990] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 18:26:43:372 [pid=2340209 tid=2340209] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 21:31:05:388 [pid=2910430 tid=2910430] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 21:48:16:56 [pid=4175730 tid=4175730] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 21:54:37:820 [pid=451871 tid=451871] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:17:36:336 [pid=2154174 tid=2154174] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:24:35:940 [pid=2691975 tid=2691975] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:27:54:524 [pid=2933436 tid=2933436] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:29:20:544 [pid=3044481 tid=3044481] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:33:44:248 [pid=3390030 tid=3390030] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:37:19:416 [pid=3668618 tid=3668618] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:39:11:944 [pid=3815178 tid=3815178] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:44:00:524 [pid=4191882 tid=4191882] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:45:31:340 [pid=114943 tid=114943] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:47:18:532 [pid=255528 tid=255528] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:49:00:588 [pid=387619 tid=387619] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:55:26:896 [pid=886640 tid=886640] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 22:58:19:900 [pid=1111332 tid=1111332] NOTICE  cufio-drv:625 running in compatible mode
+ 20-03-2023 23:02:50:464 [pid=1459074 tid=1459074] NOTICE  cufio-drv:625 running in compatible mode
+ 21-03-2023 17:08:22:477 [pid=1237906 tid=1237906] NOTICE  cufio-drv:625 running in compatible mode
+ 21-03-2023 21:07:11:920 [pid=1358109 tid=1358109] NOTICE  cufio-drv:625 running in compatible mode
+ 21-03-2023 21:08:35:268 [pid=1359265 tid=1359265] NOTICE  cufio-drv:625 running in compatible mode
+ 21-03-2023 21:12:48:124 [pid=1362219 tid=1362219] NOTICE  cufio-drv:625 running in compatible mode
+ 21-03-2023 21:13:37:336 [pid=1362839 tid=1362839] NOTICE  cufio-drv:625 running in compatible mode
+ 21-03-2023 21:15:03:28 [pid=1363747 tid=1363747] NOTICE  cufio-drv:625 running in compatible mode
+ 21-03-2023 21:22:45:304 [pid=1367417 tid=1367417] NOTICE  cufio-drv:625 running in compatible mode
+ 21-03-2023 21:46:40:952 [pid=1378911 tid=1378911] NOTICE  cufio-drv:625 running in compatible mode
+ 21-03-2023 21:57:32:896 [pid=1383958 tid=1383958] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 09:24:02:248 [pid=1672240 tid=1672240] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 09:29:13:116 [pid=1674670 tid=1674670] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 09:31:45:164 [pid=1675922 tid=1675922] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 09:39:35:192 [pid=1679264 tid=1679264] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 10:50:27:908 [pid=1709055 tid=1709055] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 13:01:32:336 [pid=1765386 tid=1765386] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 13:02:22:944 [pid=1765993 tid=1765993] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 13:06:58:224 [pid=1768285 tid=1768285] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 13:15:56:388 [pid=1772024 tid=1772024] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 13:18:39:264 [pid=1773372 tid=1773372] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 13:41:53:984 [pid=1783240 tid=1783240] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 13:42:50:432 [pid=1783837 tid=1783837] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 14:08:24:420 [pid=1795072 tid=1795072] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 14:25:27:72 [pid=1802543 tid=1802543] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 15:49:57:292 [pid=1839086 tid=1839086] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 15:52:55:684 [pid=1840446 tid=1840446] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 16:05:05:436 [pid=1845635 tid=1845635] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 16:11:34:700 [pid=1848452 tid=1848452] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 16:13:48:516 [pid=1849766 tid=1849766] NOTICE  cufio-drv:625 running in compatible mode
+ 22-03-2023 16:46:37:956 [pid=1863800 tid=1863800] NOTICE  cufio-drv:625 running in compatible mode
+ 23-03-2023 11:07:16:372 [pid=2324309 tid=2324309] NOTICE  cufio-drv:625 running in compatible mode
+ 23-03-2023 11:08:04:844 [pid=2324932 tid=2324932] NOTICE  cufio-drv:625 running in compatible mode
+ 23-03-2023 11:09:06:396 [pid=2325605 tid=2325605] NOTICE  cufio-drv:625 running in compatible mode
+ 23-03-2023 11:38:32:704 [pid=2340224 tid=2340224] NOTICE  cufio-drv:625 running in compatible mode
+ 23-03-2023 11:39:41:388 [pid=2340913 tid=2340913] NOTICE  cufio-drv:625 running in compatible mode
+ 23-03-2023 15:50:36:932 [pid=2463967 tid=2463967] NOTICE  cufio-drv:625 running in compatible mode
+ 23-03-2023 15:52:17:140 [pid=2464999 tid=2464999] NOTICE  cufio-drv:625 running in compatible mode
+ 23-03-2023 15:54:28:480 [pid=2466218 tid=2466218] NOTICE  cufio-drv:625 running in compatible mode
+ 23-03-2023 15:57:50:556 [pid=2467952 tid=2467952] NOTICE  cufio-drv:625 running in compatible mode
+ 28-03-2023 11:27:07:693 [pid=1272671 tid=1272671] NOTICE  cufio-drv:625 running in compatible mode
+ 28-03-2023 15:37:09:408 [pid=1355719 tid=1355719] NOTICE  cufio-drv:625 running in compatible mode
+ 29-03-2023 10:15:52:100 [pid=1730519 tid=1730519] NOTICE  cufio-drv:625 running in compatible mode
+ 29-03-2023 10:19:32:316 [pid=1732221 tid=1732221] NOTICE  cufio-drv:625 running in compatible mode
+ 29-03-2023 10:36:24:948 [pid=1738569 tid=1738569] NOTICE  cufio-drv:625 running in compatible mode
+ 29-03-2023 10:36:59:892 [pid=1739076 tid=1739076] NOTICE  cufio-drv:625 running in compatible mode
+ 29-03-2023 11:20:03:700 [pid=1755858 tid=1755858] NOTICE  cufio-drv:625 running in compatible mode
+ 29-03-2023 11:29:03:628 [pid=1759326 tid=1759326] NOTICE  cufio-drv:625 running in compatible mode
+ 29-03-2023 12:00:25:848 [pid=1775232 tid=1775232] NOTICE  cufio-drv:625 running in compatible mode
+ 29-03-2023 12:05:23:932 [pid=1777334 tid=1777334] NOTICE  cufio-drv:625 running in compatible mode
+ 29-03-2023 15:22:11:320 [pid=1851670 tid=1851670] NOTICE  cufio-drv:625 running in compatible mode
+ 30-03-2023 15:05:24:92 [pid=2346260 tid=2346260] NOTICE  cufio-drv:625 running in compatible mode
+ 30-03-2023 15:06:39:272 [pid=2347370 tid=2347370] NOTICE  cufio-drv:625 running in compatible mode
+ 30-03-2023 15:07:36:268 [pid=2348245 tid=2348245] NOTICE  cufio-drv:625 running in compatible mode
+ 30-03-2023 15:09:13:476 [pid=2349337 tid=2349337] NOTICE  cufio-drv:625 running in compatible mode
+ 30-03-2023 15:09:55:836 [pid=2350085 tid=2350085] NOTICE  cufio-drv:625 running in compatible mode
+ 30-03-2023 15:10:36:420 [pid=2350779 tid=2350779] NOTICE  cufio-drv:625 running in compatible mode
+ 30-03-2023 16:47:55:828 [pid=2384438 tid=2384438] NOTICE  cufio-drv:625 running in compatible mode
+ 30-03-2023 16:49:01:508 [pid=2385318 tid=2385318] NOTICE  cufio-drv:625 running in compatible mode
+ 30-03-2023 16:49:52:600 [pid=2386104 tid=2386104] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 09:54:50:573 [pid=363414 tid=363414] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 09:59:57:324 [pid=366711 tid=366711] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:00:42:4 [pid=367556 tid=367556] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:01:46:956 [pid=368551 tid=368551] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:04:15:564 [pid=370126 tid=370126] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:05:00:992 [pid=370968 tid=370968] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:11:03:776 [pid=374262 tid=374262] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:12:30:0 [pid=375212 tid=375212] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:14:29:532 [pid=376426 tid=376426] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:18:17:576 [pid=378306 tid=378306] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:21:38:540 [pid=380682 tid=380682] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:22:42:316 [pid=381605 tid=381605] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:23:44:712 [pid=382545 tid=382545] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:29:28:648 [pid=385784 tid=385784] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:30:20:832 [pid=386611 tid=386611] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:30:53:204 [pid=387281 tid=387281] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:31:47:288 [pid=388183 tid=388183] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:33:30:348 [pid=389436 tid=389436] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:34:41:216 [pid=390449 tid=390449] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:36:00:928 [pid=391557 tid=391557] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 10:38:12:664 [pid=392992 tid=392992] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 16:00:14:993 [pid=1180770 tid=1180770] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 16:06:59:272 [pid=1763557 tid=1763557] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 16:10:23:804 [pid=2053443 tid=2053443] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 16:11:17:484 [pid=2136521 tid=2136521] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 16:14:58:696 [pid=2451605 tid=2451605] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 16:16:02:224 [pid=2538365 tid=2538365] NOTICE  cufio-drv:625 running in compatible mode
+ 03-04-2023 16:25:54:392 [pid=3423549 tid=3423549] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 14:19:33:513 [pid=3306681 tid=3306681] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 14:32:41:44 [pid=157404 tid=157404] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 14:42:00:612 [pid=960962 tid=960962] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 14:43:18:344 [pid=1079132 tid=1079132] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 14:47:13:268 [pid=1423343 tid=1423343] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 14:49:16:684 [pid=1590836 tid=1590836] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 14:50:14:116 [pid=1669741 tid=1669741] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 14:52:16:540 [pid=1844295 tid=1844295] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 14:53:37:808 [pid=1954483 tid=1954483] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 15:11:13:800 [pid=3473143 tid=3473143] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 16:41:28:693 [pid=3188053 tid=3188053] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 16:43:13:464 [pid=3355579 tid=3355579] NOTICE  cufio-drv:625 running in compatible mode
+ 04-04-2023 18:37:24:796 [pid=1085386 tid=1085386] NOTICE  cufio-drv:625 running in compatible mode
+ 06-04-2023 10:31:36:452 [pid=3144129 tid=3144129] NOTICE  cufio-drv:625 running in compatible mode
+ 06-04-2023 10:36:36:556 [pid=3612935 tid=3612935] NOTICE  cufio-drv:625 running in compatible mode
+ 06-04-2023 11:16:47:856 [pid=2831625 tid=2831625] NOTICE  cufio-drv:625 running in compatible mode
+ 06-04-2023 11:18:09:524 [pid=2946975 tid=2946975] NOTICE  cufio-drv:625 running in compatible mode
+ 11-04-2023 09:33:17:376 [pid=3670033 tid=3670033] NOTICE  cufio-drv:625 running in compatible mode
+ 11-04-2023 09:41:45:908 [pid=3674471 tid=3674471] NOTICE  cufio-drv:625 running in compatible mode
+ 11-04-2023 09:45:18:992 [pid=3676473 tid=3676473] NOTICE  cufio-drv:625 running in compatible mode
+ 11-04-2023 13:37:57:688 [pid=3850132 tid=3850132] NOTICE  cufio-drv:625 running in compatible mode
+ 11-04-2023 13:46:22:368 [pid=3857547 tid=3857547] NOTICE  cufio-drv:625 running in compatible mode
+ 11-04-2023 13:48:04:692 [pid=3859042 tid=3859042] NOTICE  cufio-drv:625 running in compatible mode
+ 11-04-2023 13:48:45:880 [pid=3859795 tid=3859795] NOTICE  cufio-drv:625 running in compatible mode
+ 13-04-2023 12:23:20:680 [pid=443106 tid=443106] NOTICE  cufio-drv:625 running in compatible mode
+ 13-04-2023 12:32:50:592 [pid=447830 tid=447830] NOTICE  cufio-drv:625 running in compatible mode
+ 13-04-2023 12:36:02:136 [pid=449566 tid=449566] NOTICE  cufio-drv:625 running in compatible mode
+ 13-04-2023 12:38:06:204 [pid=450769 tid=450769] NOTICE  cufio-drv:625 running in compatible mode
+ 13-04-2023 12:42:04:152 [pid=452641 tid=452641] NOTICE  cufio-drv:625 running in compatible mode
+ 13-04-2023 13:42:04:604 [pid=481902 tid=481902] NOTICE  cufio-drv:625 running in compatible mode
+ 18-04-2023 10:28:03:64 [pid=1329670 tid=1329670] NOTICE  cufio-drv:625 running in compatible mode
+ 18-04-2023 10:29:09:148 [pid=1330147 tid=1330147] NOTICE  cufio-drv:625 running in compatible mode
+ 18-04-2023 10:34:56:980 [pid=1331718 tid=1331718] NOTICE  cufio-drv:625 running in compatible mode
+ 18-04-2023 10:37:29:376 [pid=1332544 tid=1332544] NOTICE  cufio-drv:625 running in compatible mode
+ 18-04-2023 10:40:05:124 [pid=1333524 tid=1333524] NOTICE  cufio-drv:625 running in compatible mode
+ 18-04-2023 10:42:56:139 [pid=1334474 tid=1334474] NOTICE  cufio-drv:625 running in compatible mode
+ 18-04-2023 16:38:54:816 [pid=1407269 tid=1407269] NOTICE  cufio-drv:625 running in compatible mode
+ 19-04-2023 09:39:57:384 [pid=1613334 tid=1613334] NOTICE  cufio-drv:625 running in compatible mode
+ 19-04-2023 10:04:53:976 [pid=1618730 tid=1618730] NOTICE  cufio-drv:625 running in compatible mode
+ 19-04-2023 10:06:31:724 [pid=1619361 tid=1619361] NOTICE  cufio-drv:625 running in compatible mode
+ 19-04-2023 10:10:58:116 [pid=1620883 tid=1620883] NOTICE  cufio-drv:625 running in compatible mode
+ 19-04-2023 10:13:31:795 [pid=1621738 tid=1621738] NOTICE  cufio-drv:625 running in compatible mode
+ 19-04-2023 10:16:15:883 [pid=1622647 tid=1622647] NOTICE  cufio-drv:625 running in compatible mode
+ 19-04-2023 10:18:46:343 [pid=1623511 tid=1623511] NOTICE  cufio-drv:625 running in compatible mode
+ 19-04-2023 10:21:11:72 [pid=1624323 tid=1624323] NOTICE  cufio-drv:625 running in compatible mode
+ 19-04-2023 10:23:45:31 [pid=1625174 tid=1625174] NOTICE  cufio-drv:625 running in compatible mode
+ 19-04-2023 10:34:46:440 [pid=1627805 tid=1627805] NOTICE  cufio-drv:625 running in compatible mode
+ 19-04-2023 10:41:08:3 [pid=1629434 tid=1629434] NOTICE  cufio-drv:625 running in compatible mode
+ 20-04-2023 17:59:31:528 [pid=2178312 tid=2178312] NOTICE  cufio-drv:625 running in compatible mode
diff --git a/code/datasets/__init__.py b/code/datasets/__init__.py
index 4f19064..10ac41c 100644
--- a/code/datasets/__init__.py
+++ b/code/datasets/__init__.py
@@ -1,4 +1,5 @@
 # from .custom_jpg_dataloader import JPGMILDataloader
 from .jpg_dataloader import JPGMILDataloader
+from .feature_dataloader import FeatureBagLoader
 from .data_interface import MILDataModule
 from .fast_tensor_dl import FastTensorDataLoader
diff --git a/code/datasets/__pycache__/__init__.cpython-39.pyc b/code/datasets/__pycache__/__init__.cpython-39.pyc
index 72bc845bf4c597bb8c39e8bd4a53b0601a654ebc..295f1815d67c30eabb235a28310f4489baceeef4 100644
GIT binary patch
delta 205
zcmX@a)Wpo2$ji&cz`(%p-tSWK`-!}=j3yJcH3S(_SaR5M*`wGQ8B$n-88q1@M#%68
zxTPkRloq8rC8qmK%rU6vxW$)MkRG3sSdy5NpO}(bRK&!<z;H__4WbNLf|-GVA&L*A
zGCnh}B(*3lF*&t}1uU4BSX>fclA2eXUlgB`Q^d-^z_5~`h=YLvLi}>m&&bbB4KB$q
fGSsikNzBtP&o9a@E=WwC_}7+;je&uIhY<t;^&vaR

delta 152
zcmZo-KE%YE$ji&cz`($8>G0O%eG_?Q88s$qYe=#LGib8DWMp7q&}6(N;1%HR>*?c?
zSdy4CvBw~oEs8IzAU!?>#LrJmNi8a3Vqjpn#Rn3I&&(@HElNvFPAy_)U|@*iOG_*+
ui7!dbE6y*9Psu4_VPIfb$xy_`zyKkBIqGNR=cZ29W%T9%$?-7qFaiM3v?(C~

diff --git a/code/datasets/__pycache__/classic_jpg_dataloader.cpython-39.pyc b/code/datasets/__pycache__/classic_jpg_dataloader.cpython-39.pyc
index 56a80385988c3216122973acc207f2a9ffeb76e6..ba069cbf046231815836ffd726592c7a8d6e6ec9 100644
GIT binary patch
delta 2997
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
aV-(_GVdh}uVd7$BV-#TI;^JZCU;+Tu`3G76

delta 2773
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
UVqxTB;sEp6K<S-}hmnH`0Oqp4ng9R*

diff --git a/code/datasets/__pycache__/data_interface.cpython-39.pyc b/code/datasets/__pycache__/data_interface.cpython-39.pyc
index 798fdf96f92b70a082697e2b35225649b461b9e4..4b75185ffe785a930b52a45603beef6de633c028 100644
GIT binary patch
delta 3366
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
PpS(=Pk(F0SUxX6?*r41n

delta 3332
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

diff --git a/code/datasets/__pycache__/feature_dataloader.cpython-39.pyc b/code/datasets/__pycache__/feature_dataloader.cpython-39.pyc
index 60ef98c89f08368cb1252c836eccbf99d987cfbf..3cfbb24377e353d44c206aa9b69b511bedcf57a7 100644
GIT binary patch
delta 3599
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
UF!HeQFtad;G4e49G4Tli03Y{W(EtDd

literal 11196
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%0AhdwQ2&<`-k>FA
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
Taxt<n^MFie5n$xw;a~&+ty^cZ

diff --git a/code/datasets/__pycache__/jpg_dataloader.cpython-39.pyc b/code/datasets/__pycache__/jpg_dataloader.cpython-39.pyc
index 32985c0a0392e944a17373474d4eb59dea3f7a71..d0ae46302a1148a8c051d964b078136442e69810 100644
GIT binary patch
delta 5074
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

delta 4196
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

diff --git a/code/datasets/classic_jpg_dataloader.py b/code/datasets/classic_jpg_dataloader.py
index 8c98e52..1e12756 100644
--- a/code/datasets/classic_jpg_dataloader.py
+++ b/code/datasets/classic_jpg_dataloader.py
@@ -19,10 +19,13 @@ import json
 from imgaug import augmenters as iaa
 from torchsampler import ImbalancedDatasetSampler
 from .utils import myTransforms
+from transformers import ViTFeatureExtractor
+import torchvision.models as models
+import torch.nn as nn
 
 
 class JPGBagLoader(data_utils.Dataset):
-    def __init__(self, file_path, label_path, mode, n_classes, data_cache_size=100, max_bag_size=1000, cache=False, mixup=False, aug=False, model='inception'):
+    def __init__(self, file_path, label_path, mode, n_classes, data_cache_size=100, max_bag_size=1000, cache=False, mixup=False, aug=False, model=''):
         super().__init__()
 
         self.data_info = []
@@ -43,10 +46,15 @@ class JPGBagLoader(data_utils.Dataset):
         self.labels = []
         if model == 'inception':
             size = 299
-        elif model == 'vit':
-            size = 384
+        # elif model == 'vit':
+        #     size = 384
         else: size = 224
-
+        
+        home = Path.cwd().parts[1]
+        self.slide_patient_dict_path = Path(self.label_path).parent / 'slide_patient_dict_an.json'
+        # self.slide_patient_dict_path = f'/{home}/ylan/data/DeepGraft/training_tables/slide_patient_dict_an.json'
+        with open(self.slide_patient_dict_path, 'r') as f:
+            self.slide_patient_dict = json.load(f)
         
         # read labels and slide_path from csv
         with open(self.label_path, 'r') as f:
@@ -55,18 +63,18 @@ class JPGBagLoader(data_utils.Dataset):
             # print(len(temp_slide_label_dict))
             for (x,y) in temp_slide_label_dict:
                 x = x.replace('FEATURES_RETCCL_2048', 'BLOCKS')
-                # print(x)
                 x_name = Path(x).stem
                 x_path_list = [Path(self.file_path)/x]
-                for x_path in x_path_list:
-                    if x_path.exists():
-                        # print(len(list(x_path.glob('*'))))
+                if x_name in self.slide_patient_dict.keys():
+                    for x_path in x_path_list:
+                        if x_path.exists():
+                            # print(len(list(x_path.glob('*'))))
 
-                        self.slideLabelDict[x_name] = y
-                        self.labels += [int(y)]*len(list(x_path.glob('*')))
-                        # self.labels.append(int(y))
-                        for patch in x_path.iterdir():
-                            self.files.append((patch, x_name, y))
+                            self.slideLabelDict[x_name] = y
+                            self.labels += [int(y)]*len(list(x_path.glob('*')))
+                            # self.labels.append(int(y))
+                            for patch in x_path.iterdir():
+                                self.files.append((patch, x_name, y))
 
         # with open(self.label_path, 'r') as f:
         #     temp_slide_label_dict = json.load(f)[mode]
@@ -83,11 +91,8 @@ class JPGBagLoader(data_utils.Dataset):
         #                     self.files.append(x_complete_path)
         #                 else: self.empty_slides.append(x_complete_path)
         
-        home = Path.cwd().parts[1]
-        self.slide_patient_dict_path = Path(self.label_path).parent / 'slide_patient_dict_an.json'
-        # self.slide_patient_dict_path = f'/{home}/ylan/data/DeepGraft/training_tables/slide_patient_dict_an.json'
-        with open(self.slide_patient_dict_path, 'r') as f:
-            self.slide_patient_dict = json.load(f)
+        
+
 
 
         self.color_transforms = myTransforms.Compose([
@@ -102,9 +107,9 @@ class JPGBagLoader(data_utils.Dataset):
             myTransforms.HEDJitter(theta=0.005),
             
         ])
-        self.color_transforms = myTransforms.Compose([
-            myTransforms.Grayscale(num_output_channels=3)
-        ])
+        # self.color_transforms = myTransforms.Compose([
+        #     myTransforms.Grayscale(num_output_channels=3)
+        # ])
         self.train_transforms = myTransforms.Compose([
             myTransforms.RandomChoice([myTransforms.RandomHorizontalFlip(p=0.5),
                                         myTransforms.RandomVerticalFlip(p=0.5),
@@ -115,7 +120,7 @@ class JPGBagLoader(data_utils.Dataset):
             myTransforms.RandomElastic(alpha=2, sigma=0.06),
         ])
 
-        self.resize_transforms = transforms.Resize((299,299), transforms.InterpolationMode.BICUBIC)
+        self.resize_transforms = transforms.Resize((size,size), transforms.InterpolationMode.BICUBIC)
 
         # sometimes = lambda aug: iaa.Sometimes(0.5, aug, name="Random1")
         # sometimes2 = lambda aug: iaa.Sometimes(0.2, aug, name="Random2")
@@ -142,6 +147,9 @@ class JPGBagLoader(data_utils.Dataset):
         #     # ], name="MyOneOf")
 
         # ], name="MyAug")
+        # if self.model == 'vit':
+        #     model_name_or_path = 'models/ckpt/vit-base-patch16-224-in21k/'
+        #     self.val_transforms = ViTFeatureExtractor.from_pretrained(model_name_or_path)
         self.val_transforms = transforms.Compose([
             # 
             transforms.ToTensor(),
@@ -236,7 +244,10 @@ class JPGBagLoader(data_utils.Dataset):
                 # t = self.files[index]
                 # label = self.labels[index]
                 img, label, (wsi_name, tile_name, patient) = self.get_data(t)
-                save_img(img, f'{tile_name}_original')
+                # save_img(img, f'{tile_name}_original')
+                # if self.model == 'vit':
+                #     img = self.val_transforms(img, return_tesnors='pt')
+                # else:
                 img = self.resize_transforms(img)
                 img = self.color_transforms(img)
                 img = self.train_transforms(img)
@@ -254,6 +265,9 @@ class JPGBagLoader(data_utils.Dataset):
                 # seq_img_d = self.train_transforms.to_deterministic()
                 # seq_img_resize = self.resize_transforms.to_deterministic()
                 # img = img.numpy().astype(np.uint8)
+                # if self.model == 'vit':
+                #     img = self.val_transforms(img, return_tesnors='pt')
+            # else:
                 img = self.resize_transforms(img)
                 # img = np.moveaxis(img, 0, 2)
                 img = self.val_transforms(img)
@@ -282,13 +296,13 @@ if __name__ == '__main__':
     # data_root = f'/{home}/ylan/DeepGraft/dataset/hdf5/256_256um_split/'
     # label_path = f'/{home}/ylan/DeepGraft_project/code/split_PAS_bin.json'
     # label_path = f'/{home}/ylan/DeepGraft/training_tables/split_debug.json'
-    label_path = f'/{home}/ylan/data/DeepGraft/training_tables/dg_limit_5_split_PAS_HE_Jones_norm_rest_test.json'
+    label_path = f'/{home}/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest.json'
     # output_dir = f'/{data_root}/debug/augments'
     # os.makedirs(output_dir, exist_ok=True)
 
     n_classes = 2
 
-    dataset = JPGBagLoader(data_root, label_path=label_path, mode='train', n_classes=n_classes, cache=False)
+    dataset = JPGBagLoader(data_root, label_path=label_path, mode='train', model='vit', n_classes=n_classes, cache=False)
     # dataset = JPGBagLoader(data_root, label_path=label_path, mode='train', n_classes=n_classes, cache=False)
 
     # print(dataset.get_labels(0))
@@ -300,20 +314,37 @@ if __name__ == '__main__':
     # b = int(len(dataset) - a)
     # train_ds, val_ds = torch.utils.data.random_split(dataset, [a, b])
     # dl = FastTensorDataLoader(dataset, batch_size=1, shuffle=False)
-    dl = DataLoader(dataset, batch_size=5, num_workers=8, pin_memory=True)
+    dl = DataLoader(dataset, batch_size=100, num_workers=8, pin_memory=True)
     # print(len(dl))
     # dl = DataLoader(dataset, batch_size=1, sampler=ImbalancedDatasetSampler(dataset), num_workers=5)
     device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
     scaler = torch.cuda.amp.GradScaler()
 
-    model_ft = resnet50_baseline(pretrained=True)
-    for param in model_ft.parameters():
-        param.requires_grad = False
-    model_ft.to(device)
+    # model_ft = resnet50_baseline(pretrained=True)
+    # for param in model_ft.parameters():
+    #     param.requires_grad = False
+    # model_ft.to(device)
+
+    model_ft = models.resnet50(weights='IMAGENET1K_V1')
+
+    
+    ct = 0
+    for child in model_ft.children():
+        ct += 1
+        if ct < len(list(model_ft.children())) - 3:
+            for parameter in child.parameters():
+                parameter.requires_grad=False
+    model_ft.fc = nn.Linear(model_ft.fc.in_features, 2)
+
+    # print(model_ft)
+
+    # print(list(model_ft.children())[:7])
+    #     for parameter in child.parameters():
+    #         print(parameter.requires_grad)    
     
     c = 0
-    label_count = [0] *n_classes
-    # print(len(dl))
+    # label_count = [0] *n_classes
+    # # print(len(dl))
     start = time.time()
     for item in tqdm(dl): 
 
diff --git a/code/datasets/data_interface.py b/code/datasets/data_interface.py
index 065e844..41dd2ce 100644
--- a/code/datasets/data_interface.py
+++ b/code/datasets/data_interface.py
@@ -124,7 +124,7 @@ import torch
 
 class MILDataModule(pl.LightningDataModule):
 
-    def __init__(self, data_root: str, label_path: str, model_name: str, batch_size: int=1, num_workers: int=8, n_classes=2, cache: bool=True, use_features=False, train_classic=False, mixup=False, aug=False, *args, **kwargs):
+    def __init__(self, data_root: str, label_path: str, model_name: str, batch_size: int=1, num_workers: int=8, n_classes=2, cache: bool=True, use_features=False, train_classic=False, mixup=False, aug=False, fine_tune=False, *args, **kwargs):
         super().__init__()
         self.data_root = data_root
         self.label_path = label_path
@@ -141,9 +141,12 @@ class MILDataModule(pl.LightningDataModule):
         self.mixup = mixup
         self.aug = aug
         self.train_classic = train_classic
+        self.fine_tune = fine_tune
         self.max_bag_size = 1000
         self.model_name = model_name
+        self.use_features = use_features
 
+        
 
         self.class_weight = []
         self.cache = cache
@@ -157,16 +160,24 @@ class MILDataModule(pl.LightningDataModule):
             self.base_dataloader = FeatureBagLoader
             # self.cache = True
 
+
+
     def setup(self, stage: Optional[str] = None) -> None:
         home = Path.cwd().parts[1]
-
+        # print('batch size: ', self.batch_size)
+        # print('valid_data')
+        self.valid_data = self.base_dataloader(self.data_root, label_path=self.label_path, mode='val', n_classes=self.n_classes, cache=self.cache, model=self.model_name)
         if stage in (None, 'fit'):
-            self.train_data = self.base_dataloader(self.data_root, label_path=self.label_path, mode='train', n_classes=self.n_classes, cache=self.cache, mixup=self.mixup, aug=self.aug, model=self.model_name)
-            self.valid_data = self.base_dataloader(self.data_root, label_path=self.label_path, mode='val', n_classes=self.n_classes, cache=self.cache, model=self.model_name)
+            # print('self.fine_tune', self.fine_tune)
+            if self.fine_tune:
+                self.train_data = self.base_dataloader(self.data_root, label_path=self.label_path, mode='fine_tune', n_classes=self.n_classes, cache=self.cache, mixup=self.mixup, aug=self.aug, model=self.model_name)
+            else:
+                self.train_data = self.base_dataloader(self.data_root, label_path=self.label_path, mode='train', n_classes=self.n_classes, cache=self.cache, mixup=self.mixup, aug=self.aug, model=self.model_name)
+            # self.valid_data = self.base_dataloader(self.data_root, label_path=self.label_path, mode='val', n_classes=self.n_classes, cache=self.cache, model=self.model_name)
 
             # dataset = JPGMILDataloader(self.data_root, label_path=self.label_path, mode='train', n_classes=self.n_classes)
             print('Train Data: ', len(self.train_data))
-            print('Val Data: ', len(self.valid_data))
+            # print('Val Data: ', len(self.valid_data))
             # a = int(len(dataset)* 0.8)
             # b = int(len(dataset) - a)
             # self.train_data, self.valid_data = random_split(dataset, [a, b])
@@ -176,8 +187,8 @@ class MILDataModule(pl.LightningDataModule):
 
 
         if stage in (None, 'test'):
+            
             self.test_data = self.base_dataloader(self.data_root, label_path=self.label_path, mode='test', n_classes=self.n_classes, cache=False, model=self.model_name, mixup=False, aug=False)
-            print(len(self.test_data))
 
         return super().setup(stage=stage)
 
@@ -186,17 +197,22 @@ class MILDataModule(pl.LightningDataModule):
     def train_dataloader(self) -> DataLoader:
         # return DataLoader(self.train_data,  batch_size = self.batch_size, num_workers=self.num_workers) #batch_transforms=self.transform, pseudo_batch_dim=True, 
         # return DataLoader(self.train_data,  batch_size = self.batch_size, sampler = WeightedRandomSampler(self.weights, len(self.weights)), num_workers=self.num_workers) #batch_transforms=self.transform, pseudo_batch_dim=True, 
-        if self.train_classic:
+        if self.train_classic or not self.use_features:
             return DataLoader(self.train_data, batch_size = self.batch_size, num_workers=self.num_workers) #batch_transforms=self.transform, pseudo_batch_dim=True, 
         else:
             return DataLoader(self.train_data,  batch_size = self.batch_size, sampler=ImbalancedDatasetSampler(self.train_data), num_workers=self.num_workers) #batch_transforms=self.transform, pseudo_batch_dim=True, 
-            # return DataLoader(self.train_data,  batch_size = self.batch_size, sampler=ImbalancedDatasetSampler(self.train_data), num_workers=self.num_workers, collate_fn=self.custom_collate) #batch_transforms=self.transform, pseudo_batch_dim=True, 
+            # return DataLoader(self.train_data,  batch_size = self.batch_size, num_workers=self.num_workers) #batch_transforms=self.transform, pseudo_batch_dim=True, 
         #sampler=ImbalancedDatasetSampler(self.train_data)
     def val_dataloader(self) -> DataLoader:
-        return DataLoader(self.valid_data, batch_size = self.batch_size, num_workers=self.num_workers)
+        if self.train_classic:
+            return DataLoader(self.valid_data, batch_size = self.batch_size, num_workers=self.num_workers)
+        else:
+            return DataLoader(self.valid_data, batch_size = 1, num_workers=self.num_workers)
     
     def test_dataloader(self) -> DataLoader:
-        return DataLoader(self.test_data, batch_size = 1, num_workers=self.num_workers)
+        if self.train_classic:
+            return DataLoader(self.test_data, batch_size = self.batch_size, num_workers=self.num_workers)
+        else: return DataLoader(self.test_data, batch_size = 1, num_workers=self.num_workers)
 
     def get_weights(self, dataset):
 
@@ -214,36 +230,6 @@ class MILDataModule(pl.LightningDataModule):
 
         return torch.DoubleTensor(weights)
     
-    def custom_collate(self, batch):
-        # print(len(batch))
-        # print(len(batch))
-        for i in batch:
-            
-            bag, label, (wsi_name, patient) = i
-            print(bag.shape)
-        
-        # print(bag.shape)
-
-        # bag_size = bag.shape[0]
-        # bag_idxs = torch.randperm(bag_size)[:self.max_bag_size]
-        # # bag_idxs = torch.randperm(bag_size)[:int(self.max_bag_size*(1-self.drop_rate))]
-        # out_bag = bag[bag_idxs, :]
-        # if self.mixup:
-        #     out_bag = self.get_mixup_bag(out_bag)
-        #     # batch_coords = 
-        # if out_bag.shape[0] < self.max_bag_size:
-        #     out_bag = torch.cat((out_bag, torch.zeros(self.max_bag_size-out_bag.shape[0], out_bag.shape[1])))
-
-        # # shuffle again
-        # out_bag_idxs = torch.randperm(out_bag.shape[0])
-        # out_bag = out_bag[out_bag_idxs]
-        # batch_coords = batch_coords[bag_idxs]
-
-        
-        # return out_bag, label, (wsi_name, batch_coords, patient)
-        return batch
-
-        
     def get_mixup_bag(self, bag):
 
         bag_size = bag.shape[0]
@@ -276,8 +262,6 @@ class MILDataModule(pl.LightningDataModule):
 
         return mixup_bag
 
-
-
 class DataModule(pl.LightningDataModule):
 
     def __init__(self, data_root: str, label_path: str, batch_size: int=1, num_workers: int=8, n_classes=2, cache: bool=True, backbone=None, *args, **kwargs):
diff --git a/code/datasets/feature_dataloader.py b/code/datasets/feature_dataloader.py
index 21b8081..d6387ef 100644
--- a/code/datasets/feature_dataloader.py
+++ b/code/datasets/feature_dataloader.py
@@ -23,7 +23,7 @@ import h5py
 
 
 class FeatureBagLoader(data.Dataset):
-    def __init__(self, file_path, label_path, mode, model, n_classes, cache=False, mixup=False, aug=False, data_cache_size=5000, max_bag_size=1000):
+    def __init__(self, file_path, label_path, mode, n_classes, model='None',cache=False, mixup=False, aug=False, mix_res=False, data_cache_size=5000, max_bag_size=1000):
         super().__init__()
 
         self.data_info = []
@@ -45,34 +45,65 @@ class FeatureBagLoader(data.Dataset):
         self.cache = cache
         self.mixup = mixup
         self.aug = aug
-        
+        # self.file_path_mix = self.file_path.replace('256', '1024')
         self.missing = []
+        self.use_1024 = False
+
+        # print('Using FeatureBagLoader: ', self.mode)
 
         home = Path.cwd().parts[1]
-        self.slide_patient_dict_path = f'/{home}/ylan/data/DeepGraft/training_tables/slide_patient_dict_an.json'
+        
+        self.slide_patient_dict_path = f'/{home}/ylan/data/DeepGraft/training_tables/slide_patient_dict_an_ext.json'
         with open(self.slide_patient_dict_path, 'r') as f:
             self.slide_patient_dict = json.load(f)
 
         # read labels and slide_path from csv
+
         with open(self.label_path, 'r') as f:
             json_dict = json.load(f)
-            temp_slide_label_dict = json_dict[self.mode]
-            # print(len(temp_slide_label_dict))
+            if self.mode == 'fine_tune':
+                temp_slide_label_dict = json_dict['train'] + json_dict['test_mixin']
+            else: temp_slide_label_dict = json_dict[self.mode]
+            # print('temp_slide_label_dict:', len(temp_slide_label_dict))
             for (x,y) in temp_slide_label_dict:
                 
-                x = x.replace('FEATURES_RETCCL_2048', 'FEATURES_RETCCL_2048_HED')
+                # test_path = Path(self.file_path)
+                # if Path(self.file_path) / 
+                # if self.mode != 'test':
+                    # x = x.replace('FEATURES_RETCCL_2048', 'TEST')
+                # else:
+                    # x = x.replace('FEATURES_RETCCL_2048', 'FEATURES_RESNET50_1024_HED')
+                    # x = x.replace('FEATURES_RETCCL_2048', 'FEATURES_RETCCL_2048_HED')
+                x = x.replace('FEATURES_RETCCL_2048', 'FEATURES_CTRANSPATH_768')
+                # else:
+                    # x = x.replace('Aachen_Biopsy_Slides', 'Aachen_Biopsy_Slides_extended')
                 x_name = Path(x).stem
+                # print(x)
+                # print(x_name)
                 if x_name in self.slide_patient_dict.keys():
                     x_path_list = [Path(self.file_path)/x]
                     # x_name = x.stem
                     # x_path_list = [Path(self.file_path)/ x for (x,y) in temp_slide_label_dict]
+                    # print(x)
                     if self.aug:
                         for i in range(10):
                             aug_path = Path(self.file_path)/f'{x}_aug{i}'
+                            if self.use_1024:
+                                aug_path = Path(f'{aug_path}-1024')
+                            if aug_path.exists():
+                                # aug_path = Path(self.file_path)/f'{x}_aug{i}'
+                                x_path_list.append(aug_path)
+                    else: 
+                        aug_path = Path(self.file_path)/f'{x}_aug0'
+                        if self.use_1024:
+                            aug_path = Path(f'{aug_path}-1024')
+                        if aug_path.exists():
                             x_path_list.append(aug_path)
-
+                    # print('x_path_list: ', len(x_path_list))
                     for x_path in x_path_list: 
-                        
+                        # print(x_path)
+                        # print(x_path)
+                        # x_path = Path(f'{x_path}.pt')
                         if x_path.exists():
                             self.slideLabelDict[x_name] = y
                             self.labels.append(int(y))
@@ -157,273 +188,35 @@ class FeatureBagLoader(data.Dataset):
         batch_names=[] #add function for name_batch read out
 
         wsi_name = Path(file_path).stem
-        if wsi_name.split('_')[-1][:3] == 'aug':
-            wsi_name = '_'.join(wsi_name.split('_')[:-1])
-        # if wsi_name in self.slideLabelDict:
-        # label = self.slideLabelDict[wsi_name]
-        patient = self.slide_patient_dict[wsi_name]
-
-        if Path(file_path).suffix == '.zarr':
-            z = zarr.open(file_path, 'r')
-            np_bag = np.array(z['data'][:])
-            coords = np.array(z['coords'][:])
-        else:
-            with h5py.File(file_path, 'r') as hdf5_file:
-                np_bag = hdf5_file['features'][:]
-                coords = hdf5_file['coords'][:]
-
-        # np_bag = torch.load(file_path)
-        # z = zarr.open(file_path, 'r')
-        # np_bag = np.array(z['data'][:])
-        # np_bag = np.array(zarr.open(file_path, 'r')).astype(np.uint8)
-        # label = torch.as_tensor(label)
-        # label = int(label)
-        wsi_bag = torch.from_numpy(np_bag)
-        batch_coords = torch.from_numpy(coords)
-
-        return wsi_bag, (wsi_name, batch_coords, patient)
-    
-    def get_labels(self, indices):
-        # for i in indices: 
-        #     print(self.labels[i])
-        return [self.labels[i] for i in indices]
-
-
-    def to_fixed_size_bag(self, bag, names, bag_size: int = 512):
-
-        #duplicate bag instances unitl 
-
-        bag_idxs = torch.randperm(bag.shape[0])[:bag_size]
-        bag_samples = bag[bag_idxs]
-        name_samples = [names[i] for i in bag_idxs]
-        # bag_sample_names = [bag_names[i] for i in bag_idxs]
-        # q, r  = divmod(bag_size, bag_samples.shape[0])
-        # if q > 0:
-        #     bag_samples = torch.cat([bag_samples]*q, 0)
-
-        # self_padded = torch.cat([bag_samples, bag_samples[:r,:, :, :]])
-
-        # zero-pad if we don't have enough samples
-        # zero_padded = torch.cat((bag_samples,
-        #                         torch.zeros(bag_size-bag_samples.shape[0], bag_samples.shape[1], bag_samples.shape[2], bag_samples.shape[3])))
-
-        return bag_samples, name_samples, min(bag_size, len(bag))
-
-    def data_dropout(self, bag, batch_names, drop_rate):
-        # bag_size = self.max_bag_size
-        bag_size = bag.shape[0]
-        bag_idxs = torch.randperm(self.max_bag_size)[:int(bag_size*(1-drop_rate))]
-        bag_samples = bag[bag_idxs]
-        name_samples = [batch_names[i] for i in bag_idxs]
-
-        return bag_samples, name_samples
-
-    def get_mixup_bag(self, bag):
-
-        bag_size = bag.shape[0]
-
-        a = torch.rand([bag_size])
-        b = 0.6
-        rand_x = torch.randint(0, bag_size, [bag_size,])
-        rand_y = torch.randint(0, bag_size, [bag_size,])
-
-        bag_x = bag[rand_x, :]
-        bag_y = bag[rand_y, :]
-
-
-        temp_bag = (bag_x.t()*a).t() + (bag_y.t()*(1.0-a)).t()
-        # print('temp_bag: ', temp_bag.shape)
-
-        if bag_size < self.max_bag_size:
-            diff = self.max_bag_size - bag_size
-            bag_idxs = torch.randperm(bag_size)[:diff]
-            
-            # print('bag: ', bag.shape)
-            # print('bag_idxs: ', bag_idxs.shape)
-            mixup_bag = torch.cat((bag, temp_bag[bag_idxs, :]))
-            # print('mixup_bag: ', mixup_bag.shape)
-        else:
-            random_sample_list = torch.rand(bag_size)
-            mixup_bag = [bag[i] if random_sample_list[i] else temp_bag[i] > b for i in range(bag_size)] #make pytorch native?!
-            mixup_bag = torch.stack(mixup_bag)
-            # print('else')
-            # print(mixup_bag.shape)
-
-        return mixup_bag
-
-    def __len__(self):
-        return len(self.files)
-
-    def __getitem__(self, index):
-
-        if self.cache:
-            label = self.labels[index]
-            bag = self.feature_bags[index]
-            
-        
-            
-            # label = Variable(Tensor(label))
-            # label = torch.as_tensor(label)
-            # label = torch.nn.functional.one_hot(label, num_classes=self.n_classes)
-            wsi_name = self.wsi_names[index]
-            batch_coords = self.coords[index]
-            patient = self.patients[index]
-
-            
-            #random dropout
-            #shuffle
-
-            # feats = Variable(Tensor(feats))
-            # return wsi, label, (wsi_name, batch_coords, patient)
-        else:
-            t = self.files[index]
-            label = self.labels[index]
-            bag, (wsi_name, batch_coords, patient) = self.get_data(t)
-            # print(bag.shape)
-            # label = torch.as_tensor(label)
-            # label = torch.nn.functional.one_hot(label, num_classes=self.n_classes)
-                # self.labels.append(label)
-                # self.feature_bags.append(batch)
-                # self.wsi_names.append(wsi_name)
-                # self.name_batches.append(name_batch)
-                # self.patients.append(patient)
-            if self.mode == 'train':
-                bag_size = bag.shape[0]
-
-                bag_idxs = torch.randperm(bag_size)[:self.max_bag_size]
-                # bag_idxs = torch.randperm(bag_size)[:int(self.max_bag_size*(1-self.drop_rate))]
-                out_bag = bag[bag_idxs, :]
-                if self.mixup:
-                    out_bag = self.get_mixup_bag(out_bag)
-                    # batch_coords = 
-                if out_bag.shape[0] < self.max_bag_size:
-                    out_bag = torch.cat((out_bag, torch.zeros(self.max_bag_size-out_bag.shape[0], out_bag.shape[1])))
-
-                # shuffle again
-                out_bag_idxs = torch.randperm(out_bag.shape[0])
-                out_bag = out_bag[out_bag_idxs]
-
-
-                # batch_coords only useful for test
-                batch_coords = batch_coords[bag_idxs]
-                # out_bag = bag
-
-            # mixup? Linear combination of 2 vectors
-            # add noise
-
-
+        # base_file = file_path.with_suffix('')
+        # if wsi_name.split('_')[-1][:3] == 'aug':
+        parts = wsi_name.rsplit('_', 1)
+        if parts[1][:3] == 'aug':
+            if parts[1].split('-')[0] == '1024':
+                wsi_name = parts[0]
             else: 
-                bag_size = bag.shape[0]
-                bag_idxs = torch.randperm(bag_size)[:self.max_bag_size]
-                out_bag = bag[bag_idxs, :]
-                if out_bag.shape[0] < self.max_bag_size:
-                    out_bag = torch.cat((out_bag, torch.zeros(self.max_bag_size-out_bag.shape[0], out_bag.shape[1])))
-                
-
-        return out_bag, label, (wsi_name, patient)
-        # return out_bag, label, (wsi_name, batch_coords, patient)
-
-class FeatureBagLoader_Mixed(data.Dataset):
-    def __init__(self, file_path, label_path, mode, n_classes, cache=False, mixup=False, aug=False, data_cache_size=5000, max_bag_size=1000):
-        super().__init__()
-
-        self.data_info = []
-        self.data_cache = {}
-        self.slideLabelDict = {}
-        self.files = []
-        self.labels = []
-        self.data_cache_size = data_cache_size
-        self.mode = mode
-        self.file_path = file_path
-        # self.csv_path = csv_path
-        self.label_path = label_path
-        self.n_classes = n_classes
-        self.max_bag_size = max_bag_size
-        self.drop_rate = 0.2
-        # self.min_bag_size = 120
-        self.empty_slides = []
-        self.corrupt_slides = []
-        self.cache = cache
-        self.mixup = mixup
-        self.aug = aug
-        
-        self.missing = []
-
-        home = Path.cwd().parts[1]
-        self.slide_patient_dict_path = f'/{home}/ylan/DeepGraft/training_tables/slide_patient_dict_an.json'
-        with open(self.slide_patient_dict_path, 'r') as f:
-            self.slide_patient_dict = json.load(f)
-
-        # read labels and slide_path from csv
-        with open(self.label_path, 'r') as f:
-            json_dict = json.load(f)
-            temp_slide_label_dict = json_dict[self.mode]
-            # print(len(temp_slide_label_dict))
-            for (x,y) in temp_slide_label_dict:
-                
-                x_name = Path(x).stem
-                x_path_list = [Path(self.file_path)/x]
-                # x_name = x.stem
-                # x_path_list = [Path(self.file_path)/ x for (x,y) in temp_slide_label_dict]
-                if self.aug:
-                    for i in range(5):
-                        aug_path = Path(self.file_path)/f'{x}_aug{i}'
-                        x_path_list.append(aug_path)
-
-                for x_path in x_path_list: 
-                    
-                    if x_path.exists():
-                        self.slideLabelDict[x_name] = y
-                        self.labels.append(int(y))
-                        self.files.append(x_path)
-                        for patch_path in x_path.iterdir():
-                            self.files.append((patch_path, x_name, y))
-
-
-        self.feature_bags = []
-        
-        self.wsi_names = []
-        self.coords = []
-        self.patients = []
-
-        if self.cache:
-            for t in tqdm(self.files):
-                # zarr_t = str(t) + '.zarr'
-                batch, (wsi_name, batch_coords, patient) = self.get_data(t)
-
-                # print(label)
-                # self.labels.append(label)
-                self.feature_bags.append(batch)
-                self.wsi_names.append(wsi_name)
-                self.coords.append(batch_coords)
-                self.patients.append(patient)
-        # else: 
-        #     for t in tqdm(self.files):
-        #         self.labels = 
-
-    # def create_bag(self):
-
-
-
-    def get_data(self, file_path):
-        
-        batch_names=[] #add function for name_batch read out
-
-        wsi_name = Path(file_path).stem
-        if wsi_name.split('_')[-1][:3] == 'aug':
-            wsi_name = '_'.join(wsi_name.split('_')[:-1])
+                wsi_name = '_'.join(parts[:-1])
+            # wsi_name = '_'.join(wsi_name.split('_')[:-1])
+            
+            # base_file = Path('_'.join(str(base_file).split('_')[:-1]))
         # if wsi_name in self.slideLabelDict:
         # label = self.slideLabelDict[wsi_name]
         patient = self.slide_patient_dict[wsi_name]
-
-        if Path(file_path).suffix == '.zarr':
-            z = zarr.open(file_path, 'r')
-            np_bag = np.array(z['data'][:])
-            coords = np.array(z['coords'][:])
-        else:
-            with h5py.File(file_path, 'r') as hdf5_file:
-                np_bag = hdf5_file['features'][:]
-                coords = hdf5_file['coords'][:]
+        # print(file_path)
+        with h5py.File(file_path, 'r') as hdf5_file:
+            np_bag = hdf5_file['features'][:]
+            coords = hdf5_file['coords'][:]
+            #info@arno-flachskampf.de
+
+        # if Path(file_path).suffix == '.zarr':
+        #     z = zarr.open(file_path, 'r')
+        #     np_bag = np.array(z['data'][:])
+        #     coords = np.array(z['coords'][:])
+        # else:
+        #     with h5py.File(file_path, 'r') as hdf5_file:
+        #         print(hdf5_file.keys())
+        #         np_bag = hdf5_file['features'][:]
+        #         coords = hdf5_file['coords'][:]
 
         # np_bag = torch.load(file_path)
         # z = zarr.open(file_path, 'r')
@@ -436,29 +229,19 @@ class FeatureBagLoader_Mixed(data.Dataset):
 
         return wsi_bag, (wsi_name, batch_coords, patient)
     
-    def get_labels(self, indices):
-        # for i in indices: 
-        #     print(self.labels[i])
-        return [self.labels[i] for i in indices]
+    # def get_labels(self, indices):
+    #     # for i in indices: 
+    #     #     print(self.labels[i])
+    #     return [self.labels[i] for i in indices]
+    def get_labels(self):
+        return self.labels
 
 
     def to_fixed_size_bag(self, bag, names, bag_size: int = 512):
 
-        #duplicate bag instances unitl 
-
         bag_idxs = torch.randperm(bag.shape[0])[:bag_size]
         bag_samples = bag[bag_idxs]
         name_samples = [names[i] for i in bag_idxs]
-        # bag_sample_names = [bag_names[i] for i in bag_idxs]
-        # q, r  = divmod(bag_size, bag_samples.shape[0])
-        # if q > 0:
-        #     bag_samples = torch.cat([bag_samples]*q, 0)
-
-        # self_padded = torch.cat([bag_samples, bag_samples[:r,:, :, :]])
-
-        # zero-pad if we don't have enough samples
-        # zero_padded = torch.cat((bag_samples,
-        #                         torch.zeros(bag_size-bag_samples.shape[0], bag_samples.shape[1], bag_samples.shape[2], bag_samples.shape[3])))
 
         return bag_samples, name_samples, min(bag_size, len(bag))
 
@@ -485,22 +268,16 @@ class FeatureBagLoader_Mixed(data.Dataset):
 
 
         temp_bag = (bag_x.t()*a).t() + (bag_y.t()*(1.0-a)).t()
-        # print('temp_bag: ', temp_bag.shape)
 
         if bag_size < self.max_bag_size:
             diff = self.max_bag_size - bag_size
             bag_idxs = torch.randperm(bag_size)[:diff]
             
-            # print('bag: ', bag.shape)
-            # print('bag_idxs: ', bag_idxs.shape)
             mixup_bag = torch.cat((bag, temp_bag[bag_idxs, :]))
-            # print('mixup_bag: ', mixup_bag.shape)
         else:
             random_sample_list = torch.rand(bag_size)
             mixup_bag = [bag[i] if random_sample_list[i] else temp_bag[i] > b for i in range(bag_size)] #make pytorch native?!
             mixup_bag = torch.stack(mixup_bag)
-            # print('else')
-            # print(mixup_bag.shape)
 
         return mixup_bag
 
@@ -513,34 +290,15 @@ class FeatureBagLoader_Mixed(data.Dataset):
             label = self.labels[index]
             bag = self.feature_bags[index]
             
-        
-            
-            # label = Variable(Tensor(label))
-            # label = torch.as_tensor(label)
-            # label = torch.nn.functional.one_hot(label, num_classes=self.n_classes)
             wsi_name = self.wsi_names[index]
             batch_coords = self.coords[index]
             patient = self.patients[index]
-
-            
-            #random dropout
-            #shuffle
-
-            # feats = Variable(Tensor(feats))
-            # return wsi, label, (wsi_name, batch_coords, patient)
         else:
             t = self.files[index]
             label = self.labels[index]
             bag, (wsi_name, batch_coords, patient) = self.get_data(t)
-            # print(bag.shape)
-            # label = torch.as_tensor(label)
-            # label = torch.nn.functional.one_hot(label, num_classes=self.n_classes)
-                # self.labels.append(label)
-                # self.feature_bags.append(batch)
-                # self.wsi_names.append(wsi_name)
-                # self.name_batches.append(name_batch)
-                # self.patients.append(patient)
-            if self.mode == 'train':
+
+            if self.mode == 'train' or self.mode == 'fine_tune':
                 bag_size = bag.shape[0]
 
                 bag_idxs = torch.randperm(bag_size)[:self.max_bag_size]
@@ -559,24 +317,25 @@ class FeatureBagLoader_Mixed(data.Dataset):
 
                 # batch_coords only useful for test
                 batch_coords = batch_coords[bag_idxs]
-                # out_bag = bag
-
-            # mixup? Linear combination of 2 vectors
-            # add noise
-
+                return out_bag, label, (wsi_name, patient)
 
-            # elif self.mode == 'val': 
-            #     bag_size = bag.shape[0]
-            #     bag_idxs = torch.randperm(bag_size)[:self.max_bag_size]
-            #     out_bag = bag[bag_idxs, :]
-            #     if out_bag.shape[0] < self.max_bag_size:
-            #         out_bag = torch.cat((out_bag, torch.zeros(self.max_bag_size-out_bag.shape[0], out_bag.shape[1])))
-            else:
+            else: 
                 # bag_size = bag.shape[0]
+                # bag_idxs = torch.randperm(bag_size)[:self.max_bag_size]
+                # batch_coords = batch_coords[bag_idxs, :]
+                # out_bag = bag[bag_idxs, :]
+                # print(out_bag.shape)
+                # if out_bag.shape[0] < self.max_bag_size:
+                    # out_bag = torch.cat((out_bag, torch.zeros(self.max_bag_size-out_bag.shape[0], out_bag.shape[1])))
+                    # out_batch_coords = 
                 out_bag = bag
 
+            # print('feature_dataloader: ', out_bag.shape)
+
+        return out_bag, label, (wsi_name, batch_coords, patient)
+        # return out_bag, label, (wsi_name, batch_coords, patient)
+
 
-        return out_bag, label, (wsi_name, patient)
 
 
 if __name__ == '__main__':
@@ -585,42 +344,41 @@ if __name__ == '__main__':
     import os
     import time
     # from fast_tensor_dl import FastTensorDataLoader
-    # from custom_resnet50 import resnet50_baseline
-    
+    from custom_resnet50 import resnet50_baseline
     
-
     home = Path.cwd().parts[1]
     train_csv = f'/{home}/ylan/DeepGraft_project/code/debug_train.csv'
-    data_root = f'/{home}/ylan/data/DeepGraft/224_128uM_annotated'
+    data_root = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated'
     # data_root = f'/{home}/ylan/DeepGraft/dataset/hdf5/256_256um_split/'
     # label_path = f'/{home}/ylan/DeepGraft_project/code/split_PAS_bin.json'
     # label_path = f'/{home}/ylan/DeepGraft/training_tables/split_debug.json'
-    label_path = f'/{home}/ylan/DeepGraft/training_tables/dg_limit_5_split_PAS_HE_Jones_norm_rest_test.json'
-    output_dir = f'/{data_root}/debug/augments'
-    os.makedirs(output_dir, exist_ok=True)
-
+    label_path = f'/{home}/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_rest_rej_ext.json'
+    # output_dir = f'/{data_root}/debug/augments'
+    # os.makedirs(output_dir, exist_ok=True)
     n_classes = 2
 
     train_dataset = FeatureBagLoader(data_root, label_path=label_path, mode='train', cache=False, mixup=True, aug=True, n_classes=n_classes)
-    val_dataset = FeatureBagLoader(data_root, label_path=label_path, mode='val', cache=False, mixup=False, aug=False, n_classes=n_classes)
+    print('train_dataset: ', len(train_dataset))
 
-    test_dataset = FeatureBagLoader(data_root, label_path=label_path, mode='test', cache=False, n_classes=n_classes)
+    train_dl = DataLoader(train_dataset, batch_size=100, sampler=ImbalancedDatasetSampler(train_dataset)) #
 
-    # print(dataset.get_labels(0))
-    # a = int(len(dataset)* 0.8)
-    # b = int(len(dataset) - a)
-    # train_data, valid_data = random_split(dataset, [a, b])
+    print('train_dl: ', len(train_dl))
 
-    train_dl = DataLoader(train_dataset, batch_size=1, sampler=ImbalancedDatasetSampler(train_dataset), num_workers=5)
-    valid_dl = DataLoader(val_dataset, batch_size=1, num_workers=5)
-    test_dl = DataLoader(test_dataset)
+    # train_dataset = FeatureBagLoader(data_root, label_path=label_path, mode='train', cache=False, n_classes=n_classes, model='None', aug=True, mixup=True)
+    # test_dataset = FeatureBagLoader(data_root, label_path=label_path, mode='test', cache=False, n_classes=n_classes, model='None', aug=True, mixup=True)
+    # test_dl = DataLoader(test_dataset, batch_size=1)
+    # print('test_dl: ', len(test_dl))
 
-    print('train_dl: ', len(train_dl))
-    print('valid_dl: ', len(valid_dl))
-    print('test_dl: ', len(test_dl))
+    # # print(dataset.get_labels(0))
+    # # a = int(len(dataset)* 0.8)
+    # # b = int(len(dataset) - a)
+    # # train_data, valid_data = random_split(dataset, [a, b])
 
+    # val_dataset = FeatureBagLoader(data_root, label_path=label_path, mode='val', cache=False, mixup=False, aug=False, n_classes=n_classes, model='None')
+    # valid_dl = DataLoader(val_dataset, batch_size=1)
+    # print('valid_dl: ', len(valid_dl))
 
-    # device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
+    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
     # scaler = torch.cuda.amp.GradScaler()
 
     # model_ft = resnet50_baseline(pretrained=True)
@@ -632,31 +390,20 @@ if __name__ == '__main__':
 
     # print(dataset.get_labels(np.arange(len(dataset))))
 
-    c = 0
-    label_count = [0] *n_classes
-    epochs = 1
-    # print(len(dl))
-    # start = time.time()
-    for i in range(epochs):
-        start = time.time()
-        for item in tqdm(valid_dl): 
-
-            # if c >= 10:
-            #     break
-            bag, label, (name, batch_coords, patient) = item
-            print(bag.shape)
-            # print(bag.shape, label)
-            # print(len(batch_names))
-            # print(label)
-            # print(batch_coords)
-            # print(name)
-            # bag = bag.float().to(device)
-            # print(bag.shape)
-            # label = label.to(device)
-            # with torch.cuda.amp.autocast():
-            #     output = model(bag)
-            # c += 1
-        end = time.time()
-        print('Bag Time: ', end-start)
+    # c = 0
+    # label_count = [0] *n_classes
+    # epochs = 1
+    # # print(len(dl))
+    # # start = time.time()
+    # for i in range(epochs):
+    #     start = time.time()
+    #     for item in tqdm(valid_dl): 
+    #         if c >= 50:
+    #             break
+    #         # print(item)
+    #         bag, label, (name, patient) = item
+    #         c += 1
+    #     end = time.time()
+    #     print('Bag Time: ', end-start)
 
     
\ No newline at end of file
diff --git a/code/datasets/jpg_dataloader.py b/code/datasets/jpg_dataloader.py
index c983d55..c45e8ce 100644
--- a/code/datasets/jpg_dataloader.py
+++ b/code/datasets/jpg_dataloader.py
@@ -1,5 +1,4 @@
 # import pandas as pd
-
 import numpy as np
 import torch
 from torch import Tensor
@@ -19,10 +18,12 @@ import json
 from imgaug import augmenters as iaa
 from torchsampler import ImbalancedDatasetSampler
 from .utils import myTransforms
-
+import re
+from monai.networks.nets import milmodel
+import torch.nn as nn
 
 class JPGMILDataloader(data_utils.Dataset):
-    def __init__(self, file_path, label_path, mode, model, n_classes, data_cache_size=100, max_bag_size=1000, cache=False, mixup=False, aug=False):
+    def __init__(self, file_path, label_path, mode, n_classes, model=None, data_cache_size=100, max_bag_size=1000, cache=False, mixup=False, aug=False, patients=None, slides=None):
         super().__init__()
 
         self.data_info = []
@@ -41,31 +42,69 @@ class JPGMILDataloader(data_utils.Dataset):
         self.corrupt_slides = []
         self.cache = False
         self.labels = []
+        self.slides_to_process = []
 
         # self.features = []
         # self.labels = []
         # self.wsi_names = []
         # self.name_batches = []
         # self.patients = []
+        home = Path.cwd().parts[1]
+
+        self.slide_patient_dict_path = f'/{home}/ylan/data/DeepGraft/training_tables/slide_patient_dict.json'
+        # self.slide_patient_dict_path = Path(self.label_path).parent / 'slide_patient_dict_an.json'
+        with open(self.slide_patient_dict_path, 'r') as f:
+            self.slide_patient_dict = json.load(f)
+
+        # if patients: 
+        #     self.slides_to_process = [self.slide_patient_dict[p] for p in patients]
+        # elif slides: 
+        #     self.slides_to_process = slides
+        # else 
+
         
         # read labels and slide_path from csv
         with open(self.label_path, 'r') as f:
             json_dict = json.load(f)
             temp_slide_label_dict = json_dict[self.mode]
+
             # print(len(temp_slide_label_dict))
+
             for (x,y) in temp_slide_label_dict:
-                x = x.replace('FEATURES_RETCCL_2048', 'BLOCKS')
+                if self.mode == 'test':
+                    x = x.replace('FEATURES_RETCCL_2048', 'TEST')
+                else:
+                    x = x.replace('FEATURES_RETCCL_2048', 'BLOCKS')
                 # print(x)
                 x_name = Path(x).stem
-                x_path_list = [Path(self.file_path)/x]
-                for x_path in x_path_list:
-                    if x_path.exists():
-                        # print(len(list(x_path.glob('*'))))
-                        self.slideLabelDict[x_name] = y
-                        self.labels += [int(y)]*len(list(x_path.glob('*')))
-                        # self.labels.append(int(y))
-                        self.files.append(x_path)
-
+                if x_name in self.slide_patient_dict.keys():
+                    if patients:
+                        if self.slide_patient_dict[x_name] in patients:
+                            x_path_list = [Path(self.file_path)/x]
+                            for x_path in x_path_list:
+                                if x_path.exists():
+                                    # print(len(list(x_path.glob('*'))))
+                                    self.slideLabelDict[x_name] = y
+                                    self.labels += [int(y)]*len(list(x_path.glob('*')))
+                                    # self.labels.append(int(y))
+                                    self.files.append(x_path)
+                    elif slides: 
+                        if x_name in slides:
+                            x_path_list = [Path(self.file_path)/x]
+                            for x_path in x_path_list:
+                                if x_path.exists():
+                                    self.slideLabelDict[x_name] = y
+                                    self.labels += [int(y)]*len(list(x_path.glob('*')))
+                                    self.files.append(x_path)
+                    else:
+                        x_path_list = [Path(self.file_path)/x]
+                        for x_path in x_path_list:
+                            if x_path.exists():
+                                # print(len(list(x_path.glob('*'))))
+                                self.slideLabelDict[x_name] = y
+                                self.labels += [int(y)]*len(list(x_path.glob('*')))
+                                # self.labels.append(int(y))
+                                self.files.append(x_path)
         # with open(self.label_path, 'r') as f:
         #     temp_slide_label_dict = json.load(f)[mode]
         #     print(len(temp_slide_label_dict))
@@ -81,11 +120,7 @@ class JPGMILDataloader(data_utils.Dataset):
         #                     self.files.append(x_complete_path)
         #                 else: self.empty_slides.append(x_complete_path)
         
-        home = Path.cwd().parts[1]
-        # self.slide_patient_dict_path = f'/{home}/ylan/DeepGraft/training_tables/slide_patient_dict.json'
-        self.slide_patient_dict_path = Path(self.label_path).parent / 'slide_patient_dict_an.json'
-        with open(self.slide_patient_dict_path, 'r') as f:
-            self.slide_patient_dict = json.load(f)
+        
 
         # def get_transforms_2():
         
@@ -107,31 +142,6 @@ class JPGMILDataloader(data_utils.Dataset):
             myTransforms.RandomElastic(alpha=2, sigma=0.06),
         ])
 
-
-
-        # sometimes = lambda aug: iaa.Sometimes(0.5, aug, name="Random1")
-        # sometimes2 = lambda aug: iaa.Sometimes(0.2, aug, name="Random2")
-        # sometimes3 = lambda aug: iaa.Sometimes(0.9, aug, name="Random3")
-        # sometimes4 = lambda aug: iaa.Sometimes(0.9, aug, name="Random4")
-        # sometimes5 = lambda aug: iaa.Sometimes(0.9, aug, name="Random5")
-
-        # self.resize_transforms = iaa.Sequential([
-        #     myTransforms.Resize(size=(299,299)),
-        # ], name='resizeAug')
-
-        # self.train_transforms = iaa.Sequential([
-        #     iaa.AddToHueAndSaturation(value=(-30, 30), name="MyHSV"), #13
-        #     sometimes2(iaa.GammaContrast(gamma=(0.85, 1.15), name="MyGamma")),
-        #     iaa.Fliplr(0.5, name="MyFlipLR"),
-        #     iaa.Flipud(0.5, name="MyFlipUD"),
-        #     sometimes(iaa.Rot90(k=1, keep_size=True, name="MyRot90")),
-        #     # iaa.OneOf([
-        #     #     sometimes3(iaa.PiecewiseAffine(scale=(0.015, 0.02), cval=0, name="MyPiece")),
-        #     #     sometimes4(iaa.ElasticTransformation(alpha=(100, 200), sigma=20, cval=0, name="MyElastic")),
-        #     #     sometimes5(iaa.Affine(scale={"x": (0.95, 1.05), "y": (0.95, 1.05)}, rotate=(-45, 45), shear=(-4, 4), cval=0, name="MyAffine"))
-        #     # ], name="MyOneOf")
-
-        # ], name="MyAug")
         self.val_transforms = transforms.Compose([
             # 
             transforms.ToTensor(),
@@ -139,7 +149,6 @@ class JPGMILDataloader(data_utils.Dataset):
                 mean=[0.485, 0.456, 0.406],
                 std=[0.229, 0.224, 0.225],
             ),
-            # RangeNormalization(),
         ])
 
 
@@ -199,37 +208,15 @@ class JPGMILDataloader(data_utils.Dataset):
         #     self.test_bags_list, self.test_labels_list = self._create_bags()
 
     def get_data(self, file_path):
-        
-        color_transforms = myTransforms.Compose([
-            myTransforms.ColorJitter(
-                brightness = (0.65, 1.35), 
-                contrast = (0.5, 1.5),
-                # saturation=(0, 2), 
-                # hue=0.3,
-                ),
-            # myTransforms.RandomChoice([myTransforms.ColorJitter(saturation=(0, 2), hue=0.3),
-            #                             myTransforms.HEDJitter(theta=0.05)]),
-            myTransforms.HEDJitter(theta=0.005),
-            
-        ])
-        train_transforms = myTransforms.Compose([
-            myTransforms.RandomChoice([myTransforms.RandomHorizontalFlip(p=0.5),
-                                        myTransforms.RandomVerticalFlip(p=0.5),
-                                        myTransforms.AutoRandomRotation()]),
-        
-            myTransforms.RandomGaussBlur(radius=[0.5, 1.5]),
-            myTransforms.RandomAffineCV2(alpha=0.1),
-            myTransforms.RandomElastic(alpha=2, sigma=0.06),
-        ])
 
         wsi_batch=[]
-        name_batch=[]
+        coords_batch=[]
         
         for tile_path in Path(file_path).iterdir():
             img = Image.open(tile_path)
             if self.mode == 'train':
-            
-                img = self.color_transforms(img)
+        
+                # img = self.color_transforms(img)
                 img = self.train_transforms(img)
             img = self.val_transforms(img)
             # img = np.asarray(Image.open(tile_path)).astype(np.uint8)
@@ -237,52 +224,51 @@ class JPGMILDataloader(data_utils.Dataset):
             # print(img.shape)
             # img = torch.from_numpy(img)
             wsi_batch.append(img)
-            name_batch.append(tile_path.stem)
+            pos = re.findall(r'\((.*?)\)', tile_path.stem)
+            x, y = pos[-1].split('-')
+            coords = [int(x),int(y)]
+
+            # name_batch.append(tile_path.stem)
 
+            coords_batch.append(coords)
+        
+        coords_batch = np.stack(coords_batch)
+        # print(coords_batch.shape)
+        coords_batch = torch.from_numpy(coords_batch)
         wsi_batch = torch.stack(wsi_batch)
 
         # if wsi_batch.size(0) > self.max_bag_size:
         
 
         wsi_name = Path(file_path).stem
-        try:
-            label = self.slideLabelDict[wsi_name]
-        except KeyError:
-            print(f'{wsi_name} is not included in label file {self.label_path}')
+        # try:
+        # label = self.slideLabelDict[wsi_name]
+        # except KeyError:
+        #     print(f'{wsi_name} is not included in label file {self.label_path}')
 
         
 
-        try:
-            patient = self.slide_patient_dict[wsi_name]
-        except KeyError:
-            print(f'{wsi_name} is not included in label file {self.slide_patient_dict_path}')
+        # try:
+        patient = self.slide_patient_dict[wsi_name]
+        # except KeyError:
+        #     print(f'{wsi_name} is not included in label file {self.slide_patient_dict_path}')
 
-        return wsi_batch, label, (wsi_name, name_batch, patient)
+        return wsi_batch, (wsi_name, coords_batch, patient)
     
     def get_labels(self, indices):
         return [self.labels[i] for i in indices]
 
 
-    def to_fixed_size_bag(self, bag, bag_size: int = 512):
+    def to_fixed_size_bag(self, bag, names, bag_size: int = 512):
 
         #duplicate bag instances unitl 
 
         bag_idxs = torch.randperm(bag.shape[0])[:bag_size]
         bag_samples = bag[bag_idxs]
-        # name_samples = [names[i] for i in bag_idxs]
-
-        # bag_sample_names = [bag_names[i] for i in bag_idxs]
-        # q, r  = divmod(bag_size, bag_samples.shape[0])
-        # if q > 0:
-        #     bag_samples = torch.cat([bag_samples]*q, 0)
-
-        # self_padded = torch.cat([bag_samples, bag_samples[:r,:, :, :]])
-
-        # zero-pad if we don't have enough samples
+        name_samples = [names[i] for i in bag_idxs]
         zero_padded = torch.cat((bag_samples,
                                 torch.zeros(bag_size-bag_samples.shape[0], bag_samples.shape[1], bag_samples.shape[2], bag_samples.shape[3])))
-
-        return zero_padded, min(bag_size, len(bag))
+        return zero_padded, name_samples, min(bag_size, len(bag))
 
     def data_dropout(self, bag, drop_rate):
         bag_size = bag.shape[0]
@@ -297,71 +283,73 @@ class JPGMILDataloader(data_utils.Dataset):
 
     def __getitem__(self, index):
 
-        if self.cache:
+        # if self.cache:
+        #     label = self.labels[index]
+        #     wsi = self.features[index]
+        #     label = int(label)
+        #     wsi_name = self.wsi_names[index]
+        #     name_batch = self.name_batches[index]
+        #     patient = self.patients[index]
+        #     return wsi, label, (wsi_name, name_batch, patient)
+        # else:
+        t = self.files[index]
+        # label = self.labels[index]
+        if self.mode=='train':
+
+            batch, (wsi_name, batch_coords, patient) = self.get_data(t)
             label = self.labels[index]
-            wsi = self.features[index]
-            label = int(label)
-            wsi_name = self.wsi_names[index]
-            name_batch = self.name_batches[index]
-            patient = self.patients[index]
-            # feats = Variable(Tensor(feats))
-            return wsi, label, (wsi_name, name_batch, patient)
-        else:
-            t = self.files[index]
-            # label = self.labels[index]
-            if self.mode=='train':
-
-                batch, label, (wsi_name, name_batch, patient) = self.get_data(t)
-                batch, _ = self.to_fixed_size_bag(batch, self.max_bag_size)
-                batch = self.data_dropout(batch, drop_rate=0.1)
-                # print(batch.shape)
-                # # label = Variable(Tensor(label))
-
-                # # wsi = Variable(Tensor(wsi_batch))
-                # out_batch = []
-
-                # # seq_img_d = self.train_transforms.to_deterministic()
-                # # seq_img_resize = self.resize_transforms.to_deterministic()
-                # for img in batch: 
-                #     # img = img.numpy().astype(np.uint8)
-                #     # print(img.shape)
-                #     img = self.resize_transforms(img)
-                #     # print(img)
-                #     # print(img.shape)
-                #     # img = torch.moveaxis(img, 0, 2) # with HEDJitter wants [W,H,3], ColorJitter wants [3,W,H]
-                #     # print(img.shape)
-                #     img = self.color_transforms(img)
-                #     print(img.shape)
-                #     img = self.train_transforms(img)
-                    
-                #     # img = seq_img_d.augment_image(img)
-                #     img = self.val_transforms(img.copy())
-                #     out_batch.append(img)
-                # out_batch = torch.stack(out_batch)
-                out_batch = batch
+            out_batch, batch_coords, _ = self.to_fixed_size_bag(batch, batch_coords, self.max_bag_size)
+
+            # print('_getitem_: ', out_batch.shape)
+            # bag_idxs = 
+            # batch = self.data_dropout(batch, drop_rate=0.1)
+            # print(batch.shape)
+            # # label = Variable(Tensor(label))
+
+            # # wsi = Variable(Tensor(wsi_batch))
+            # out_batch = []
+
+            # # seq_img_d = self.train_transforms.to_deterministic()
+            # # seq_img_resize = self.resize_transforms.to_deterministic()
+            # for img in batch: 
+            #     # img = img.numpy().astype(np.uint8)
+            #     # print(img.shape)
+            #     img = self.resize_transforms(img)
+            #     # print(img)
+            #     # print(img.shape)
+            #     # img = torch.moveaxis(img, 0, 2) # with HEDJitter wants [W,H,3], ColorJitter wants [3,W,H]
+            #     # print(img.shape)
+            #     img = self.color_transforms(img)
+            #     print(img.shape)
+            #     img = self.train_transforms(img)
                 
-                # ft = ft.view(-1, 512)
-                
-            else:
-                batch, label, (wsi_name, name_batch, patient) = self.get_data(t)
-                batch, _ = self.to_fixed_size_bag(batch, self.max_bag_size)
-                # label = Variable(Tensor(label))
-                # out_batch = []
-                # # seq_img_d = self.train_transforms.to_deterministic()
-                # # seq_img_resize = self.resize_transforms.to_deterministic()
-                # for img in batch: 
-                #     # img = img.numpy().astype(np.uint8)
-                #     # img = seq_img_resize(images=img)
-                #     img = self.resize_transforms(img)
-                #     img = np.moveaxis(img, 0, 2)
-                #     # img = img.numpy().astype(np.uint8)
-                #     # print(img.shape)
-                #     img = self.val_transforms(img)
-                #     out_batch.append(img)
-                # out_batch = torch.stack(out_batch)
-                out_batch = batch
-
-            return out_batch, label, (wsi_name , patient)
+            #     # img = seq_img_d.augment_image(img)
+            #     img = self.val_transforms(img.copy())
+            #     out_batch.append(img)
+            # out_batch = torch.stack(out_batch)
+            
+            # ft = ft.view(-1, 512)
+            
+        else:
+            batch, (wsi_name, batch_coords, patient) = self.get_data(t)
+            label = self.labels[index]
+            out_batch = batch
+
+        # return out_batch, label, (wsi_name, patient)
+        return out_batch, label, (wsi_name, batch_coords, patient)
+
+class View(nn.Module):
+    def __init__(self, shape):
+        super().__init__()
+        self.shape = shape
+
+    def forward(self, input):
+        '''
+        Reshapes the input according to the shape saved in the view data structure.
+        '''
+        out = input.view(*self.shape)
+        return out
+
 
 if __name__ == '__main__':
     
@@ -379,13 +367,13 @@ if __name__ == '__main__':
     # data_root = f'/{home}/ylan/DeepGraft/dataset/hdf5/256_256um_split/'
     # label_path = f'/{home}/ylan/DeepGraft_project/code/split_PAS_bin.json'
     # label_path = f'/{home}/ylan/DeepGraft/training_tables/split_debug.json'
-    label_path = f'/{home}/ylan/DeepGraft/training_tables/dg_limit_5_split_PAS_HE_Jones_norm_rest_test.json'
+    label_path = f'/{home}/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest_val_1.json'
     # output_dir = f'/{data_root}/debug/augments'
     # os.makedirs(output_dir, exist_ok=True)
 
     n_classes = 2
 
-    dataset = JPGBagLoader(data_root, label_path=label_path, mode='train', n_classes=n_classes, cache=False)
+    dataset = JPGMILDataloader(data_root, label_path=label_path, mode='train', n_classes=n_classes, cache=False)
     # dataset = JPGBagLoader(data_root, label_path=label_path, mode='train', n_classes=n_classes, cache=False)
 
     # print(dataset.get_labels(0))
@@ -397,38 +385,56 @@ if __name__ == '__main__':
     # b = int(len(dataset) - a)
     # train_ds, val_ds = torch.utils.data.random_split(dataset, [a, b])
     # dl = FastTensorDataLoader(dataset, batch_size=1, shuffle=False)
-    dl = DataLoader(dataset, batch_size=2, num_workers=8, pin_memory=True)
+    dl = DataLoader(dataset, batch_size=1, num_workers=4, pin_memory=True)
     # print(len(dl))
     # dl = DataLoader(dataset, batch_size=1, sampler=ImbalancedDatasetSampler(dataset), num_workers=5)
     device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
     scaler = torch.cuda.amp.GradScaler()
 
-    model_ft = resnet50_baseline(pretrained=True)
-    for param in model_ft.parameters():
-        param.requires_grad = False
+    # model_ft = resnet50_baseline(pretrained=True)
+    # for param in model_ft.parameters():
+    #     param.requires_grad = False
+    # model_ft.to(device)
+    model_ft = nn.Sequential(
+        nn.Conv2d(3, 20, kernel_size=5),
+        nn.ReLU(),
+        nn.MaxPool2d(2, stride=2),
+        nn.Conv2d(20, 50, kernel_size=5),
+        nn.ReLU(),
+        nn.MaxPool2d(2, stride=2),
+        View((-1, 53*53*50)),
+        nn.Linear(53*53*50, 1024),
+        nn.ReLU(),
+    )
     model_ft.to(device)
+
+    # model = milmodel.MILModel(num_classes=2, pretrained=True, mil_mode='att_trans').to(device)
     
-    c = 0
-    label_count = [0] *n_classes
-    # print(len(dl))
+    # c = 0
+    # label_count = [0] *n_classes
+    # # print(len(dl))
     start = time.time()
     for item in tqdm(dl): 
 
         # if c >= 10:
         #     break
+        
         bag, label, (name, batch_names, patient) = item
-        print(bag.shape)
+        bag = bag.to(device)
+        # print(bag.shape)
         # print(name)
         # print(batch_names)
         # print(patient)
         # print(len(batch_names))
 
-        print(label.shape)
+        # print(label.shape)
         # bag = bag.squeeze(0).float().to(device)
         # label = label.to(device)
-        # with torch.cuda.amp.autocast():
-        #     output = model_ft(bag)
-        c += 1
+        with torch.cuda.amp.autocast():
+            output = model_ft(bag.squeeze())
+            # output = model_ft(bag)
+        print(output.shape)
+        # c += 1
     end = time.time()
 
     print('Bag Time: ', end-start)
\ No newline at end of file
diff --git a/code/datasets/utils/__init__.py b/code/datasets/utils/__init__.py
index e69de29..bf06077 100644
--- a/code/datasets/utils/__init__.py
+++ b/code/datasets/utils/__init__.py
@@ -0,0 +1 @@
+from .myTransforms import *
\ No newline at end of file
diff --git a/code/datasets/utils/__pycache__/__init__.cpython-39.pyc b/code/datasets/utils/__pycache__/__init__.cpython-39.pyc
index 19391f5fd1eeca742d1e73b5108a9cf52b2c4e60..22c1051eeebd1ed15f170e036766a0d098e325fb 100644
GIT binary patch
delta 104
zcmZ3)xSug0k(ZZ?fq{Wx$DOaq(hLj?k3k${%*4RJ;K0DZP|U-?z>va_!kEJl!jQrg
v%%I8ql97RdL6h+oqn4j0<1L=t%8;VOyyCR{qTJ$@3`Hyq3=Bmq6P@D$zLFHS

delta 75
zcmdnbxQNj?k(ZZ?fq{YH=z*=tAo?+gK*o#=3=9qo3=G9A3=9k@48aVVjD9N_ia^3p
IVq!u(0JixG<p2Nx

diff --git a/code/datasets/utils/merge_hdf5.py b/code/datasets/utils/merge_hdf5.py
new file mode 100644
index 0000000..d6f0d8a
--- /dev/null
+++ b/code/datasets/utils/merge_hdf5.py
@@ -0,0 +1,90 @@
+from pathlib import Path
+import os
+import torch
+import h5py
+import numpy as np
+from tqdm import tqdm
+
+'''
+Merge HDF5 files for different uM resolutions. 
+Used for mixed resolution MIL training.
+'''
+
+
+def Save_hdf5(output_dir, asset_dict, mode='a'):
+    
+	file = h5py.File(output_dir, mode)
+
+	for key, val in asset_dict.items():
+		data_shape = val.shape
+        
+		if key not in file:
+			data_type = val.dtype
+			chunk_shape = (1, ) + data_shape[1:]
+			maxshape = (None, ) + data_shape[1:]
+			dset = file.create_dataset(key, shape = data_shape, maxshape = maxshape, chunks = chunk_shape, dtype = data_type)
+			dset[:] = val
+		else:
+			dset = file[key]
+			dset.resize(len(dset) + data_shape[0], axis = 0)
+			dset[-data_shape[0]:] = val  
+
+	file.close()
+	return output_dir
+
+home = Path.cwd().parts[1]
+# data_root = Path(f'/{home}/ylan/data/DeepGraft/224_256uM_annotated')
+res1 = 256
+res2 = 1024
+
+
+cohorts = ['DEEPGRAFT_RU', 'DEEPGRAFT_RA']
+cohorts = ['DEEPGRAFT_RA']
+res1_root = Path(f'/{home}/ylan/data/DeepGraft/224_{res1}uM_annotated')
+res2_root = Path(f'/{home}/ylan/data/DeepGraft/224_{res2}uM_annotated')
+out_path = Path(f'/{home}/ylan/data/DeepGraft/224_{res1}_{res2}_mixed_annotated')
+# cohorts = ['debug']
+
+for c in cohorts:
+    
+    res1_files = [i for i in (res1_root/c/'FEATURES_RETCCL_2048_HED').iterdir() if i.suffix != '.pt']
+    c_out_path = out_path / c 
+    c_out_path.mkdir(parents=True, exist_ok=True)
+    # print(len(pt_files))
+
+    for r1 in tqdm(res1_files):
+        
+        file_name = r1.stem
+        # print(file_name)
+        r2 = res2_root / c /  'FEATURES_RETCCL_2048_HED' / f'{file_name}-1024'
+        merged_out = c_out_path / file_name
+
+        with h5py.File(r1, 'r') as hdf5_file:
+            r1_np_bag = hdf5_file['features'][:]
+            r1_coords = hdf5_file['coords'][:]
+        with h5py.File(r2, 'r') as hdf5_file:
+            r2_np_bag = hdf5_file['features'][:]
+            r2_coords = hdf5_file['coords'][:]
+        
+        # print(r1_np_bag.shape)
+        # print(r1_coords.shape)
+        # print(r2_np_bag.shape)
+        # print(r2_coords.shape)
+
+        # print(np.concatenate((r1_np_bag, r2_np_bag), axis=0))
+        merged_np_bag = np.concatenate((r1_np_bag, r2_np_bag), axis=0)
+        merged_coords = np.concatenate((r1_coords, r2_coords), axis=0)
+        # hdf5_path = pt.with_suffix('')
+        if not merged_out.exists():
+        #     coord_hdf5_path = Path('_'.join(str(hdf5_path).split('_')[:-1]))
+        #     with h5py.File(coord_hdf5_path, 'r') as hdf5_file:
+        #             # np_bag = hdf5_file['features'][:]
+        #             coords = hdf5_file['coords'][:]
+        #     torch_bag = torch.load(pt)
+
+            asset_dict = {'features': merged_np_bag, 'coords': merged_coords}
+            Save_hdf5(merged_out, asset_dict, mode='w') 
+
+            with h5py.File(merged_out, 'r') as hdf5_file:
+                np_bag = hdf5_file['features'][:]
+                coords = hdf5_file['coords'][:]
diff --git a/code/datasets/utils/move_to_hdf5.py b/code/datasets/utils/move_to_hdf5.py
new file mode 100644
index 0000000..0571ea1
--- /dev/null
+++ b/code/datasets/utils/move_to_hdf5.py
@@ -0,0 +1,54 @@
+from pathlib import Path
+import os
+import torch
+import h5py
+import numpy as np
+from tqdm import tqdm
+
+def Save_hdf5(output_dir, asset_dict, mode='a'):
+    
+	file = h5py.File(output_dir, mode)
+
+	for key, val in asset_dict.items():
+		data_shape = val.shape
+        
+		if key not in file:
+			data_type = val.dtype
+			chunk_shape = (1, ) + data_shape[1:]
+			maxshape = (None, ) + data_shape[1:]
+			dset = file.create_dataset(key, shape = data_shape, maxshape = maxshape, chunks = chunk_shape, dtype = data_type)
+			dset[:] = val
+		else:
+			dset = file[key]
+			dset.resize(len(dset) + data_shape[0], axis = 0)
+			dset[-data_shape[0]:] = val  
+
+	file.close()
+	return output_dir
+
+home = Path.cwd().parts[1]
+data_root = Path(f'/{home}/ylan/data/DeepGraft/224_256uM_annotated')
+
+cohorts = ['DEEPGRAFT_RU', 'DEEPGRAFT_RA']
+# cohorts = ['debug']
+
+for c in cohorts:
+    pt_files = [i for i in (data_root/c/'FEATURES_RETCCL_2048_HED').iterdir() if i.suffix == '.pt' and 'aug' in str(i)]
+    # print(len(pt_files))
+
+    for pt in tqdm(pt_files):
+        
+        hdf5_path = pt.with_suffix('')
+        if not hdf5_path.exists():
+            coord_hdf5_path = Path('_'.join(str(hdf5_path).split('_')[:-1]))
+            with h5py.File(coord_hdf5_path, 'r') as hdf5_file:
+                    # np_bag = hdf5_file['features'][:]
+                    coords = hdf5_file['coords'][:]
+            torch_bag = torch.load(pt)
+
+            asset_dict = {'features': torch_bag.numpy(), 'coords': coords}
+            Save_hdf5(hdf5_path, asset_dict, mode='w') 
+
+            with h5py.File(hdf5_path, 'r') as hdf5_file:
+                np_bag = hdf5_file['features'][:]
+                coords = hdf5_file['coords'][:]
diff --git a/code/fine_tune.py b/code/fine_tune.py
new file mode 100644
index 0000000..651dba7
--- /dev/null
+++ b/code/fine_tune.py
@@ -0,0 +1,370 @@
+import argparse
+from pathlib import Path
+import numpy as np
+import glob
+
+from sklearn.model_selection import KFold
+
+from datasets.data_interface import MILDataModule, CrossVal_MILDataModule
+# from datasets.data_interface import DataInterface, MILDataModule, CrossVal_MILDataModule
+from models.model_interface import ModelInterface
+from models.model_interface_classic import ModelInterface_Classic
+# from models.model_interface_dtfd import ModelInterface_DTFD
+import models.vision_transformer as vits
+from utils.utils import *
+
+# pytorch_lightning
+import pytorch_lightning as pl
+from pytorch_lightning import Trainer
+from pytorch_lightning.strategies import DDPStrategy
+import torch
+from train_loop import KFoldLoop
+from pytorch_lightning.plugins.training_type import DDPPlugin
+from datasets import FeatureBagLoader
+import pprint
+
+
+try:
+    import apex
+    from apex.parallel import DistributedDataParallel
+    print('Apex available.')
+except ModuleNotFoundError:
+    # Error handling
+    pass
+
+def unwrap_lightning_module(wrapped_model):
+    from apex.parallel import DistributedDataParallel
+    from pytorch_lightning.overrides.base import (
+        _LightningModuleWrapperBase,
+        _LightningPrecisionModuleWrapperBase,
+    )
+
+    model = wrapped_model
+    if isinstance(model, DistributedDataParallel):
+        model = unwrap_lightning_module(model.module)
+    if isinstance(
+        model, (_LightningModuleWrapperBase, _LightningPrecisionModuleWrapperBase)
+    ):
+        model = unwrap_lightning_module(model.module)
+    return model
+
+
+class ApexDDPPlugin(DDPPlugin):
+    def _setup_model(self, model):
+        from apex.parallel import DistributedDataParallel
+
+        return DistributedDataParallel(model, delay_allreduce=False)
+
+    @property
+    def lightning_module(self):
+        return unwrap_lightning_module(self._model)
+
+
+
+#--->Setting parameters
+def make_parse():
+    parser = argparse.ArgumentParser()
+    parser.add_argument('--stage', default='train', type=str)
+    parser.add_argument('--config', default='DeepGraft/TransMIL.yaml',type=str)
+    parser.add_argument('--version', default=2,type=int)
+    parser.add_argument('--epoch', default='0',type=str)
+
+    parser.add_argument('--gpus', nargs='+', default = [0], type=int)
+    parser.add_argument('--loss', default = 'CrossEntropyLoss', type=str)
+    parser.add_argument('--fold', default = 0)
+    parser.add_argument('--bag_size', default = 1024, type=int)
+    # parser.add_argument('--batch_size', default = 1, type=int)
+    parser.add_argument('--resume_training', action='store_true')
+    parser.add_argument('--label_file', type=str)
+    parser.add_argument('--fine_tune', action='store_true')
+    
+
+    args = parser.parse_args()
+    return args
+
+#---->main
+def main(cfg):
+
+    torch.set_num_threads(8)
+    torch.set_float32_matmul_precision('high')
+
+    #---->Initialize seed
+    pl.seed_everything(cfg.General.seed)
+
+    #---->load loggers
+    cfg.load_loggers = load_loggers(cfg)
+    # print(cfg.load_loggers)
+    save_path = Path(cfg.load_loggers[0].log_dir) 
+
+    #---->load callbacks
+    cfg.callbacks = load_callbacks(cfg, save_path)
+
+    #---->Define Data 
+    # DataInterface_dict = {'train_batch_size': cfg.Data.train_dataloader.batch_size,
+    #             'train_num_workers': cfg.Data.train_dataloader.num_workers,
+    #             'test_batch_size': cfg.Data.test_dataloader.batch_size,
+    #             'test_num_workers': cfg.Data.test_dataloader.num_workers,
+    #             'dataset_name': cfg.Data.dataset_name,
+    #             'dataset_cfg': cfg.Data,}
+    # dm = DataInterface(**DataInterface_dict)
+    home = Path.cwd().parts[1]
+
+    train_classic = False
+    if cfg.Model.name in ['inception', 'resnet18', 'resnet50', 'vit', 'efficientnet']:
+        train_classic = True
+        use_features = False
+
+    if cfg.Model.backbone == 'features':
+        use_features = True
+    # elif cfg.Model.backbone == 'simple':
+    #     use_features = False
+    else: use_features = False
+    
+
+
+    DataInterface_dict = {
+                'data_root': cfg.Data.data_dir,
+                'label_path': cfg.Data.label_file,
+                'batch_size': cfg.Data.train_dataloader.batch_size,
+                'num_workers': cfg.Data.train_dataloader.num_workers,
+                'n_classes': cfg.Model.n_classes,
+                'bag_size': cfg.Data.bag_size,
+                'use_features': use_features,
+                'mixup': cfg.Data.mixup,
+                'aug': cfg.Data.aug,
+                'cache': cfg.Data.cache,
+                'train_classic': train_classic,
+                'model_name': cfg.Model.name,
+                'fine_tune': cfg.fine_tune,
+                }
+
+    # if cfg.Data.cross_val:
+    #     dm = CrossVal_MILDataModule(**DataInterface_dict)
+    dm = MILDataModule(**DataInterface_dict)
+    
+    #---->Define Model
+    
+    ModelInterface_dict = {'model': cfg.Model,
+                            'loss': cfg.Loss,
+                            'optimizer': cfg.Optimizer,
+                            'data': cfg.Data,
+                            'log': cfg.log_path,
+                            'backbone': cfg.Model.backbone,
+                            'task': cfg.task,
+                            'in_features': cfg.Model.in_features,
+                            'out_features': cfg.Model.out_features,
+                            }
+
+    if train_classic:
+        model = ModelInterface_Classic(**ModelInterface_dict)
+    # elif cfg.Model.name == 'DTFDMIL':
+    #     model = ModelInterface_DTFD(**ModelInterface_dict)
+    else:
+        model = ModelInterface(**ModelInterface_dict)
+    
+    #---->Instantiate Trainer
+    # plugins = []
+    # if apex: 
+    #     plugins.append(ApexDDPPlugin())
+
+    if len(cfg.General.gpus) > 1:
+        trainer = Trainer(
+            logger=cfg.load_loggers,
+            callbacks=cfg.callbacks,
+            max_epochs= cfg.General.epochs,
+            min_epochs = 500,
+            accelerator='gpu',
+            # plugins=plugins,
+            devices=cfg.General.gpus,
+            strategy=DDPStrategy(find_unused_parameters=False),
+            replace_sampler_ddp=False,
+            amp_backend='native',
+            precision=cfg.General.precision,  
+            # accumulate_grad_batches=cfg.General.grad_acc,
+            gradient_clip_val=0.0,
+            # fast_dev_run = True,
+            # limit_train_batches=1,
+            
+            # deterministic=True,
+            check_val_every_n_epoch=1,
+        )
+    else:
+        trainer = Trainer(
+            # default_root_dir=cfg.log_path / f'test_epoch_{cfg.epoch}' / 'checkpoint',
+            num_sanity_val_steps=-1, 
+            logger=cfg.load_loggers,
+            callbacks=cfg.callbacks,
+            max_epochs= 20,
+            # min_epochs = 10,
+
+            # gpus=cfg.General.gpus,
+            accelerator='gpu',
+            devices=cfg.General.gpus,
+            # amp_backend='native',
+            # amp_level=cfg.General.amp_level,  
+            precision=cfg.General.precision,  
+            accumulate_grad_batches=cfg.General.grad_acc,
+            gradient_clip_val=0.0,
+            log_every_n_steps=10,
+            # fast_dev_run = True,
+            # limit_train_batches=1,
+            
+            # deterministic=True,
+            # num_sanity_val_steps=0,
+            check_val_every_n_epoch=1,
+        )
+    # print(cfg.log_path)
+    # print(trainer.loggers[0].log_dir)
+    # print(trainer.loggers[1].log_dir)
+    #----> Copy Code
+
+    # home = Path.cwd()[0]
+    data_root = cfg.Data.data_dir,
+    label_path =  cfg.Data.label_file,
+    batch_size = cfg.Data.train_dataloader.batch_size,
+    n_classes = cfg.Model.n_classes,
+    # 'bag_size': cfg.Data.bag_size,
+    # 'use_features': use_features,
+    mixup = cfg.Data.mixup,
+    aug = cfg.Data.aug,
+    cache = cfg.Data.cache,
+    # 'train_classic': train_classic,
+    model_name = cfg.Model.name,
+    # 'fine_tune': True,
+
+    if cfg.General.server == 'train':
+        # data_root = 
+        # train_data = FeatureBagLoader(data_root, label_path=label_path[0], mode='fine_tune', n_classes=n_classes, cache=cache, mixup=mixup, aug=aug, model=model_name)
+        # test_data = FeatureBagLoader(data_root, label_path=label_path[0], mode='test', n_classes=n_classes, cache=False, model=model_name, mixup=False, aug=False)
+        # ckpt = 'test/fine_tune/DeepGraft/TransMIL/norm_rest/epoch=10-val_loss=0.5929-val_auc=0.8765-val_patient_auc= 0.8953.ckpt'
+        # last_ckpt = Path(cfg.log_path) / 'lightning_logs' / f'version_{cfg.version}' / 'checkpoints'/ 'last.ckpt'
+        # trainer.fit(model = model, ckpt_path=ckpt) #, datamodule = dm
+
+        
+        ckptdir_path = Path(cfg.log_path) / 'lightning_logs' / f'version_{cfg.version}'/'checkpoints' 
+
+        model_paths = list(ckptdir_path.glob('*.ckpt'))
+
+        if cfg.epoch == 'last':
+            model_paths = [str(model_path) for model_path in model_paths if f'last' in str(model_path)]
+        elif int(cfg.epoch) < 10:
+            cfg.epoch = f'0{cfg.epoch}'
+        
+        else:
+            model_paths = [str(model_path) for model_path in model_paths if f'epoch={cfg.epoch}' in str(model_path)]
+        # model_paths = [f'{log_path}/epoch=279-val_loss=0.4009.ckpt']
+        # print(model_paths)
+        
+        # for path in model_paths:
+        path  = model_paths[0]
+        # print(path)
+            # print(path)
+        # train_dl = DataLoader(train_data, batch_size = batch_size, num_workers=8)
+        
+        model = model.load_from_checkpoint(checkpoint_path=path, cfg=cfg)
+        trainer.fit(model=model, datamodule=dm)
+
+        ft_ckptdir_path = cfg.log_path / 'lightning_logs' / f'version_{cfg.version}'/ f'ft_epoch_{cfg.epoch}'/ 'checkpoints'
+        ft_model_paths = list(ft_ckptdir_path.glob('*.ckpt'))
+        ft_model_paths = [str(model_path) for model_path in ft_model_paths] # if 'last' in str(model_path)
+        # print(ft_model_paths)
+        for path in ft_model_paths:
+            print(path)
+            checkpoint = torch.load(path)
+            model_weights = checkpoint['state_dict']
+            model.load_state_dict(model_weights)
+
+            trainer.validate(model=model, datamodule=dm)
+            trainer.test(model=model, datamodule=dm)
+            # print(cfg.Model)
+            # ft_model = ModelInterface(**ModelInterface_dict)
+            # ft_model = model.load_from_checkpoint(checkpoint_path=path, cfg=cfg)
+            # trainer.val(model=ft_model, datamodule=dm)
+        # path = '/home/ylan/workspace/TransMIL-DeepGraft/logs/DeepGraft/TransMIL/norm_rest/_features_CrossEntropyLoss/lightning_logs/version_745/ft_epoch_27/checkpoints/last.ckpt'
+        # path = '/home/ylan/workspace/TransMIL-DeepGraft/logs/DeepGraft/TransMIL/norm_rest/_features_CrossEntropyLoss/lightning_logs/version_745/checkpoints/last.ckpt'
+        # path = '/home/ylan/workspace/TransMIL-DeepGraft/logs/DeepGraft/TransMIL/norm_rest/_features_CrossEntropyLoss/lightning_logs/version_745/ft_epoch_27/checkpoints/last.ckpt'
+        
+        # pprint.pprint(load_dict)
+        # print(model)
+        # for k in load_dict.keys():
+            # print(k)
+            # p
+            # print(load_dict[k].keys())
+        # model.load_state_dict(torch.load(path))
+        # model = model.load_from_checkpoint(checkpoint_path=path, cfg=cfg)
+        
+
+        # for key in list(model_weights):
+        #     model_weights[key.replace('model.', '')] = model_weights.pop(key)
+        
+        
+        # if cfg.General.server == 'val':
+        #     trainer.validate(model=model, datamodule=dm)
+        # elif cfg.General.server == 'test':
+        #     trainer.test(model=model, datamodule=dm)
+
+
+def check_home(cfg):
+    # replace home directory
+    
+    home = Path.cwd().parts[1]
+
+    x = cfg.General.log_path
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.General.log_path = '/' + str(new_path)
+
+    x = cfg.Data.data_dir
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.Data.data_dir = '/' + str(new_path)
+        
+    x = cfg.Data.label_file
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.Data.label_file = '/' + str(new_path)
+
+    return cfg
+
+
+if __name__ == '__main__':
+
+    args = make_parse()
+
+    cfg = read_yaml(args.config)
+
+    #---->update
+    cfg.config = args.config
+    cfg.General.gpus = args.gpus
+    cfg.General.server = args.stage
+    cfg.Data.fold = args.fold
+    cfg.Loss.base_loss = args.loss
+    cfg.Data.bag_size = args.bag_size
+    cfg.version = args.version
+    cfg.fine_tune = args.fine_tune
+    if args.label_file: 
+        cfg.Data.label_file = '/home/ylan/DeepGraft/training_tables/' + args.label_file
+
+    cfg = check_home(cfg)
+
+    config_path = '/'.join(Path(cfg.config).parts[1:])
+    log_path = Path(cfg.General.log_path) / str(Path(config_path).parent)
+    # print(log_path)
+    Path(cfg.General.log_path).mkdir(exist_ok=True, parents=True)
+    log_name =  f'_{cfg.Model.backbone}' + f'_{cfg.Loss.base_loss}'
+    task = '_'.join(Path(cfg.config).name[:-5].split('_')[2:])
+    cfg.task = task
+    # task = Path(cfg.config).name[:-5].split('_')[2:][0]
+    cfg.log_path = log_path / f'{cfg.Model.name}' / task / log_name 
+    cfg.log_name = log_name
+
+    cfg.epoch = args.epoch
+    
+    print(cfg)
+    # ---->main
+
+
+
+    
+    main(cfg)
+ 
\ No newline at end of file
diff --git a/code/models/AttMIL.py b/code/models/AttMIL.py
index 89ff5d5..06ef4aa 100644
--- a/code/models/AttMIL.py
+++ b/code/models/AttMIL.py
@@ -8,18 +8,29 @@ import torch.nn as nn
 import torch.nn.functional as F
 import torchvision.models as models
 
-import pytorch_lightning as pl
-from pl_bolts.optimizers.lr_scheduler import LinearWarmupCosineAnnealingLR
+try:
+    import apex
+    apex_available=True
+except ModuleNotFoundError:
+    # Error handling
+    apex_available = False
+    pass
 
 
 class AttMIL(nn.Module): #gated attention
-    def __init__(self, n_classes, features=1024):
+    def __init__(self, n_classes, in_features=2048, out_features=512):
         super(AttMIL, self).__init__()
-        self.L = features
+        self.L = out_features
         self.D = 128
         self.K = 1
         self.n_classes = n_classes
 
+        if apex_available: 
+            norm_layer = apex.normalization.FusedLayerNorm
+        else:
+            norm_layer = nn.LayerNorm
+
+
         # resnet50 = models.resnet50(pretrained=True)    
         # modules = list(resnet50.children())[:-3]
 
@@ -42,11 +53,21 @@ class AttMIL(nn.Module): #gated attention
         #     # nn.Linear(50 * 4 * 4, self.L),
         #     # nn.ReLU(),
         # )
+        if in_features == 2048:
+            self._fc1 = nn.Sequential(
+                nn.Linear(in_features, int(in_features/2)), nn.GELU(), nn.Dropout(p=0.6), norm_layer(int(in_features/2)),
+                nn.Linear(int(in_features/2), out_features), nn.GELU(),
+                ) 
+        elif in_features == 1024:
+            self._fc1 = nn.Sequential(
+                # nn.Linear(in_features, int(in_features/2)), nn.GELU(), nn.Dropout(p=0.2), norm_layer(out_features),
+                nn.Linear(in_features, out_features), nn.GELU(), nn.Dropout(p=0.6), norm_layer(out_features)
+                ) 
 
-        # self.feature_extractor_part2 = nn.Sequential(
-        #     nn.Linear(50 * 4 * 4, self.L),
-        #     nn.ReLU(),
-        # )
+        self.feature_extractor_part2 = nn.Sequential(
+            nn.Linear(in_features, self.L),
+            nn.ReLU(),
+        )
 
         self.attention_V = nn.Sequential(
             nn.Linear(self.L, self.D),
@@ -66,15 +87,25 @@ class AttMIL(nn.Module): #gated attention
 
     def forward(self, x):
         # H = kwargs['data'].float().squeeze(0)
-        H = x.float().squeeze(0)
+        # H = x.float().squeeze(0).squeeze(0)
+        # H = x.float().squeeze()
+        # print(H.shape)
+        # H = self.feature_extractor_part2(H)
+        # print(H.shape)
+        # print(x.shape)
+        x = x.squeeze()
+        H = self._fc1(x)
         A_V = self.attention_V(H)  # NxD
         A_U = self.attention_U(H)  # NxD
         A = self.attention_weights(A_V * A_U) # element wise multiplication # NxK
-        out_A = A
+        # out_A = A
+        if len(A.shape) < 2:
+            A = A.unsqueeze(0)
+        # print(A.shape)
         A = torch.transpose(A, 1, 0)  # KxN
         A = F.softmax(A, dim=1)  # softmax over N
         M = torch.mm(A, H)  # KxL
         logits = self.classifier(M)
        
-        return logits, A
+        return logits
 
diff --git a/code/models/MonaiMILModel.py b/code/models/MonaiMILModel.py
new file mode 100644
index 0000000..27a9218
--- /dev/null
+++ b/code/models/MonaiMILModel.py
@@ -0,0 +1,233 @@
+from typing import Dict, Optional, Union, cast
+
+import torch
+import torch.nn as nn
+
+from monai.utils.module import optional_import
+
+models, _ = optional_import("torchvision.models")
+
+
+class MonaiMILModel(nn.Module):
+    """
+    Multiple Instance Learning (MIL) model, with a backbone classification model.
+    Currently, it only works for 2D images, a typical use case is for classification of the
+    digital pathology whole slide images. The expected shape of input data is `[B, N, C, H, W]`,
+    where `B` is the batch_size of PyTorch Dataloader and `N` is the number of instances
+    extracted from every original image in the batch. A tutorial example is available at:
+    https://github.com/Project-MONAI/tutorials/tree/master/pathology/multiple_instance_learning.
+
+    Args:
+        num_classes: number of output classes.
+        mil_mode: MIL algorithm, available values (Defaults to ``"att"``):
+
+            - ``"mean"`` - average features from all instances, equivalent to pure CNN (non MIL).
+            - ``"max"`` - retain only the instance with the max probability for loss calculation.
+            - ``"att"`` - attention based MIL https://arxiv.org/abs/1802.04712.
+            - ``"att_trans"`` - transformer MIL https://arxiv.org/abs/2111.01556.
+            - ``"att_trans_pyramid"`` - transformer pyramid MIL https://arxiv.org/abs/2111.01556.
+
+        pretrained: init backbone with pretrained weights, defaults to ``True``.
+        backbone: Backbone classifier CNN (either ``None``, a ``nn.Module`` that returns features,
+            or a string name of a torchvision model).
+            Defaults to ``None``, in which case ResNet50 is used.
+        backbone_num_features: Number of output features of the backbone CNN
+            Defaults to ``None`` (necessary only when using a custom backbone)
+        trans_blocks: number of the blocks in `TransformEncoder` layer.
+        trans_dropout: dropout rate in `TransformEncoder` layer.
+
+    """
+
+    def __init__(
+        self,
+        num_classes: int,
+        mil_mode: str = "att",
+        pretrained: bool = True,
+        backbone: Optional[Union[str, nn.Module]] = None,
+        backbone_num_features: Optional[int] = None,
+        trans_blocks: int = 4,
+        trans_dropout: float = 0.0,
+    ) -> None:
+
+        super().__init__()
+
+        if num_classes <= 0:
+            raise ValueError("Number of classes must be positive: " + str(num_classes))
+
+        if mil_mode.lower() not in ["mean", "max", "att", "att_trans", "att_trans_pyramid"]:
+            raise ValueError("Unsupported mil_mode: " + str(mil_mode))
+
+        self.mil_mode = mil_mode.lower()
+        self.attention = nn.Sequential()
+        self.transformer = None  # type: Optional[nn.Module]
+
+        if backbone is None:
+
+            net = models.resnet50(pretrained=pretrained)
+            nfc = net.fc.in_features  # save the number of final features
+            net.fc = torch.nn.Identity()  # remove final linear layer
+
+            self.extra_outputs: Dict[str, torch.Tensor] = {}
+
+            if mil_mode == "att_trans_pyramid":
+                # register hooks to capture outputs of intermediate layers
+                def forward_hook(layer_name):
+                    def hook(module, input, output):
+                        self.extra_outputs[layer_name] = output
+
+                    return hook
+
+                net.layer1.register_forward_hook(forward_hook("layer1"))
+                net.layer2.register_forward_hook(forward_hook("layer2"))
+                net.layer3.register_forward_hook(forward_hook("layer3"))
+                net.layer4.register_forward_hook(forward_hook("layer4"))
+
+        elif isinstance(backbone, str):
+
+            # assume torchvision model string is provided
+            torch_model = getattr(models, backbone, None)
+            if torch_model is None:
+                raise ValueError("Unknown torch vision model" + str(backbone))
+            net = torch_model(pretrained=pretrained)
+
+            if getattr(net, "fc", None) is not None:
+                nfc = net.fc.in_features  # save the number of final features
+                net.fc = torch.nn.Identity()  # remove final linear layer
+            else:
+                raise ValueError(
+                    "Unable to detect FC layer for the torchvision model " + str(backbone),
+                    ". Please initialize the backbone model manually.",
+                )
+
+        elif isinstance(backbone, nn.Module):
+            # use a custom backbone
+            net = backbone
+            nfc = backbone_num_features
+
+            if backbone_num_features is None:
+                raise ValueError("Number of endencoder features must be provided for a custom backbone model")
+
+        else:
+            raise ValueError("Unsupported backbone")
+
+        if backbone is not None and mil_mode not in ["mean", "max", "att", "att_trans"]:
+            raise ValueError("Custom backbone is not supported for the mode:" + str(mil_mode))
+
+        if self.mil_mode in ["mean", "max"]:
+            pass
+        elif self.mil_mode == "att":
+            self.attention = nn.Sequential(nn.Linear(nfc, 2048), nn.Tanh(), nn.Linear(2048, 1))
+
+        elif self.mil_mode == "att_trans":
+            transformer = nn.TransformerEncoderLayer(d_model=nfc, nhead=8, dropout=trans_dropout)
+            self.transformer = nn.TransformerEncoder(transformer, num_layers=trans_blocks)
+            self.attention = nn.Sequential(nn.Linear(nfc, 2048), nn.Tanh(), nn.Linear(2048, 1))
+
+        elif self.mil_mode == "att_trans_pyramid":
+
+            transformer_list = nn.ModuleList(
+                [
+                    nn.TransformerEncoder(
+                        nn.TransformerEncoderLayer(d_model=256, nhead=8, dropout=trans_dropout), num_layers=trans_blocks
+                    ),
+                    nn.Sequential(
+                        nn.Linear(768, 256),
+                        nn.TransformerEncoder(
+                            nn.TransformerEncoderLayer(d_model=256, nhead=8, dropout=trans_dropout),
+                            num_layers=trans_blocks,
+                        ),
+                    ),
+                    nn.Sequential(
+                        nn.Linear(1280, 256),
+                        nn.TransformerEncoder(
+                            nn.TransformerEncoderLayer(d_model=256, nhead=8, dropout=trans_dropout),
+                            num_layers=trans_blocks,
+                        ),
+                    ),
+                    nn.TransformerEncoder(
+                        nn.TransformerEncoderLayer(d_model=2304, nhead=8, dropout=trans_dropout),
+                        num_layers=trans_blocks,
+                    ),
+                ]
+            )
+            self.transformer = transformer_list
+            nfc = nfc + 256
+            self.attention = nn.Sequential(nn.Linear(nfc, 2048), nn.Tanh(), nn.Linear(2048, 1))
+
+        else:
+            raise ValueError("Unsupported mil_mode: " + str(mil_mode))
+
+        self.myfc = nn.Linear(nfc, num_classes)
+        self.net = net
+
+    def calc_head(self, x: torch.Tensor) -> torch.Tensor:
+
+        sh = x.shape
+
+        if self.mil_mode == "mean":
+            x = self.myfc(x)
+            x = torch.mean(x, dim=1)
+
+        elif self.mil_mode == "max":
+            x = self.myfc(x)
+            x, _ = torch.max(x, dim=1)
+
+        elif self.mil_mode == "att":
+
+            a = self.attention(x)
+            a = torch.softmax(a, dim=1)
+            x = torch.sum(x * a, dim=1)
+
+            x = self.myfc(x)
+
+        elif self.mil_mode == "att_trans" and self.transformer is not None:
+
+            x = x.permute(1, 0, 2)
+            x = self.transformer(x)
+            x = x.permute(1, 0, 2)
+
+            a = self.attention(x)
+            a = torch.softmax(a, dim=1)
+            x = torch.sum(x * a, dim=1)
+
+            x = self.myfc(x)
+
+        elif self.mil_mode == "att_trans_pyramid" and self.transformer is not None:
+
+            l1 = torch.mean(self.extra_outputs["layer1"], dim=(2, 3)).reshape(sh[0], sh[1], -1).permute(1, 0, 2)
+            l2 = torch.mean(self.extra_outputs["layer2"], dim=(2, 3)).reshape(sh[0], sh[1], -1).permute(1, 0, 2)
+            l3 = torch.mean(self.extra_outputs["layer3"], dim=(2, 3)).reshape(sh[0], sh[1], -1).permute(1, 0, 2)
+            l4 = torch.mean(self.extra_outputs["layer4"], dim=(2, 3)).reshape(sh[0], sh[1], -1).permute(1, 0, 2)
+
+            transformer_list = cast(nn.ModuleList, self.transformer)
+
+            x = transformer_list[0](l1)
+            x = transformer_list[1](torch.cat((x, l2), dim=2))
+            x = transformer_list[2](torch.cat((x, l3), dim=2))
+            x = transformer_list[3](torch.cat((x, l4), dim=2))
+
+            x = x.permute(1, 0, 2)
+
+            a = self.attention(x)
+            a = torch.softmax(a, dim=1)
+            x = torch.sum(x * a, dim=1)
+
+            x = self.myfc(x)
+
+        else:
+            raise ValueError("Wrong model mode" + str(self.mil_mode))
+
+        return x
+
+    def forward(self, x: torch.Tensor, no_head: bool = False) -> torch.Tensor:
+
+        sh = x.shape
+        x = x.reshape(sh[0] * sh[1], sh[2], sh[3], sh[4])
+
+        x = self.net(x)
+        x = x.reshape(sh[0], sh[1], -1)
+
+        if not no_head:
+            x = self.calc_head(x)
+
+        return x
\ No newline at end of file
diff --git a/code/models/ResNet.py b/code/models/ResNet.py
index f8fe706..8ef6ff4 100644
--- a/code/models/ResNet.py
+++ b/code/models/ResNet.py
@@ -394,4 +394,6 @@ def wide_resnet101_2(pretrained=False, progress=True, **kwargs):
     """
     kwargs['width_per_group'] = 64 * 2
     return _resnet('wide_resnet101_2', Bottleneck, [3, 4, 23, 3],
-                   pretrained, progress, **kwargs)
\ No newline at end of file
+                   pretrained, progress, **kwargs)
+
+
diff --git a/code/models/TransMIL.py b/code/models/TransMIL.py
index d75eb5f..87625d9 100755
--- a/code/models/TransMIL.py
+++ b/code/models/TransMIL.py
@@ -32,12 +32,12 @@ class TransLayer(nn.Module):
         )
 
     def forward(self, x):
-        out= self.attn(self.norm(x))
-        # out, attn = self.attn(self.norm(x))
+        # out= self.attn(self.norm(x))
+        out, attn = self.attn(self.norm(x), return_attn=True)
         x = x + out
         # x = x + self.attn(self.norm(x))
 
-        return x
+        return x, attn
 
 
 class PPEG(nn.Module):
@@ -89,6 +89,11 @@ class TransMIL(nn.Module):
                 # nn.Linear(in_features, int(in_features/2)), nn.GELU(), nn.Dropout(p=0.2), norm_layer(out_features),
                 nn.Linear(in_features, out_features), nn.GELU(), nn.Dropout(p=0.6), norm_layer(out_features)
                 ) 
+        elif in_features == 768:
+            self._fc1 = nn.Sequential(
+                nn.Linear(in_features, int(in_features)), nn.GELU(), nn.Dropout(p=0.6), norm_layer(in_features),
+                nn.Linear(in_features, out_features), nn.GELU(), nn.Dropout(p=0.6), norm_layer(out_features)
+                ) 
         # out_features = 256 
         # self._fc1 = nn.Sequential(
         #     nn.Linear(in_features, out_features), nn.GELU(), nn.Dropout(p=0.2), norm_layer(out_features)
@@ -120,15 +125,15 @@ class TransMIL(nn.Module):
     def forward(self, x): #, **kwargs
 
         # x = self.model_ft(x).unsqueeze(0)
+        # print(x.shape)
+        # x = x.unsqueeze(0) # needed for feature extractorVisualization!!!
+        # print(x.shape)
         if x.dim() > 3:
             x = x.squeeze(0)
+        # elif x.dim() == 3:
+        #     x = x.unsqueeze(0)
         h = x.float() #[B, n, 1024]
         h = self._fc1(h) #[B, n, 512]
-        # h = self.drop(h)
-        # h = self._fc1_1(h) #[B, n, 512]
-        # h = self._fc1_2(h) #[B, n, 512]
-        # h = self._fc2(h) #[B, n, 512]
-        # h = self._fc3(h) #[B, n, 512]
         # print('Feature Representation: ', h.shape)
         #---->duplicate pad
         H = h.shape[1]
@@ -138,7 +143,6 @@ class TransMIL(nn.Module):
         # print(h.shape)
         h = torch.cat([h, h[:,:add_length,:]],dim = 1) #[B, N, 512]
         
-
         #---->cls_token
         B = h.shape[0]
         cls_tokens = self.cls_token.expand(B, -1, -1).cuda()
@@ -146,8 +150,8 @@ class TransMIL(nn.Module):
 
 
         #---->Translayer x1
-        h = self.layer1(h) #[B, N, 512]
-        # h, attn1 = self.layer1(h) #[B, N, 512]
+        # h = self.layer1(h) #[B, N, 512]
+        h, attn1 = self.layer1(h) #[B, N, 512]
 
         # print('After first TransLayer: ', h.shape)
 
@@ -156,13 +160,15 @@ class TransMIL(nn.Module):
         # print('After PPEG: ', h.shape)
         
         #---->Translayer x2
-        h = self.layer2(h) #[B, N, 512]
-        # h, attn2 = self.layer2(h) #[B, N, 512]
+        # h = self.layer2(h) #[B, N, 512]
+        h, attn2 = self.layer2(h) #[B, N, 512]
+        # print('TransMIL attn2: ', attn2.shape) # attn2.shape = [1,8,512,512]
 
         # print('After second TransLayer: ', h.shape) #[1, 1025, 512] 1025 = cls_token + 1024
         #---->cls_token
         
         h = self.norm(h)[:,0]
+        # print(h.shape)
 
         #---->predict
         logits = self._fc(h) #[B, n_classes]
@@ -173,6 +179,7 @@ class TransMIL(nn.Module):
         # return logits, attn2
 
 if __name__ == "__main__":
+    
     data = torch.randn((1, 6000, 1024)).cuda()
     model = TransMIL(n_classes=2).cuda()
     print(model.eval())
diff --git a/code/models/TransformerMIL.py b/code/models/TransformerMIL.py
index c5b5951..467a754 100644
--- a/code/models/TransformerMIL.py
+++ b/code/models/TransformerMIL.py
@@ -57,7 +57,12 @@ class TransformerMIL(nn.Module):
         super(TransformerMIL, self).__init__()
         # in_features = 2048
         # out_features = 512
-        # self.pos_layer = PPEG(dim=out_features)
+        self.pos_layer_0 = PPEG(dim=out_features)
+        self.pos_layer_1 = PPEG(dim=out_features)
+        self.pos_layer_2 = PPEG(dim=out_features)
+        self.pos_layer_3 = PPEG(dim=out_features)
+        self.pos_layer_4 = PPEG(dim=out_features)
+        self.pos_layer_5 = PPEG(dim=out_features)
         if apex_available: 
             norm_layer = apex.normalization.FusedLayerNorm
         else:
@@ -76,7 +81,18 @@ class TransformerMIL(nn.Module):
         self.cls_token = nn.Parameter(torch.randn(1, 1, out_features))
         self.n_classes = n_classes
         self.layer1 = TransLayer(dim=out_features)
-        # self.layer2 = TransLayer(dim=out_features)
+        self.layer2 = TransLayer(dim=out_features)
+        self.layer3 = TransLayer(dim=out_features)
+        self.layer4 = TransLayer(dim=out_features)
+        self.layer5 = TransLayer(dim=out_features)
+        self.layer6 = TransLayer(dim=out_features)
+        self.layer7 = TransLayer(dim=out_features)
+        self.layer8 = TransLayer(dim=out_features)
+        self.layer9 = TransLayer(dim=out_features)
+        self.layer10 = TransLayer(dim=out_features)
+        self.layer11 = TransLayer(dim=out_features)
+        self.layer12 = TransLayer(dim=out_features)
+        # self.layer4 = TransLayer(dim=out_features)
         self.norm = nn.LayerNorm(out_features)
         self._fc2 = nn.Linear(out_features, self.n_classes)
 
@@ -101,9 +117,23 @@ class TransformerMIL(nn.Module):
 
 
         #---->Translayer x1
-        h, attn1 = self.layer1(h) #[B, N, 512]
-
-        
+        h, _ = self.layer1(h) #[B, N, 512]
+        h = self.pos_layer_0(h, _H, _W) #[B, N, 512]
+        h, _ = self.layer2(h) #[B, N, 512]
+        h = self.pos_layer_1(h, _H, _W) #[B, N, 512]
+        h, _ = self.layer4(h) #[B, N, 512]
+        h = self.pos_layer_2(h, _H, _W) #[B, N, 512]
+        h, _ = self.layer5(h) #[B, N, 512]
+        h = self.pos_layer_3(h, _H, _W) #[B, N, 512]
+        h, _ = self.layer6(h) #[B, N, 512]
+        h = self.pos_layer_4(h, _H, _W) #[B, N, 512]
+        h, _ = self.layer7(h) #[B, N, 512]
+        h = self.pos_layer_5(h, _H, _W) #[B, N, 512]
+        h, _ = self.layer8(h) #[B, N, 512]
+        h, _ = self.layer9(h) #[B, N, 512]
+        # h, _ = self.layer10(h) #[B, N, 512]
+        # h, _ = self.layer11(h) #[B, N, 512]
+        # h, _ = self.layer12(h) #[B, N, 512]
 
         # print('After first TransLayer: ', h.shape)
 
diff --git a/code/models/__init__.py b/code/models/__init__.py
index 795017e..1a1971f 100755
--- a/code/models/__init__.py
+++ b/code/models/__init__.py
@@ -1,3 +1,6 @@
 from .model_interface import ModelInterface
 # import ResNet as ResNet
 from .TransMIL import TransMIL
+from .AttMIL import AttMIL
+from .MonaiMILModel import MonaiMILModel
+from .model_clam import CLAM_MB
diff --git a/code/models/__pycache__/AttMIL.cpython-39.pyc b/code/models/__pycache__/AttMIL.cpython-39.pyc
index 5d379a46200a876d652766c8d970eef8af36a4a0..54d7904e97ac678bd2c4de503dde9d54a1dde9ac 100644
GIT binary patch
delta 1443
zcmbQivxi?hk(ZZ?fq{Wx;u*yhEnWtO#~=<e=3ro8aA06yD4sD<JJz8}AcY}?F^4aT
zFNGzFKb#>?jD;appt6CH0R&T6qxd5k@|X-5+!<2XQrKG<QrJ^DvILu%ql8izgBdhA
zCT>w@4slDKC@4}7vZPpzfq@~FA&N1DA&M!5y`3SAF@-sWrG+z!IfXTat%V_qrJaF=
zA&M2G_ZFLDNr|tg&r1dl28NdmObiUkEFeRmn3aKnft!JWff?l35Jm=u5{44S8ir=3
z1xyPW7#V7qYZ&60Qy6O);#pFdY8WPWGji1znUrv3ab|JVvgEOqaA)z<veYo8FlRFr
zO)KGEz+1w-fUkzBgujL<g+-d7nQ<Xg3HJhlg$yO!S%M(v^)lA5AY_{vLFy6w8fKXK
zg={qp@j`h<HB2e&*-S+z;AYn|Arv7STEpDTxR3>;39gi>h9L`LpzuP5g-kUJ@gi_J
zhAie9hAbAab)ryNF|4xUP+19(Q)?KKvsh{vvRJ{!Nup_B6=A4h$YNW_v=9_zQYj3e
zDDZpPz`(%pl97Rdp$HV-FPRt^7}AZw;IX|X<1NO5Oa>MP22JT(ti`1TsYOLBlckxI
zocR(9QY+#U%Mvql5|eULZ?S;*w|MjNi*gflGOH3xGV}9p@wt^2r>6KMR;CvD<rn4N
zV#>?A#R=z5c3={<V9v}dxy9n{>Jxg4-K8kMAiuQa7E63uvf(Y3pj4mGDDkw^#FEmY
z)cDkjlA^@qlKi6hg2bW{qsbvmp2n=VSc+3~(uxEa7#MDGXXeF26&K&)$uBKI@VG$E
ziq8SLWAbJue@h+)1_n`3qH+SIG)6u~HV9;5VdP?BljLAzVKiWr_{YJ*!N|g-@Q;m^
zg^`Dm?H?QKWNBs-IZ*xq1(h?%geC?Ch8o5N3=0`*8EY68FxE`YWLB>)VXa}!Vrynh
zVa#SI@~L56z@Eaikg=Avgku3`4QmQ>3e!U7TGkS-EN(E5rI!gT$5X>v!?cj8maT?i
z0dEc4LdIJ58unlYO;*1mPEZ7aV+mxvCgUyUl+0XBzFX|Yg{7&fRjEZXAO-RuLXkm^
zfuTqV6ei3$sd=|pi!%}nQg3mV=0Vj?W@b^YS7u;f(Bvpm0V!jwxW(uZ#q1a#1|mXl
zF*@F2^u5KFlb@bhQe313G89Z`gA}u;<rkGF7Ntahye|O?Kn@N@E->U{;$!4u;$!4v
z<YDAus^Wv>Zat_5O(t*(D`ErLJb5vTnky(CimX9~^2Wy}=Oh*vC#UA*#K$99sR6Pa
zWN#6uWDo(_31V<C@;QS=G=(SgvFeK$f(+p($uCOI(96p!0!8kv$$_kj^~MYg3{gU0
ziL%V%%=|pP-29Z(oZ?$-5V}YRWPu<^yRdJ5N@-52Uw(;OeraBcYf({t(JeNJAlNP>
rXCZ=v!zLH3%?=bf#h_T=VB}!rVdP-~k&^}3Sa_Hi!9q+djBLyR)Am{?

delta 995
zcmdnPKZ8d*k(ZZ?fq{YH^@Hf-*BlHCk3k${%)-FH;K0DZP~0+6J60!!A%!uAFN!~f
zA%!JJAXhL-kdeWiA%!)Ct%V_lEtMlnsF^uRIE68oL6d#r33WwH##^#JnR%&+Md67>
zxupfp`Nf%esg8Mhsfjt6dFehu6F;igv$Zp%F{Uu3Ft>0<F{iMku(mKnv9vR=FhsF}
z%(=zpSW@Ea>GP6-g@GZN8Od=VHX8#21Bfo3#=yW(!cf9k!_dsMfN3EEBSQ^S4MRM0
z3S$jJJWC3Q%~}Iuvz4$f;3#2Vz*)nP#azRX<<7E@sf2w2*FuJcAVu70(hyl5s4Op3
zBTEfK7AsgiA58t^g-oKd{3#5<44TY-FB=#b7+x|mFfeEe++r;*El4dYVx9bfNlBb3
zFYgvtaB5*`YF<fZV$Ll#Ncc=%#Ox`?e2b+xH7BizkAZ>V7DrlYVo7OHYVl+_7Jo@l
zED3<(K?xK9jC_o25GXf!8H<S&Cj$cmD+2?AGe|`q0|P@1;{t|-3=0@jCjVejudiXP
zWh-G_z*fVW!j!_ekhzw%gguJ`%wz6ls%0%<UBFqxTEn!Esg}KlVF6bS`$EQAjv9^{
z)-<MI22B>fB9KptI6&TEyv3Z7nXActi#07LKe6N%dvRfDYHC$#kuU=TLy;(m5Cb`%
zwIshNIpY>*Nm1hD6RhI(;vmhOMG_!6#)?~v9=Dhs<HJBi=q*OaDAxSal6c2kjJ~(n
za`MwNONxtRKt_QHS&$y~wEUv-#G(|i7ezpUz{JPM#mL3T$H>CS$H>RX!^p){#Ro|%
zdQiohj76XXqRDn^asr!*D<}|)bU~)^#>Xe;Bo-GZr{?6u$0OM#1+o=nVG$@i`9a|c
z$^smWe8ylAO_9kb+4MyeL56UEy{MO$R|HZQHJOK9kx_ZF9=m+~Ey03Huw;BrW_m_R
zUS?kUEvAB;TM7j^@k#kPCB=IA1tpoenN_Jp#d<kK@x{p*sVSv7sYOK~%Wkpx=7V`4
kCm^{E5f~gcxnLD`pm-?;g$4&B2O|$74-<$KVuvu80Xit_t^fc4

diff --git a/code/models/__pycache__/MonaiMILModel.cpython-39.pyc b/code/models/__pycache__/MonaiMILModel.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a386090a47254eadababaff73e6d5d5e70661207
GIT binary patch
literal 6477
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
G!wdiiJ>)Y0

literal 0
HcmV?d00001

diff --git a/code/models/__pycache__/ResNet.cpython-39.pyc b/code/models/__pycache__/ResNet.cpython-39.pyc
index 453943eef8a113608c389d6590ffeb844bbe73aa..da5761ec5b53342b50a5890dc82f5052850e03ab 100644
GIT binary patch
delta 28
kcmdm#v?+-<k(ZZ?fq{WxH^YHsrH#D028_2RTN``_0CV^VrT_o{

delta 28
kcmdm#v?+-<k(ZZ?fq{YH<Q36m`Hj4~28>aYtqr~d0Cf@wS^xk5

diff --git a/code/models/__pycache__/TransMIL.cpython-39.pyc b/code/models/__pycache__/TransMIL.cpython-39.pyc
index 0e5f4fc107123caf151ac1282261571966a5a167..cdfdf33bcbe096c18e1f013197fc1aa0a4042682 100644
GIT binary patch
delta 1095
zcmdlWcR`*nk(ZZ?fq{WxjdfDWb%l+5t;{(r3=9k)?99NxP^`hgz)-`G#ZberfU$;g
zA!7<-3R5pr3{x#rEprWH4U;%SEn^L14Rab(FoPzuUx+5-E$*V!lG38Q_{5TuJWZw|
zK?VkfA^`>l22GYCAqED9TZ|RAnDa|Zz!H=1F)J}MNia@kW(j1J-W<we!pN-z(!dWQ
z<Tp=Y)nH^)nY@?Hj9U{Vq6H$fC;wy9W|W+)#qP`~Jvoov$W;a;EDIv!Km=H`G>D}L
zBE;Z?2#6&PB0!dCgFFcGDF-7TTanV_eipCE`WzaJIg=wedN_M(m{QoXnTqyJe#@a{
zk{40Kl)|3PG=Z^5tb~05cM1Cfo*JeS-WsN6#)V8J><jo7GL*1q@u#q)u=X<6uz<uT
zf8<a!=cr+b7bsz0AXp-_KsbdXg`<XfA@f4U8ish08W1U3B38pv!<@p|%T&V<FAn2P
z_T*G`=JG4jVPIg$WZ+<6C}L+|U`RIxgU9xojJFsIUV@@2lYyCmp-2T3zDz~JAg^(P
z*wRIOAhylqHJo<b@*t)Hh)|mRmD7XQ2ow#hMTvPSc|}%}y|_#ny(c$t*)SSS-peJ=
z!NJ1C$ik??IQbTr9v=?_0|UrraAM$_EXI9W2^{&HH4F>*YnW<SYFHOC*D}>GED)$+
zTF3~N<C^@NTfUyVhC7%+lg+P46=X3Zhyb|~?4y_e|NsB5DO?0{>Mi!-!qU{#s?=Mo
zX*v0cB}E<}rMe)(735B)yn<US$*Gw+w^)h`i%N<>jxRC>Nn3%W*-|SC67y1Su_TwK
zBo_IA#GODys4s{FrMn_OP=N4&6JL=eNDpI1ktv8~iubt16d!(zD={S{J|{IVy(FW^
z93;V&oKqZMlAoQLSA2^Vl#UG{l+ok|JQDSwlvN8#JD^0wz{bPK#mvFT#mvR1#mK{~
z!OX=d!YIVb2ZC&3EL<#A0wG0-dBwh-K6+{SMdgV_DVmH$tRUA}g9vP?(}sb80fdX8
zsnekd#Jj~2AD^3;X`2@xugMIK@|OkT3=BnfAY(w0q{&$14PqyO2vA^as)K{;7Dq{b
zQF4Y}US5&><So4Vj3JYs@H(<NfRx!!*5*?a1^EPQM-ezHd4XgiCa3YqF(yoI<+Eng
foqUilO0<%TiI0(wk%y6oQHD`~k%LiyQHTuyt^w<V

delta 858
zcmca0zd?>Kk(ZZ?fq{YHvEa63S^158t<2uc3=9mc3=9m;3=9m#G7Jn1H4F<tn6ZX&
zA>%^ETBaJt8YXduTE-g2U<OS_KTW10K?VkfA^`>l22JK7AqED9TZ|RAnDa|ZCjVzv
zVrCRznykVS$SAeBjKzeJTM?v|A4JG)-pZ=M$f!K|9-A4r21rB`L}*QxXV+$wnC#8&
z%qTUvpWVn+8YB#INs%mw1=cJDVkv+KF*qRtVu^zYkR{q6_p>lCFmN#Pu@xy!-oWBD
zIe<fhQD|}{M-Qh_4O0qRHdE1_$$XqzJSFT41WSY#2&b^8uuq=HDbCN)%T&V<FJ2;6
z!&1YX!ZG;>rz#7lUy=6Yx10)6Mam$rG8GAftl|W*rHlALZ0pH7Tz1@YAf`NsP@G)K
z<-uzR3K7<##JrTeBFo9AxJ((nCUM&^YD~7}mY<x)t-}Y30d`o3vrS&WeVVD3X>uWt
z7>MfSk(cDG;S6TbWb-Rh0h!7OB0x?k(w=;jM}gZN#Mc24E|Wj-h~$CnD>4G{EkQQ3
zrB)Oq=B3<XNiI!EEb<14JAw!w5CMv`B43afxWF-2BmvUGm{DW`qM717ZZXA&-{MM4
zNr}%%%}X!IC^7>{a3$vy$Cu=1r{)z;Zs3)u2gODOD7=+GiHVtqk&BUok&A<iQHzm>
zS%Za(QG`*5g^P`kg^Nv$nTw@LAfzZUuh`eqM=veEs64SKMU$}zl;(=8K#sx|qt*-z
z3^pJepfPG)1QNN$5g(tMm}#3AAFs&_j+U1N;tUK$wjg6bL8{4E<OO2Kg9uQVX{r~2
z!six8Nq$jshF)G?k=*1EK7GdE$t`@2Z1x~!c9T!@sfmJ;5ZI0)aPsp6$%Id4<CkNM
lovg}l&8Raukv~ebn2V8*k&lswk%v)+QGk(yQGij14FJb@r4s-E

diff --git a/code/models/__pycache__/TransformerMIL.cpython-39.pyc b/code/models/__pycache__/TransformerMIL.cpython-39.pyc
index 8b1abd15afbfda834b941d0a5e2eff2d1aa7773d..da33d0418c6c9204aea2231c72e8846914e14139 100644
GIT binary patch
delta 663
zcmbOu`%r-|k(ZZ?fq{YHB2R3}Yw?YIP8>`%jFW>nZr6*{FsHEhGS)D}i<KbQ;z(=>
zB(@|HTMCISjl`BgV#^}2<&fC&Ft$PsL%c!>`vQ&{=7k_fD3-7<;HqJ+VaO6*$W+4+
zuQb_%Q=d_Jas}sx=v!<#iIu5EMo`)qN}E7wQz&f)rOlzV1(deD#SYeQXaHjv!Wc%A
zHMjy8ttMA;sfaN0V8Y3>xh$CS7$;xlI#D0PRLfM$S;Me^zlLccBb+CI!V^T{38C<W
zQFtOKJW&*$7z$4u%#(*%F9G7FFr+ZFGNmx4F-bDiGSx6Fkes}pTZvI>@+Iyd3qJ-1
zhN1uv5eOoJKtwQz2mukHAR-JzgoB6(5FrR6A}4F{*svB^FfcGo&gGF|i)Ub9DAt?Y
z&m$qs$cF(ZFXQoNRG<8fN0%{svI?&kWBlZN-WbN@$!B;q7&9k-<((uN%LUd23Rf9M
M0Y(l+0Y)J<0HR{1cK`qY

delta 208
zcmaE;Fh`azk(ZZ?fq{WRU4KI|m&iswCl00`43mR6ZcDQ-;HY6<$XLS=FIK|7fUAbN
zh9OIMAyW-Qy!hlZocfFslmBpTn9R-{z^F1gf?H+sByKaNM+}osai0)MVMt+UWlCX8
zW0GX3WvXFVz(3i5SBX(zaxiZYn;-)NLy_O)ySz5+w^$QPO7aXR%kjyug)lHM6iZEZ
z;FFk~!{^5+GkG_kE@R^4mwaA~A(Kt`V;CbQPvqBNjGw%Vf0C#N7b71dA0rPV52FmD
M03!#Z0HY8a0B{jAW&i*H

diff --git a/code/models/__pycache__/__init__.cpython-38.pyc b/code/models/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..da847dfb6ad6867041d77b1f5fe975ec3d616e3d
GIT binary patch
literal 346
zcmWIL<>g{vU|{(6lQrce0|Ucj5C<7EF)%PVFfcF_gNPJ{6viBeT*fFyMurrI6s8=e
zT&5@{Fq=7tIhQ$#8O&zMVaa8QVga*Rb69iPqSzQ2QrLnSG}&J=GB7Y`GT!3z%}+_q
z@yshpElNvFPSs?*#Sv1Jm{;uU>7&Vbi_Nj51j6F=&Cg5B^!4-stJh?_#qR9m=o|0r
z<fq9V#h(i@Bt8>nN)gDhMa&Eg3`Hy;f|Y@RA&Lv4C^;uFw}_2_fng;>5j#i{MEtVX
z&&bbB)vwG+%+oK=FUl@1NK8)Ehq*-8B{j9cy(lrQL_aw{B~>46Qn7w~d}dx|NqoFs
dLFFwDo80`A(wtN~kiUvK7#J9Mn0OdL5CHF-RFVJy

literal 0
HcmV?d00001

diff --git a/code/models/__pycache__/__init__.cpython-39.pyc b/code/models/__pycache__/__init__.cpython-39.pyc
index c7462b47578213c58c1f1bce6f2a74bbd2bceeca..8fc8e16ae5ea11dacf9d69c79097ab588d07c6b9 100644
GIT binary patch
delta 215
zcmeyuc#DZQk(ZZ?fq{YH+fUY%lM{Jm8675S%V;vBFy}DmGDk5pGNdr1u;j4hvP7|f
z*{nINxolBvj0`Dk!3>)06MdBHH5qTQIhK_8dirQG-s1Jm&r8ho_4M)0Pf5+uWW2@h
z?BnPg@9X5J$sWa@3lfaa%qvMPN=r;mEn;F|U?^e+5iB5rm4SgFiVLDBIVUl<h>d}P
uVI@NmJ4g~l{Ib{2$j?pHugpoz(=X32$}TQQoVdw`hl7EEfrp8Q5d;B@f;9&K

delta 78
zcmcb`^o5Z(k(ZZ?fq{YHu54g(>O@{yMwyA)GOWzO44Nzx3zV7tG?^#vk(OA=P{hK(
e03m+4=x5~TrUsYf7a2}wW%OiYVqjq4VFCcj)DcVo

diff --git a/code/models/__pycache__/model_clam.cpython-39.pyc b/code/models/__pycache__/model_clam.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c7caa265acd38a7ac7d90d58b9867a2c18fb372f
GIT binary patch
literal 8214
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

literal 0
HcmV?d00001

diff --git a/code/models/__pycache__/model_interface.cpython-38.pyc b/code/models/__pycache__/model_interface.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..047a115307f23206218efb8ceb414d4b3df7c93c
GIT binary patch
literal 27594
zcmWIL<>g{vU|^6h3`&`Ml!4(fh=Ytd85kHG7#J9e-!L&Sq%fo~<}gG-XvQceFrPV!
z8BDW8v4CmTC{{4d7R3gp*`qkXG-ni73PTE04tFk36b~cF4CWl(T)rrNMut@WEP(}r
zDJ%;a!QzZL5Iw9pLb<|G!eBAB9FbhnC{Zw*Jx458JW3qQ=E#xAm5h=EvpI95a;2lB
z!ECM^nOxZ@SumSBM=n=BN*>JS$x+Bvj8X)%d2<wUm7<h#m7|n%RiaeDVthHOxoS~r
zx$05sxf)R#U@`t2&0MW0tz7LWZ7`oPM<+@L>?hq^y(m4Xn0~Gv69Xedu0fO`RKzIC
zD1{+KAjde@B+3LVCYWQIYZhgeYaV5uYY}CUYZ+ykYZYY$mJ`ac&b5iM$+eBL1@nb-
zbaL&Y?7(c19Q#~{D2H6fC`T|~G{-5|Im#K#7RzzTb&Yb(b&GNX^Tl)Ab3LLwz-);e
z&s?u4uUzjaZ!ljn$0ye}$`{OL%<+rzPmxNI&I!m3j0%K`1w{p=Fr>)j1my-t1%t(8
zb3$@Mqe8)Kxty@v@Tl<Ih^UC%$f!uLn0!uDZgf<1ZcJ1Rn6Ho%n;RDu2WBhg#OEeN
zC4kvVIf=PRQAuDnV@`5zN>mCXLyB^WN{VWVT8es##vE2CTXPO`igJopiuN3)6rB`Z
zFs%$`fn@aNutue(=%*N@7^WDd7^j$|n5LMen5T0_rMWYtSfp6CFr-+f`e&s#Ge>2(
zGo)ChShp~wSf~1DWi~TMWw|q?*reFDFr?U~>Sbj&Ge_mPGo;w1*tamG*hAIirZ5IG
zXga(E<pV!W##<}_i6t4DjJMbdDhqP*OR7Xl5|eUL6H9fI^K<fxl5#ThQVb0=8E>(A
z<|d}6YBJtp4$BPDWW2?hl%HQxTvC)+pvibkAh{?tu_QG<zn~;DH?u0WNR#mvH&iSq
zzqnYF@s@CMQGRi8d}>}vQGP*Xd`W&$GRRuNqSWHN)DlyJ_@u<*)SS#bkQI`S#g)0a
zsU=03$v*kT#le|*={c!BiAkwBn#{MPz>MJB{QQ!P%)E4Gkg={1Q*Vg{=cko~Bo?Ko
zmY|69dljc33urRm;&2Rg_63=Kiyy>__btsS$pjmHOT;-pw;;bbvm`S=FEPh4)ET5q
zlj#;qfNQY(E!F^+U}r~=2a8J*OX7=@^NUi8HCb=*BxU9$7FEV4mKNnF-xA0LnU|cC
zSX>Mhk%h_^6s0C-7H8(?#TTU}C+6hDCzlqLrQT9R(ttyWKyrRwS}9m-ZemGMW`!ox
zEvfj#(&YH${M>@llGOO}%#w`!(vtY(jMU`pTRg~epeO`Kk0#SC!JyQX(&SX1Apg98
zoWzpU#L`>R&iTced8v+hd8vsxnR)5qiAA|Vsl_FUMJ1rv<MU3fEOyS%$w^HHg^DKA
zEq0g0lEmWFl3U_A`H3m<DXGbcB^f#SdGRTUC5bti#U-FL5+3Xsl$w~5TBONzi_5t*
zw=^fQB(p5_mLP)dSe9A@Nmv}YnK`-nDXBRx85tNDK-$YPOX7=j6LWGv=@Tpkatj+I
z$!Id)5^*do$#+XlEGaEYb*(5VN=z=vFS^AMmKov;GUpa&aCv4Pm<e*Qdr@MFv!m}V
z9@otD)I2Cplkt{daYlZ5d~#xLe12YhCN!0cIfJ4uGc7Z<$iK9tpcI;_G#PL4_#{@Q
z7J;=V=0>sk<rn29=0vfCIQs@gu{b*U21T*@W>%!8M6rft7A59rvfg4exW#CAi_z#7
zqwy_96HVqKBL)VBB4ZF?!oa`~#qN?>oSImis>y_qiQ)`O&4L7W6bmRKG+CoK^77;J
zOEOZ6qPU7+lEqP+dHF@T@kOb{B~ctjsaaswEncV~gj>a~Y;10xnq*PMuAG);o@QWB
z#jb3Ul9*<a2of>3Fic9TVpmQyGc_{;sj;*$Nli4aVpp~VgDQ6AR1?EQ!{jP<<&@Nv
zR0D%#Q0ak;nP4@k3<Cp0Dnk@w3PTiA3S$aW3qurh3Udle3qur33TrTfCfh9m^cYKK
zMly<(fq{XIfq}spR4<n>Ffi0G)iA^}lrUy7)i7i+q%eX^O=0e3sbPp`E@4@~x{x7@
zErmsrp_aLZA&WVSy@X={X9{Z#^K6C`wz<p;LF(CinHU*BvJ1EtGPp3ra@De=FxIfd
za~B4c@GRg>;izHA;#&wZpE;gCg&~+hlhe;FWF^Zj?!406cyK08ExyH^n^SO$tE4<X
zKB*`%FFE5D7buWHMOI=_ks1R7!!JhtUmp6EIf;4t<@rU~#RZAUsrn&BiFw7oo<6!R
zsi_6-MTu!8`pNkzsrr!Qte>1+P@-RyT9TZc6Q7h?ToMlw&?_j(Sjl*ctr%1Smb_%(
zU|`S`xW$<VcM4ljYO!Bx$t?~@RxmZV#Q`=iKCPq(6cx9algm?Xu@-=G?=60C1_c#X
zsqrb9$tAZ~!G-TF7LfQYu7bp(#N5=9)S}{ByhW*nrI|&k#qsGyi7B_3^73x6`DEs$
zCKlb|0TnB0kgQgGizzKxll2x$acWN5EiQ=7d5O8HMW9H##gdVqn+mo(F?S_HQ5Yy>
z-1I?$B!&&d;LN;|)S|S+<W#+a%3B=q@tJv<CGqj0pya^^N;iybOk#|DjB-qTj2w(r
zlIV#`52hm-6fhtSAPi!IQXR;_#h^xF4Z{M48pef;!3--I{Z=v-xiK&>tYj(*Vqjpn
z#aIFM1cV3&iLj^T7nLU#r6hn{0Wyn$u}T8NW~d@RO;(V*K>-vWe~T+VJ~uz5G$%Da
z{uWPsd|_!~4n(FX0#qQxf(THML2LuFKvou6FfcHLfUIL-U|`^2<lqL2U}Qv)r$8Po
zK7*7I+Zob8*?_5q135FMu(dEmv8J%6aI`Q)v88aPaJ4W*v8QmS@U$>Qais93@U<{R
zai;L62(&Onais{R2(>Uoai<8Uh_o<7@uY~Rh_x_8@urBUNVG6S@uf(nNVPCT@ux_q
z$h0s-38XWm$fn4pF{j9<D6}v}38v_!D5WU3Fh&Wb=!2R<EsRmZDF&d%Q43>~NQz;K
zMv7(&W0WYUY1G0HB?f8|wJ=19w==LXL`eiQXd2z(0~h6<u=J1&3JH*3K^PQ=ybKHs
z+@K&*V`X3{VJKm&VQ6Mrz_gHok)eiR0W+9p%mNi0EH#W-tSOAyOhtAjY+39z3|TBG
zOrT<_m$`-^o+Hl<EYF(FR8&*KnZ=dDmI6`30g*4^Ucghry?_@~Y@~25WGdlaz`u|I
zT!3)I3*>RsFf0%R+Xgb1E1RWgUWrf*Qw?JlOEai26VBs9<(G(nLcN!<h9O=QWOEHe
zyjTs$CE_(KDZG*lH4O0*DSS073nUjZWV02$s9{Or1B>$Iv8C|WFvRnv2-GmdOO;61
zFl0$IGiJ%82ud=f2xT)(U@X!rkwu6%GuE=E2-mQt2-+~Dh%At+VO<EaRicI^MO2bu
z0%MUAgjK^3FP|b-!w|0kCKVyET%rUDsb)qOhGvj1<rGO!+@p!AfYhXLWwT6RD)K8)
z%~DH|0*f%DNP|O9twc3T9V#XR71JnD&C-O5$@YT6NUKCOOB+Q*yF@ih2Sr4;M0J54
zx@je<S^5Z7C8}8lP@Wvft`gNO!xX6$Ik1c5dznjAvy9OA#>o71wuOwfY<W#!e<-9V
zg5wC{0~inDb{G%hZWvD+?n1B#*ljSDK?;mz2xl2VSm~@FTfzPXtEpj#*R5g8G6Cfv
zunSDVJe3q>FwYFkQ-$)(!8|o6&!UDUMO~61%d&<c-U=L-)-^0C8sOApQ^SyDlcJf;
zG=aIuDg~6vY$q`0Z2^mFfkm52?6T}rv{Q7z_Sn`iWZ5oo09T<rwd^VEHSF<@6POF*
zKzRX_0<)yRdB8T_X#!(j4%i%BusPpKoU>d~^itSU*i)EN^ud+4ZHe>(*M$sOGARa<
z47H#t*fz_p#C?HBibxH|Y=#s=aOKUOVg#+cvDtj1#61g~_dqU-cgp(#w$nJ9X#z`;
zMu}$%Q;G>5m$MW~<Q)U+Fa_&qDsj*9%JN7tOECxQWUl3`;l%JSOQ9dwzZNwNVE=Mv
zdB;0}N`xBD67B^)ka8g27V3XXu*vU0@+I6^zA1vBE?bICFLMd^0>6a}CEQv5DO@RB
zDYm^#V0o()yA*32@&PIK&5U5X9a0>@rH<c1hJ~Cp4DsNYnZR1aSK_`PFvTFnDMc{F
zImH>2j%pa<gYraR;-C^Mof(|xgTM_P7r$E^jwL1FR!T?|XJSc7d<m$<qRCuj1*++|
z3W`!oiV`#PQd6Qp4RlcDl^VrdmRS-d0&1QoB^IZ~7bKP>XBe8r8yT6nX)+aoDkZS)
zOa^8KhL@oFF@4rd5IAWMYStIS`fj(FbMn(~acAbm!&(+aP7DkTnG8$}3@<@7Srki2
za&A!+7l@2612w0M>_Dz!DM>8OE&_EEl0gKh0svu<O`!H;FsKp`V_;xNXQ*L_<*Q{(
z0gcEo&S9F!RLBwxs@FlfG?{L(Cg+#tmE2-a&MzuTO)de~xht7&G3goHV$1~dAOxre
zzQtt&>ehg|T6Qx*7J#ZBHU=h!Ds9wy3Etw+v&qR%PRuE`(?jSa$Gt^a@J2x{oP}r^
z6fiI_%tCh1EiOb~Qj@tT6Ql<mne2&>&ekoC^3=@qjFQxpl}t#|thtHFMfortMR09w
zke;h1BUo(|OIc!0Jg7%jP?VaMSrNqz;uj>AWTxhU+LoY3Y!pukh=K{Sfck{DIFb^R
zvy<}kQg3m<q8rwLHMEH0_4IXgclC1(G4zfPGt^|f#SU>}aTFV*dHk{g<RD8B0cva)
z*@IZ1(Yqp7aCZ@$>~8U-rln;jgPf9=T2iIr7v|~W>8KBCd;6p&7UgB;rMp%n<`(3n
z7F&T^!5O7VQL=eunJJlx@yJ@^%QI6_i&Nv13^Ey585nM{6=#BUy%b?!V0Z~iW15Un
z+}Wu`d8s+^#hF#0Q44T$Jtg&}5y&}AFaQ7l|NrG86()wFHgK9|VPMF70m=^#K=Q%2
zSc^*wQj3ZbLEZp0{h~yQ6U$QLGb#&Gix6#cXp<V$L@ZJTbrv~%J$=CG?G`JzeH_J7
zl9`(u#RDB}0gDy+fiekKaB5*`YF<fZVos4i$d+`FD2HbXNUWqXiW{75<5P2!Qd4em
zfjR@=%$-xj0aC{T8n-Fp0a?kJQ=FU{59Wh%)-6u(I09&x=N2c}%>{`i8Mj!nQ!9&$
z0zejl@?nt&#FWh9l3OfU`I&i;#KQ+p7{xi6DXH=P{sB<}U_LaVfJAPw7A5ATrxsO$
zY~}$a98mEBiqKm;;24993l-mDbqo#icaGw4OinH>N=&Z2#gPbQMTrE!##n;DLoCjq
z5tb<CfFS2v%pg7d&ai<LU+_3ektE160blTl6JnGjipx1aBQ?)Ev7jI^irvjH7&O##
ziw$DtEl#*4QQW}=smYn3bXQV&i#0h1l*Yli0_Ij>q%0B-6NKau7*7NxAfTdAkN_yo
zC{0VtNxj7mWfWzDLb(b=fchy#8X#5;i0}asz91qHM7V$mQ1&Qt2eCXsgcpeL1`(h(
za};w%Y0@n&a32>u+7ZR#?&=d7#pax!S7wv~8hh{wjpFo8tO&@@&oN55#S)g8T7HYA
zC^0W3N;nmgm*O+?3Q9}j6N`!xD>b>mou;BLkPUqxq8}8vtl5c0>BYBLN>XzRZm~nX
zR|M+C6@hv+MfITm7UM0>ct{^NJ|0o<f;&cOpaSj@sE}s__47EGxERG4xfn$l6__{}
zxtIl*`IvZ^IGEX(xR`htc^KK4*%-wb1(-M(d6>BvxtQ4)*;vFF#h7^*MHodGg}{)H
zk?B7R6CWcNnC4()`Om_HM1JSs<zwVy;$s9sE=Dl?!^Q^UfiW`=BO4<ZGY=!kMm|=M
zIbzH_Od^bYEOLw>o&YNk6AvRFBM&nVqYxuVoe(1nBNHRrKMociMixdsMm9!}Jcwjt
z<YHv|&c@BbD8W=E4$j~3eh$1oLFvJQ${=>wILQ>yI0<-kB%7&N1Uyc{l+9EmSHrM?
z5z?!zVaQ@Cs;gnlVoqU}WT*voMwp?aCX5SMYM5%6MHs-ctdbC#4N9|1GAv}NWvpRX
zzyvaB0c#5LLdIH_8WxDI6pn?=wJdpDHH<KsI*?k%8WvDrT9ebSC<#;!@cQQGC1%2k
zt|CzN3m!5lN&%&i3{as8s!oeqL1iOb5vZ7fq##iGzQtOckywy=i=_;d^f*iNiVI6q
zQ>#)nSs_U+24n+Q5~vXZE{j1mO*)tr#R{rviXmwUQDcHS*=&pq48@=}0t1r>DDXka
zgi(!2fLVZvi;;=3N(?O$pq+V)H~={tJc?ijiUY<43=0`Rp;g1UfN>#1Gh;1N2~!qx
z4R|c9m#LPygb5UG;1Fc0VX0wGV-9A}WcC9G#!ALp%qf|<nyj~2({l0?OKx!`=jWAV
zrkCcI78ilC?Jc&%qV(Lvid*c(nd!OtnJLf^xWx+2fVbFk^3yX*if^$-#%Cm!++vH2
zFDS}SLi7DCmg17s0%?%<K?MK<GY2RYGI6n038Q%#qz=WupxS^FmgY`?{Tstv%T&u;
z%K{!hVOq!-!(7W+%T~({8n4S@&SC*|W3yOO7<-vOP5cFHHLNup3)n%8WKiQeiz5Y;
zPJ?PV7jUL9Eo7|aEa9qQu3>Lxa$$&diD9bcs^u=>uHkBCtmUd<$l|Htl4M9>W@V6M
zNMSK&U}mrZjp{)}SwW&D+%??Ij5S=@Oc2?^m>PyG-W0YPPH@+QJ%t4{+|kR<$WX&s
z!&bvy!<@o7hb5RnlM6KF18O5dk|wx(1-CMCK<N`yjD@UZy~R;bl%F1-lvs3&BR?-b
zwIDw^103e*sYOL=L5YyFxH2y}J_R)T%~Ax?RkQ=7e>+HyH3vL_!B?~sBm|01Xf>Ty
zng<?KPt1v8&(BMZ&&V$U*ZL3xHiGoB<fUZh7Oep>nX57jZZT)(m4Iu=B2c-g$pg*@
zw^+ehplB<|`~x7hjPXU=KpeOuqIjVe#Dg6Jw&50I<t^4qP=Y~ED7@f?e`a2KJSZh-
zfl`bFs03!>VisT(VH5zBiEKhl986-23M>*rRWfMl2SqzdLINc`P%8tRar78Lqcsa4
zBUB7E;L(MJpp3(?fH8#`G=vNnV=iIHVoYH{h^4Tmu=Rq+ctA-oi#df|j3EUyZnLI@
zrG_Dk6*N{6>sQNK!;r;R!z#&;!Xe2}%LeChN;1^4*RX+gbfqxVa^&%pu-C9RGuE(4
zGt_dFaHMc8-~=Vv8ul8tg)GgCj0}Y_Dcm6Y5$1!(LO^D+rtoAl7Tv1>O&v3|GNtgQ
zF-bDia^|trFx7H`hM!aTAg-IhSOjt%R}E(k3ut^TMX;BJ5tNj<Q-o?57Vv<?7x02I
z$pXHG3@O4;DALOYnqUlO&=mDc1{I;8$N*tbdka(!fr`yyPzx2@@8PLstYJ)HkYs@N
zdKe*z5mXGWWGc!7B@9r>i5BZcpzcHxD6T;!g8Mh7xZ)L@1L9NjQi$s5fXpN0LQqbD
zIOsIUeIU0&xS$>w*l8e-7lVufISs@C1ppWm8w#MT0WlPp9jVCPhm;8GLC$Fc5#X``
zR4i1<gIi4s)wNa%iOI<d)wMbb$&ikuLUpZvbuEVLKy@}a1VHr;IF2y-rbP7h%28Yg
zu0TOW)k{#Oy2T34bhlW+E$o#{w^)ly64O&bJ>1;f)Vz`^PO!XwVrg>7N|vHMAP?;Y
z5&J;Ieo*bp52<RHlM_pdj(|!L-sIAvqSU++NP$-bYHL8sCr}f;2wXm~78GUXmE2-W
z15JjN+!D#jPmf2RtOOTTMbkhgvO_EITP(S$iFwc#W0WY^X|UoZJ|8^oR(y*UREHJc
z;>=B~09R+lx7bR+GrYGLlOYXZP-NU<PE1a|#R;0F0IP>YFgX2ylFlt5xZ&_b8wCnS
z6;RUQ5MdNylHmk5>%h%RHYOfMF-9>~E=D0n7A65EA*L!tf|&qi8VfWv!3nD>55cNR
z=2{k51qrS&nZXq%M=fV9R}BZK!BERl!wIH2Yq-EPR|!)MM-59eQ!RH1a}7%k7rbiZ
zspTzUso`m6tmOffbTvGZ3@MDDN-zal`N2iO6=n%b4R14J4G+9(^Z}KEDJ(VIDXd_~
z1TITKRU=0YXAKvqfwz#MhP8&hhC79Q4tp?zCWjv+yg{k02ps4fpneUgV;EAj8<cj~
z(dwHba9-;K$2qi*2d;B8*}=8oEw+@@lEmbUB2Y*b9R?*qP>MsU+4#UUThURF37p{S
zEj}})0;!7QC@;>82ltMTfwVsX5vX+@*utXYAPG>D1wCQ#mnG(8rX+%9wZYX~8z@yk
zsyP8>0Y(lGWaHu$Vgy%n%o5C1a%d?5%>a~&P6{+x14{<Cm_Zd?7D`12o^)WUWhwzx
zcC4U^1-Y_Yz?i~@BE|w%$BrV#n!<tL*McT;m|7TW*g%8ywQMO|NOGXb9grM5SdP7f
zVF6PL4?=z+BdCp*#azR%0Mx!`1w}t-esv*J3NIM)L8~dY6n=0;2U;5is^|pZ6&+~E
zlp%|~h7&Z!kRp^K4AN1;QNy}`6Vw_`5y)l+O-a-+WO1d4)G#dI2C0PDv4CeG1K1Xj
zU810>E>8@iE=3GgJd>f8E1jX1JDs7HC!L{|H-)*DuY?y=Mb|Lbur{-}FvLd1u+;L`
z3e*bL3f1t}aDl4PZ1xF^MN4V~K>eQ@!8E3HP~$>;4pR+R4ZjUT4etW}8X?dctvo4^
zh$KUbge1cPeuR3E+yutLG>B;~46#dU`O_I{g%PS<7-B_Ym}*68nQMd>@YgUyb=(7m
zbB*vq##&);mgCQ6n!r?KQ6roskRp)6(#x14kj(^|Fam``t!Rzt0-=QrDa_f-5LGpz
zk_@%NB^))vS;EaAwV;WWuo6&fSQwgmgll*f@Plk%WT=6;N79C20%PGRu-!Zh8EbjK
zEZ&8TwV-J$a12ghDq2v(0~#A`WlDj>A*d)}ui>fTO%Y6yg2x^&QtUAmy#dFHG&uHn
zYIs4eUdV(q_N38c57ZE<VOSsnvIQe$aiz%AFf0&7k>gDPr-l+xYG4C5=z?lNZ1EZ~
zNrn_zNrqbS8ip(gPfn7dR-#5cg&92UP?Ew>E1AbrB2gpJ%vd8X%}^^@BAFt;K&nQp
zMzThtMjX<lo4{P?lA-|02M9aBjXIFI(kZ-Pv#!;ErYZ!)LDM8MC9(@ZQ%Eu?iXsf4
zSOyQJE0NbI1D96diV9bAWCN&3f;D-n%yAb#@Tv`4dkoQz!DyF&%m%khaJ3zaPJxO~
zypG(6>_{?f0L@oJ%4S@_u!%w&&Jy&)X3A_>$yfxc>hSww3r;&g6CUuG0972|7NQWS
z74O0j%Tdcz!!(h(kOwq_0kHxUA1j%`E%_++;?gA0^u#Te%#zexgnSXG^#g7=Zv|Nl
z>U4n`&LB*BB&}pD0#~pgi;HkY(=L!bAb()kL6!%LUc;jeY%SbByFvC)>>qF^9c(Zz
z|Lg(T1M^SFO6DTe_A+Dy3)CdK#axz{Q*;63+>4+gPj*n_D6urT=n4Y^!*ftO6NFbX
z-C~2R8N9^{Z4yD&5Egv~>HGpBK!F?uYM8{sR3w%rNAZBogN|`ST4JC^Se0^FVvfSV
zbVW3n7#QH4v7#1G6Hp%9eJHvLYO#SjAIaIbI6&P2(8{BtIUwKN0ui8|f6+~lBIcab
zyjyIgd6|W!sfa#8(QS~b!ysZJNEKURK|yL>O3`KzhdnPpuPU`D{}yXrX>Mvx(JGL#
zxgcUXhyeFc;GL7A>mackAYuWC0QKK)v4O^~^K(H<m{L<TrNFJsC;?CagN8a_eGf=$
z_6|tbT@Y~(WH~puYXxp|7T@B4Mo=-NmH7~)Kom4Zn3Gxpo)-m8TtHS`@j#WvgR*H6
zD4uWe!Gxe48ete89Gj42af`9w7Gv=(rh=kdj3u{N!AS?4$ZiQi)~J@H#zPqSdBsKd
zLCysE5Zpd50!=lcl?As%klL&83S%88k%NZp8JHx%L*yc$VQ*GYk4S_`jFE|fiGk@q
z8#AOo1R6fqU=kBxVT3{^DP}%K2}T|!IVRA+Hb^fQBM+klxGyEZ$j8LRD8SDJ9w--J
z65<hJ)L;^0;)9zCTDk?YiHi}`?~(uy)AKM^DHBoAVf48`1p+8-6@wB%4QMzLU!My!
zJkC+WvJlj}0u9Ha_O6)Wy(<>1y(@?)q<6)P*1IyRf%T%87c$gvgZfb^EZ|-gD|#<V
z6ML@-Trz>{6HsxW$qMc<L6X^FP%OiHN}5QWq@rgaDfkFr5vbUS;)ZmbK)s}5NC6IR
zbHGOhA%^1YA#s9dra<{ZAC%n%K&2QnXq=pf89MmKStWrMS8y#Ty&-Aj-q0)-JiQ^v
zm^o_-3wX?&A&aF3)IA09AUz<|UJ+;!8>n9c9y+XLgZ77DJs?g{%MQ}3s%3}vhY&p=
zR>*K3L>}4$Vyj_Tz+S_$fCJnE;s6cArSO0uFQ`9L!;r<9!dJrqT1^TT1<CP)dMq^z
zS==cC*^EVRYG8dMR^+}>2~Q0xXkf3IF@+V}6Vd{kC0N6-fDhag0^5aYF1RPe30i`O
zYF`O|iZG_$X2@z+0g#C)BA|tOAXj7UH3_2hnu5@JO+pJ9z`dpuH3C?BOv2C}lNh28
zv_Kf57St-9z*yK<!v*Ti5bP}p!+T5rN*ETfg8DMx-V!)8ComO7)Cgy>q=3=`DCC$H
zh%96P#SXZ)Bns~>MbrpGdrLeu!dYVAPzLpu%1RirxN4AlOTr)<FnUX`Y8V!X*KpPF
zE`)@j1lTP+3mL&Q??T2Dkrb&Ev0fH%{{!SUkm*-aq|+HeF)zYUE0)KT!dfFH!B8WX
z&IDE^St11q1JK}0jaZ6EiVP?=z$U`_Wvn%@ei_J2#tF<tTJU}uB>jN;WdfjH5zGaQ
z3?=+EJRm=US-cQd4MUbRNEIk-5Gp}E7bH>HUS^OU&?2}6d@%8aOrTU#0_xB4f_v(q
z^vPUw3Y<RW!D$R6hd+JFrwE~@Pf&lihGBs$$d-kmu?A310q3C-Q2&V=+M5IQv*c^U
zB^go_!2LIdEC^3glA%_zMgrWMV<|F8VW^eL<0(<7k!)tHk&tGnl`7#+QCgr_BVHo~
z>d!%Yb1a1{DaxQckFW#Wo0G3$$Wlt-0WZj!R>P2`oWct3%_*0tEKmjWRgijfs$}%$
zia@(+AoVS-)}#-p2!*vKs|>LfoA62*e=iO^Wk`A(zKC!)C=}U^WZ3WuR0rX0Q%B&m
zfx3N!NRU0CCIP4~0>WhY<}E?rM1gF9#VLvn)b&j?$Q}xP^NyfzVnDXQd=pai9@LeA
zGyy;Zz2MFaxX%;C0j}gh9h{F03=CC5A*sbB3c;Y2JqqBZIaUgw<sQW);MQsps7qAz
z31mBJKL^x8VPIf*V6Vw^i>)N1D784F=n|+S!3d_H#s)x^mnk@gI$J5AEgAy30N&)S
zQUSSYfVxAVrH*LbAvL7#5Tn~I_Tv1slH9}!a6hK#D=0X=frxn^0^BhIP3S^8KcHr8
z(RYx<4-f&GIf3+LK;0(DXgR2BRP+-h`wK+;1`(jn&@CSDx~!tq;?kUwV(1PKNZ{t@
zq!iy01og;D@(Z$I9n9jQNuaI^FG##7KRF(<CyfWhEhvKUispk%2Q{l9<MW`2pCZ(5
zRnZ@ilE0wXlZJGu_#m@5piN02mtgBq75xKg`VS(&O<qtRs)&J+fuV>IM1VR<MNA+T
zGl*aT5v(8rw1A_C9mL`Q5#W9|CnEzx6mNb(Nj%)M#B_-ui_+lbt`{f=ECMxinIxF_
zSooMlm_gkW5EfyEcZQgxm|)!@4JI*0DP|#NSa*npNs5V&QG}6)Neb2>VuE*wm;{*k
zz%%GPETHZZXx);OB(!tHECgPLBE}@bC&q}@O=1Dr4_a4*(n*rVTZ3Q}MxYr;P`WAx
ztv>*-6JpF}DUvDywO_#dpPHF!8T0s1`6VnhjIiwyph=<>_BqU;6-4QbHB9M@X-tr*
zA<#tRE#}<Jydqvk1_sb}NzhuvTWo3IU3o>I&DTZeKuLr77H4sCMk;6zOi>hjZhl@S
zXxAQR8ff!TYF=`sCM#rm5wyCg2()+%vJyxZtQVZDAfi&BXa`p_U;;ESbV~#@>zJ8d
zT7<M0wfF-lK0&ji49r|i0?d5OVk{V)OKkd3`Ys^XfXZHQ=xqW|=z(^lf!0!$FqSYa
zfUoRX$k@z?DZ<16UM0g^!y>{^!z95_%UZ&k#a08Jp-%zLp)l02wn7&Uq%lh}q{CJW
zA*q0<1CbyV3)pKI7jS@9W7U8r20?6=g^UYXYT0Vo7I3Dpq_8ezTELmYm;&nFvemGG
z_TE9(85Myivq1|8zy)~`X!(^U7i1I#)T_M3lvi+zB{?-S=N3zGVNnTE5ylQGpTTRf
zK#N{)fo7BQiVO0KQ#IMaF>{NpBsH%%zvvdD$1SFK5Dve^m6(zepOc!GUXpPOw0E;K
z2eQx_(oh0N8)z3WXo(kO?Kx-`nT?r&p%^rY%D}|MsKv;`sKIE&D8f{wfR^5&?m=io
z84=)zZYBiP!^NNh@N|ZBh7`s*poLhV^%jia2B=vlV+lC%OEQ$ObTBqEN;1^4v@^6b
zrZIt%eG5ki189;1JZZ*S!wL#+8-_xW5;ll<Gh+>N3X2Ux3Tp~;3quVPNL>wc3Y!f>
z340dD0!~oZ1{^6|piV*xyCg#v&uoSij=4;rP7>HfoO76J*<o&|<*4BRbrM||VtHyg
z(-~^mYdCEf3fGnJA=$_To(HaiERpJ9056Q<k_2sTOzC9oV2oj^<*DTbO=>M<SRk;F
zp_aFXJ%wA6VS!)`56IRMh7uvrhy~dHa<zOl93?C@d=Q`4@YaBK7qQo{fTxf|YS>fQ
zz&g1X2rmRrcN9J<JO}j~`$9%6e&d1o4LmKv>j&C=8{in?>FO79i?uSOs5BL&T!O9J
z5C$#r1TAF+k9#ZBGIlW3FiJ9jR<Lw1N-}^})`6zPK^wXtD_S%e!NX{p%(s}63rfL*
zfd!RCZ$RY)WPQsm#_W|$kh&xvRKLK>3GjfpEGUV=8ah?_XbB6s0>#=82d#&~@CT@T
z1<#~__Q9rub{~k;GL|qvRs(`u-pmMbJ2>%cGJ{uG6zPCUGF@<~2_DUdRBK?@f(cL_
z0Xta{*~vxPAZ?&*TqU6&;u;(hALJSw>Jt(V4QsvR;xf=4hhQI17gva4aMR0xk%6H~
z3`GZ630S=dVtvOgP9H}nSD$!a#{lr!?OV*nB}GNxCI`5&z*LZOixad9+zqsWG>S8=
zC_fi6)X7$oAD>)Yc8fhHKRq3^u@uCJPsuF0#a5P>Q<_=~X}!R`4QaxFn>ygw;|G@|
zkcb0S{Za6NQD}1lG?;vg8!}1?Uda~41L1&&M~kD_K<hwK(xL<*W3@=SqIkjT<8u=W
z3NrK3Z!wk?ftwVdhQuu{h;q<CSrMpFaf>kv98X31ppXW~f*>OUgAgbd3_$GzRxU<9
zCLv}CMlL1+Mj>V%MhPZJP0qzA#UjAM0b2jdB*4hSD8MMj#KTx6jVF<zY-a@RfCi-{
zaBTzHiBZFXNdJ%>(4cj<HK2KV=7kIr4AA8oETC<U5)9G|DJ&uk;8nV;pbd_o^`<4D
zqKIW7BX}_!7ibndi+cf24byA}$ZqMm%r&58a=Z(fp^MDeptS|4Vh5F-3@^crG|&bd
zO+G}LEm8snjyNL&!!2ge+Elj0;u6pv23e2@YiVX)iA518m)!y<5bzrDA~TR2S87E;
zYEdR=SrVj<NCQ{gMb|(Xm<^HyltE^Lx&z>uwOcGDnK`Mqm@{+JA@Ksw9k)0^O;zyb
zeQ!|gfNOiux<t^rYetOWNw{K^KnJZt0o4@XKnLx&1?}0CV5kKTIf526*MiD^R!Ig>
zMy_S6VFIlvtYxoZ1k)Tf9H7B8@Pb~(s%9<)C<sa|DJ{w?wo-tLfF!_MC=zqx(+Y|d
zqC>!SW-L|(B?J|K`%L*cDGJeUpjE>NV>Fo|H8*I^1X3(=f<yHdb6P>sE#{JfqFY?>
zc5-nPM`eC#N@`wwRunhPb(tv@w*+AvxYAp2d5{rsPFg_`daOvNr<Ont1xd__&o4+V
zN-P1b?<&a8%qs~2#S>^nF#`t&Xlj6ogOP)&N((KA;4z@+1E@>~H7S!p*#(pzK^SBt
zsIdl$$zo7LtpriiFY07K?1hHZ)Zo>iOyKMQIx>Kzh6R)%IvBvm2Y?nbvt+TBuq<G!
zVOz*p!<xdJ!rsdq!&J*r%h}G*&XmRk9&F~Q;Q-b8pw(L`3?=L}9L<ca;I*IajA@K1
zpaE!(8cwhZE^s#Fs^LiCngd$!%w5Bs#RaOHQ+Po891FRibtXp50?I<*8WMGmzJmd_
zz7r|zL4!}4jJFu`AY$Nx3$&~=2NdKWgFr(eRVHXb4ayWKeL}3&9;m*7Y{FxTPp%S-
zFUc=}cOpSG2)J>H;d)S626jDiy;#H8!3c7HHcJsp4RXB*aW-hLn<i6{AE*f60}=4t
z4z3GJK%N0bJjgRV3>a2|{0X)aIlv%I3ZyC+$tp%jhZEJ7GLS7Gqd>NR8#0iQh$uGj
zZlGefm5iX(_bI6rn%s!06I{R*nS&e+>S*0!0fp-=Hb_2)^y!U3k|rR+6jbp;mT-ez
z5CxwWgw$q5V9$dKLC{j^DE0!#%wQBR$W%~83yOe@C~hzpq6f5BsvtW)GcP4GIkgz7
z5<0tB9K{Y+nUV(fye2awh{3&WuvOsnBFxCZkOuO+5GYfz@G%K7$}vfSmwgK{2{2+b
z#4%FOErw)Jtb=reFlci=D7L_bD=6nedY_UES&Xw8Qkdp4)v}f_)vz`*f@-j02hhnL
zDa@cXTIq}_Ea0rdR>KBb#0~0!g0e~p%K~=L_Vrq}8s-%CZ04eUH4IrCDID31MLTL3
z7I4-u)-Ww(ieav02W8e8h6P+T?4U`xh0HO`pnV0kJSE&IoZxdpxWJj7doF7Y4`>v;
zhNp%tiwAT<NE(w31FEfsZ&H|RdGhqYc7oPI!Bt8!;4?9pL6gT1T#Nn^)-OxUiHDb_
z#o$~6>NBrof((^`=KI`=0zqkm2Sk7>;9o-iptF?{a}+}0<^3;4g<nio3Yxq~$qm$)
zzQvwd9G{k%lUjtD$UwU-6H`D52GYTv0V+RzK{kM<$Zs(vmT2;VD~KZSl=nT5G&tE^
z28|5~!Cee80i5J+aYDr6Q_^m6q!ko_r?zi#lt5WUo*=V*K!i7l@B$Iw>;)#k$xMim
zfuRPJ%#=Whgb}n)N`w(KVa&k@8eI_qPa+F2u`zNm@qzY6p)bA!Z(D@80yMIPlH@?S
zAD-kudy1)^<d(sc+ydf~95`ul<49UpP?FY_8n!H`N^sKR!I4;DiT*<gFDS{U@YL|6
z@b<FQ^5zLaMfkw3<OhkBfY|(!kUk+_i6CflE`|xTRI-F6i?xOq)WZW!uGR3>@TCa!
zGS>>0h-Qh^2!f{`g;PX&S!#u9m{UZ-Crf~Q&yd0>$&e+!KmweR#O5;92xUovcgBMz
znLy`JFf=o!aAdPgU@ZCs4u1|whAbIm)!@l9sdUB^anQt6o==Uy0$H%U1SngAP61$K
zr~&CeSHqkF5o0n39rq)YC7A`9MuNBjRE$W1^-0ZT0i8kuDkMOzSs)KOivwJ*%0jYW
zQ8*|ig0fsu1S10jdR{Av1WALIhZjYISY@CFDP*HGEXC*Nq!bl`@(1XIB2A{EAW(yr
zJvl$8G&ip}<Q8K}6bEQeXbI>5DCQ{E#Js%xl3UDaxh1z)l5-Oaiq11IFjNWZ!}p;o
zKo9g{zQvrKS{cO#Zpju$u_q@MfL10KffqM}THaOc@yWS*1$pT&ConQFtYnO0PASOL
zR6r{Mief<SM$P?2u^=%}@mqw*_;DaHQ0^}RZGkN^1aZOp#VtS{VlK!jxy4ajnglu-
zt{Bnezr|dfR~*Hjk(yWn@{AKmmorEM8&VS<Qq8%6ggJ{-OX5p1OTb%L6U$Q5GShD{
zC+DPT3gawpisC_rCV+@U5CPhef~`D>Vh4@f<tCOyaVF<Nb~P2>Vg^~jlvokPnvxcu
zoEycSoEs1F0=T||5a7ZGG>|?SRQP~GmVsS}kq5MWlZlHFTKF*WF~W-;&|Uy$A!a@%
z9%cz9&@in6qX45Cvj`&_BOj9rGsb`-s6GTa4f(t_l+p>b2L#mP0L4gg6%zyKj2Z?|
z4hC0R&`orpZJVIeF-n-TSU}yrUeL%6Xtw}E7HbM~HcQco63`$bX!HtnFeOVbOD%T^
zJ7~dmGh}S5pq8hGql6Q*l0}lCmbZipw34NkuZ9&wFW_Ft09v?P%U{EW!WSsv&El&8
zEq-R5!<53-%UCN|!k;BjBM90)SHnA-A%(Ms8>AzJYc|VV<`nK4z7(EbwpyXWki0`B
zf*@ajcPwy$POquut6^9mRKp6|a0jk@g=<A>MQd1*ZHKc3YJ}lz;TjP*TLhnrQuu1P
z!7gD!xTJ<FOE`r$g+HCCMx;h0ohd~CREE`v&Ssd)lp@^A%E$mxQ6pR<oDN#v&JR@~
z0-Br$$w2f%Nr4nmP}v94vp@tQ1{y`H;aVVy!V^mogNlo%h(lQtDH0G?mL%wmq+Uiw
zh8pG+Y49R&2~bH13ZpFP1&}fkOwMI4VXk4wk_C0e^FnHbvgEQrlh;yUl?t;NQXu7{
z9H@Luk)O*3J~alkWC6cQrMYaNBPpTfqTB*Sc)6(Rx02~4sH!X~g_J7nX_@Ju5nk{B
zu_hDvG>;<CID{rskvk|qdVtkIW`f`XzZh+QG3yzn-C{{A&B<BG29XADG6SzJ0__I5
z#g>zro|=~eI(s80zX;qUs$z2l?d7)xPig;R($&4inv|26oL$A@?;l{R$$X0wbjn(B
zNo7uIQ7y=JkU^SEMGYV}NZ=N8QEEz+vRh(KajF7jHC$P$LQ!H#s)B~0ZZTqazGjsI
zX#5dfO>t@-=(xwS%#upYD$XE(X9e&C*e~v!{PNTyg(A>l8KB*{Ir+(uqMKDe$lp00
z+z$em%~c%nMfu5~a=9oI<ftsr7#l>axGen^b8%VvN=EQ(nWhq?_(c@8*&q!$AOchr
z6oJYGNKXPhAZ7$EK%M=4{DZ(Fafm@PMDd;rQo{iXBXB7v3aXeu?YdhmApR{5Q1M%l
zlbH))Rf1St5HZk})LUS7C3sw{C?DjG8V~^*qbY(H?ch<FqCAj90f+$iZ3;m>7qKGH
zA!*o}j76v=_booqsV$H)8Z`a}j{Blw(3BlF_|Qy9x27l`<a|qzC7`H9B)3~kDQS?D
z04dDzH!MXM85pjB%68BWat0<LCN37x&Tb(_0VW<s4kiIc0VW|vEoLr84ptE+(2)T=
zj67UIjB?CMj8fp~JJ3`cXwyIF009+dEk-RSj18`!G9Er#ic+|P`ke5>J%<Ug(hXdI
zv%&@)vRR7$l`w;fOHe_d!qN-sn}GW(knN?C47FS(Y>+Lf;Gz00wcIsaB^;n#&XS=1
z24@X7s93Mz0MmRm>|mO|gsX<HhChY1nYmV=ggc9;h7UBM0NMpp!w+Mnu+3pgVMi+3
zIZ`-lKob*OH3BKz;9?!L4}=#~te3FYFx4>CaAz|~GBh)Sc+HH`puI0_S%N8i;6fHs
zkP4&-)(C@jGu7~>2!V>(LbtpnC7hrG%W8Q`gg}06hWE-qCe<*d@MD<EUdvy@QOifR
zKfpdnfxEwk2zS=7Ef9wI1zcRSEf7KBiKYlc#l=!Ype*qeQ3xwbB1J4k99pzXfQxp}
z4i!m|ud}2UNQ0ZD;KnI*lvM^?w0qPDWyyk@un?8<vl&vPz-p!EvZTnQ$U=*1>}urZ
zvVacPgQ;1d058rJ{fbIJ`KJs-fO?NbyTFGbfx1`>A3!TDn2J)1z!T`8&7?&WLF&NV
z3J|LjL{x!@Y7hY)@c}JxFRBBTYMf5cgL-W>nIR=Gs5FL@%b;_Sia=)(RdECaLCVmg
zCXgA;AOhUzWzi1^f)t!p?C}LfXhkMisJJY>s1>9Ev=>iPu?Vez1Z~bkYN>)(B*2Tx
zqIQr*&_YwB&M%_O1eKIU9Uvv0AVM5e)O3MZ-5{a|MD&6P(u+Y6+{GZMjsur-w>aS^
z`+{adL8t#h+O&OOJ3)>?lzZ?<xy21S$1^iA2XvfoQ9np2sO=xc0XlmNROmxmw1_^n
zC?f-d918<Ou?r}|xdfQFn8ZLc6ySmnG|I}usKltmB*Cb`!oeuOD8U3;x4^@s#3;qA
z0zU5qRP1qqPfk%`R$)|O!kD)J6@0LDAt(cHkdZRz>8+pxn?PN@EXFJ*&@LA6fr}EL
zrcFF!3R4YZHd~QR3iARM&|Gy3XpW2(bOr=ym=v`AKaZt`v6iVy3RM0r;7DPsVFWeZ
z7Bbc_H8a&Rhco1fFfxE(31<p>Gh-8DBtsrk1Os@S2Xep}Be=`Q;a3D2h62~pMPZB#
z*ar&1b9SIYI~_D<2i`dknr}fGDAZ)U#g&{`kO?~6xGJ>>G&qSK?w}#o3{bd3LV<~)
zN*7~@H8BNp$P%`()hc$-iiw<Jy()drJn$-g&}?^UPO5@iW=^VtUt(^mLVl3~OwJi}
zLNQoWQIq=?dj|N>sA9-siB3>j0{eS1XzYfyxF9F9<Q98+YDr>ANzpCN%-n+fqLQ4<
zq+7fYCdgH#IjOg}!ax&ru0=)pMYnh}^NLFn^O7?Yb3i9tu|QHd$ml4p<iy<69PlQH
zTdZJDq6bDV0|P@mC@>U2iI9<tg@cieiGxvwiG`5~G@SFFiIM3)2NN6UfE=bONw67+
zBX7XNI^fX2ScCxzT+s1F#c>RvY87<AO%~Ha(7`s0DNNu|cTn4zC5v?d+d_s~mP`iF
ztc?pptXwTy4O<OMHd~Qa3HUV6EY=#fW+qU-#D<|ztA=#}M-6yJzJ@W4p@y{&bWA#P
z)hPu}<UmkJQ~<k5p|m(NFI}M|BNejczqlYjF9jq5js);&x+t?bpt(^6&~dqX&}dQs
zO<{u07cZ*RQ;5tjRY*?EQ%KAy&Q|~*<)V<7SE&FxF$u+#l6-~yvecsTqRf(1EOwWH
zqD~<*55*!qxC!9awVx*EE%wYjP?Nai78fWz6s3bWMW7?dZn1!@ESd%?VnCZgAd|f_
zK&?x*(t?!464)}2qPZY3F7RR0@gO}>kQ1aJY_`li&{<$ntRNY~Tg-_?=+kvYa~K&I
z%0Q_Dyqkbkj1jbN1hm&$gprFGqn(AC4jIAOSQ9HHSp-TIMe(5Ip8z62-YNo}_XF8J
zaS|j3I!3DK1&GB3@+min5Cai1AVL#FfTnqiKw}q0pmuZ-XfV78G*k)RvQz|WTNZ&z
z*&<LX2YcogFZAT9<kXxT*y&Z^B6%6eBJgkn=%_c)*@(rUxnmAyo_YpF4p9z%4g(Gy
z4h@ca1||+^j(P@l4lxcM4oePB4j}<CE^#hLE-x-e4sq~7aUk8G>;%W4NiGnl7<7&S
z?A&d{6c^&SU+^)yp!2s`i$E*eP;wP$%ov10hJlX{DPd@404=p(1dT^9#4~{k(xOPv
zC>V252gp0%Pz5bC1Py(G1VHQ}uus8$274Ezs2vo?pd8D<$i-O23pzUt`*BtvyFqRM
zb%BaOiK2!v3p{Vv2Rf_@w8V_D3Nf=8lnOo(su-LJpcy7PIll;;1xxb5!eA8&pk*8>
zpgaM}s-W|u6hKGHDHN9!l_rCZjYnh;O{SvNFt2DbL&`ePMw(m9`K9O!mcS{h8}2t2
z9>yvju-~AkM6G1Qoer0P(ib?CzyvtZz~Kdomo}K09E?0HkeC8RFER#&6o^kkl;7eE
zat(2I_KA0MMX9YpMuB?$Ai5Yd%87btGHlQZv<NDN1$<~LYY7|Z^rkG16jn*_IagV%
zS)3(Y3%DWma|%0XxHg3;g#+9wWyoR$4KIODTxUvQs$q)fEsQAP%HjhZmkc_dB3=NL
zv_PkX)iE$IxP=rUj&}qN$sx{o)D(myyyc+410}2?P}>H4@+0`DZt$t+kVEc3=MEO3
zopgsd77uhXVo?t$o<RrX!QvTw1ReM=I&gG=BL*BNAgd;W;)D+r<cy$2oqUX-<J~wI
ztAyZziakk#k~1h|!ATmlAOU>j2l$L}aAqos0y!fZM1U;>6JT3G<<%UJtso;97^?&k
zHbE0u(K1j#fOUWgu(QE>K_N5=q!*OyI2d_2i$EfpdAFF0D~pRji;RjuD>EQ%{&^r%
zW`YRN%H3OR1&MhniN)ZSa};}VYGP7;QC<<K&3ua;bjD*&W)e7{Z*k=&mK5aVgBlP;
zATNTO=%BM^DnZLLN{dr(F$Z}16oH%&C00-gKDRL*aguC&S!M~iRd$QJI61SRQV(=E
zeQ^;eDMoSoR)S}`K*viKf#&g}*nBHN7jQt1rQ|Lx$;>I%1C!umL!v~%Y`x^t;*xyu
zJqY0IM2bKG9>obd8&eOwZXI+mIQTfrBG61^5hy;Rcylt75=)c83Q~)UK&u6dKxI#n
zAZXFMAXFB-{sH8i;v&#oXc1^y3B0i476;g4dU<)^lf0sYVO%}LkzPdyLGjBE3gW3C
zL&d>rpywYVs{=JYZ>iys)dR0?0-Z1kKB%M!Ji-GWC<6Cjz&#?+0DhDliUFXI$t=lC
zE!G2VNi8i&Edp&TF9P?DKojv%5@6+eU?1w`6ve~W<raZf+ZM@zT+EXTI=W8}G?ty2
zUL+3^;(`c)O41@w^R7q{Br1v!)dQW%Qj`k1`J)Ilu@}V)k%RiXNEs9;peid$7$T9E
zS^~Z@K`$@0q__xl(CIBfSh~ppjlO|SZoS1+kaJ6@403r2_>^MMO3~D!B6X1U++e>z
zWWgt5MhPK_=z*JU#YLJRr94QQi;J{Cj?o4YI-s_)0L)&{9SERnL5g%ia(W;+8FV>F
zLev9K*A(f4l&IiP0=7RMveCD=2-E_I;s(v`l;-Mzn&d@>AkDmBRmFOc>m49v9C)A*
z)T@mW_JM^2Xw{uB_!a^1EdWvca2cp5sHt&_4axykEZ|ZAsf`XUH9!T%Ee@Mput|2H
zett1%Wgn;=hKwPjW1z)sJWM>S5FY4gOVCl8;3GB}g&0AH2+A;mm%1^5mb-y5J4h6S
rc^E~&%iut|c-Z(rqi&!%mTzplY>-{R5b_@jix9t1Jp(G#7UBT_LmoH;

literal 0
HcmV?d00001

diff --git a/code/models/__pycache__/model_interface.cpython-39.pyc b/code/models/__pycache__/model_interface.cpython-39.pyc
index 3da7b2035d7f1297664e6c70bc48be9b1643e010..243c3f2980570e3f84143dbeb71e3a1a48e10942 100644
GIT binary patch
literal 28069
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
Pix9t1Jp(FC72*K^z%%<f

literal 21335
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

diff --git a/code/models/__pycache__/model_interface_classic.cpython-39.pyc b/code/models/__pycache__/model_interface_classic.cpython-39.pyc
index 97044fe05269d43ef2c97e75a0d3b37f58673a23..23e18e285c2185a51b7c8325683a0311412a4b1e 100644
GIT binary patch
literal 26594
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

delta 10140
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

diff --git a/code/models/ckpt/vit-base-patch16-224 b/code/models/ckpt/vit-base-patch16-224
new file mode 160000
index 0000000..5dca96d
--- /dev/null
+++ b/code/models/ckpt/vit-base-patch16-224
@@ -0,0 +1 @@
+Subproject commit 5dca96d358b3fcb9d53b3d3881eb1ae20b6752d1
diff --git a/code/models/model_clam.py b/code/models/model_clam.py
new file mode 100644
index 0000000..7ef5041
--- /dev/null
+++ b/code/models/model_clam.py
@@ -0,0 +1,280 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Tue Mar  2 14:11:47 2021
+
+@author: Narmi Ghaffari Laleh
+
+reference : https://github.com/mahmoodlab/CLAM
+
+
+"""
+##############################################################################
+
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+import numpy as np
+# from utils.utils import Initialize_weights
+device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
+
+##############################################################################
+
+class Attn_Net(nn.Module):
+
+    def __init__(self, L = 1024, D = 256, dropout = False, n_classes = 1):
+        super(Attn_Net, self).__init__()
+        self.module = [
+            nn.Linear(L, D),
+            nn.Tanh()]
+
+        if dropout:
+            self.module.append(nn.Dropout(0.25))
+
+        self.module.append(nn.Linear(D, n_classes))
+        
+        self.module = nn.Sequential(*self.module)
+    
+    def forward(self, x):
+        return self.module(x), x # N x n_classes
+
+##############################################################################
+        
+class Attn_Net_Gated(nn.Module):
+    
+    def __init__(self, L = 1024, D = 256, dropout = False, n_classes = 1):
+        
+        super(Attn_Net_Gated, self).__init__()
+        self.attention_a = [
+            nn.Linear(L, D),
+            nn.Tanh()]
+        
+        self.attention_b = [nn.Linear(L, D),
+                            nn.Sigmoid()]
+        if dropout:
+            self.attention_a.append(nn.Dropout(0.25))
+            self.attention_b.append(nn.Dropout(0.25))
+
+        self.attention_a = nn.Sequential(*self.attention_a)
+        self.attention_b = nn.Sequential(*self.attention_b)
+        
+        self.attention_c = nn.Linear(D, n_classes)
+
+    def forward(self, x):
+        a = self.attention_a(x)
+        b = self.attention_b(x)
+        A = a.mul(b)
+        A = self.attention_c(A)  # N x n_classes
+        return A, x
+
+##############################################################################
+
+class CLAM_SB(nn.Module):    
+    def __init__(self, gate = True, size_arg = "small", dropout = False, k_sample = 8, n_classes = 2,
+        instance_loss_fn = nn.CrossEntropyLoss(), subtyping = False):
+        
+        super(CLAM_SB, self).__init__()
+        self.size_dict = {"small": [1024, 512, 256], "big": [1024, 512, 384]}
+        #self.size_dict = {"small": [512, 256, 128], "big": [1024, 512, 384]}
+        size = self.size_dict[size_arg]
+        fc = [nn.Linear(size[0], size[1]), nn.ReLU()]       
+        if dropout:
+            fc.append(nn.Dropout(0.25))            
+        if gate:
+            attention_net = Attn_Net_Gated(L = size[1], D = size[2], dropout = dropout, n_classes = 1)
+        else:
+            attention_net = Attn_Net(L = size[1], D = size[2], dropout = dropout, n_classes = 1)            
+        fc.append(attention_net)
+        self.attention_net = nn.Sequential(*fc)
+        self.classifiers = nn.Linear(size[1], n_classes)        
+        instance_classifiers = [nn.Linear(size[1], 2) for i in range(n_classes)]        
+        self.instance_classifiers = nn.ModuleList(instance_classifiers)
+        self.k_sample = k_sample
+        self.instance_loss_fn = instance_loss_fn
+        self.n_classes = n_classes
+        self.subtyping = subtyping
+        Initialize_weights(self)
+
+    def relocate(self):
+        
+        if torch.cuda.device_count() > 1:
+            device_ids = list(range(torch.cuda.device_count()))
+            self.attention_net = nn.DataParallel(self.attention_net, device_ids=device_ids).to('cuda:0')
+        else:
+            self.attention_net = self.attention_net.to(device)
+        self.classifiers = self.classifiers.to(device)
+        self.instance_classifiers = self.instance_classifiers.to(device)
+    
+    def create_positive_targets(length):
+        return torch.full((length, ), 1, device = device).long()    
+    def create_negative_targets(length):
+        return torch.full((length, ), 0, device = device).long()
+        
+    def inst_eval(self, A, h, classifier): 
+        if len(A.shape) == 1:
+            A = A.view(1, -1)
+        top_p_ids = torch.topk(A, self.k_sample)[1][-1]
+        top_p = torch.index_select(h, dim = 0, index = top_p_ids)
+        top_n_ids = torch.topk(-A, self.k_sample, dim = 1)[1][-1]
+        top_n = torch.index_select(h, dim = 0, index=top_n_ids)
+        p_targets = torch.full((self.k_sample, ), 1, device = device).long()
+        n_targets = torch.full((self.k_sample, ), 0, device = device).long()
+
+        all_targets = torch.cat([p_targets, n_targets], dim=0)
+        all_instances = torch.cat([top_p, top_n], dim=0)
+        logits = classifier(all_instances)
+        all_preds = torch.topk(logits, 1, dim = 1)[1].squeeze(1)
+        instance_loss = self.instance_loss_fn(logits, all_targets)
+        return instance_loss, all_preds, all_targets
+        
+    def inst_eval_out(self, A, h, classifier):
+        
+        device=h.device
+        if len(A.shape) == 1:
+            A = A.view(1, -1)            
+        top_p_ids = torch.topk(A, self.k_sample)[1][-1]
+        top_p = torch.index_select(h, dim=0, index=top_p_ids)
+        p_targets = torch.full((self.k_sample, ), 0, device = device).long()
+        logits = classifier(top_p)
+        p_preds = torch.topk(logits, 1, dim = 1)[1].squeeze(1)
+        instance_loss = self.instance_loss_fn(logits, p_targets)
+        return instance_loss, p_preds, p_targets
+
+    def forward(self, h, label=None, instance_eval = False, return_features = True, attention_only = False):
+        
+        A, h = self.attention_net(h)
+        A = torch.transpose(A, 1, 0)
+                
+        output = self.classifiers(h)
+        output = F.softmax(output, dim=1)        
+        if attention_only:
+            return A
+        A_raw = A
+        A = F.softmax(A, dim=1)  # softmax over N
+        all_preds = []
+        
+        if instance_eval:
+            total_inst_loss = 0.0
+            all_preds = []
+            all_targets = []
+            inst_labels = F.one_hot(label, num_classes = self.n_classes).squeeze() #binarize label
+            for i in range(len(self.instance_classifiers)):
+                inst_label = inst_labels[i].item()
+                classifier = self.instance_classifiers[i]
+                if inst_label == 1:
+                    instance_loss, preds, targets = self.inst_eval(A, h, classifier)
+                    all_preds.extend(preds.cpu().numpy())
+                    all_targets.extend(targets.cpu().numpy())
+                else:
+                    if self.subtyping:
+                        instance_loss, preds, targets = self.inst_eval_out(A, h, classifier)
+                        all_preds.extend(preds.cpu().numpy())
+                        all_targets.extend(targets.cpu().numpy())
+                    else:
+                        continue
+                total_inst_loss += instance_loss
+
+            if self.subtyping:
+                total_inst_loss /= len(self.instance_classifiers)
+                
+        M = torch.mm(A, h) 
+        logits = self.classifiers(M)
+        Y_hat = torch.topk(logits, 1, dim = 1)[1]
+        Y_prob = F.softmax(logits, dim = 1)
+        
+        if instance_eval:
+            results_dict = {'instance_loss': total_inst_loss, 'inst_labels': np.array(all_targets), 
+            'inst_preds': np.array(all_preds)}
+        else:
+            results_dict = {}            
+        if return_features:
+            results_dict.update({'features': M})            
+        return logits, Y_prob, Y_hat, output, results_dict
+
+##############################################################################
+
+class CLAM_MB(CLAM_SB):
+    
+    def __init__(self, gate = True, size_arg = "small", dropout = False, k_sample=8, n_classes=2,
+        instance_loss_fn=nn.CrossEntropyLoss(), subtyping=False):
+        
+        nn.Module.__init__(self)
+        self.size_dict = {"small": [1024, 512, 256], "big": [1024, 512, 384]}
+        size = self.size_dict[size_arg]
+        fc = [nn.Linear(size[0], size[1]), nn.ReLU()]
+        if dropout:
+            fc.append(nn.Dropout(0.25))
+        if gate:
+            attention_net = Attn_Net_Gated(L = size[1], D = size[2], dropout = dropout, n_classes = n_classes)
+        else:
+            attention_net = Attn_Net(L = size[1], D = size[2], dropout = dropout, n_classes = n_classes)
+        fc.append(attention_net)
+        self.attention_net = nn.Sequential(*fc)
+        bag_classifiers = [nn.Linear(size[1], 1) for i in range(n_classes)] #use an indepdent linear layer to predict each class
+        self.classifiers = nn.ModuleList(bag_classifiers)
+        instance_classifiers = [nn.Linear(size[1], 2) for i in range(n_classes)]
+        self.instance_classifiers = nn.ModuleList(instance_classifiers)
+        self.k_sample = k_sample
+        self.instance_loss_fn = instance_loss_fn
+        self.n_classes = n_classes
+        self.subtyping = subtyping
+        Initialize_weights(self)
+
+    def forward(self, h, label=None, instance_eval=False, return_features=False, attention_only=False):
+        device = h.device
+        A, h = self.attention_net(h)  # NxK        
+        A = torch.transpose(A, 1, 0)  # KxN
+        if attention_only:
+            return A
+        A_raw = A
+        A = F.softmax(A, dim=1)  # softmax over N
+
+        if instance_eval:
+            total_inst_loss = 0.0
+            all_preds = []
+            all_targets = []
+            inst_labels = F.one_hot(label, num_classes=self.n_classes).squeeze() #binarize label
+            for i in range(len(self.instance_classifiers)):
+                inst_label = inst_labels[i].item()
+                classifier = self.instance_classifiers[i]
+                if inst_label == 1: #in-the-class:
+                    instance_loss, preds, targets = self.inst_eval(A[i], h, classifier)
+                    all_preds.extend(preds.cpu().numpy())
+                    all_targets.extend(targets.cpu().numpy())
+                else: #out-of-the-class
+                    if self.subtyping:
+                        instance_loss, preds, targets = self.inst_eval_out(A[i], h, classifier)
+                        all_preds.extend(preds.cpu().numpy())
+                        all_targets.extend(targets.cpu().numpy())
+                    else:
+                        continue
+                total_inst_loss += instance_loss
+
+            if self.subtyping:
+                total_inst_loss /= len(self.instance_classifiers)
+
+        M = torch.mm(A, h) 
+        logits = torch.empty(1, self.n_classes).float().to(device)
+        for c in range(self.n_classes):
+            logits[0, c] = self.classifiers[c](M[c])
+        Y_hat = torch.topk(logits, 1, dim = 1)[1]
+        Y_prob = F.softmax(logits, dim = 1)
+        if instance_eval:
+            results_dict = {'instance_loss': total_inst_loss, 'inst_labels': np.array(all_targets), 
+            'inst_preds': np.array(all_preds)}
+        else:
+            results_dict = {}
+        if return_features:
+            results_dict.update({'features': M})
+        return logits, Y_prob, Y_hat, A_raw, results_dict
+    
+##############################################################################
+
+def Initialize_weights(module):
+	for m in module.modules():
+		if isinstance(m, nn.Linear):
+			nn.init.xavier_normal_(m.weight)
+			m.bias.data.zero_()
+		
+		elif isinstance(m, nn.BatchNorm1d):
+			nn.init.constant_(m.weight, 1)
+			nn.init.constant_(m.bias, 0) 
diff --git a/code/models/model_interface.py b/code/models/model_interface.py
index 3d37368..43494c2 100755
--- a/code/models/model_interface.py
+++ b/code/models/model_interface.py
@@ -13,7 +13,11 @@ import pandas as pd
 import cv2
 from PIL import Image
 from pytorch_pretrained_vit import ViT
-
+# import wandb
+from scipy.stats import bootstrap
+# import sklearn
+# import json
+# from pprint import pprint
 #---->
 from MyOptimizer import create_optimizer
 from MyLoss import create_loss
@@ -30,7 +34,8 @@ import torch.nn as nn
 import torch.nn.functional as F
 import torchmetrics
 from torchmetrics.functional import stat_scores
-from torchmetrics.functional.classification import binary_auroc, multiclass_auroc, binary_precision_recall_curve, multiclass_precision_recall_curve
+from torchmetrics.functional.classification import binary_auroc, multiclass_auroc, binary_precision_recall_curve, multiclass_precision_recall_curve, confusion_matrix
+from torchmetrics.utilities.compute import _auc_compute_without_check, _auc_compute
 from torch import optim as optim
 from torch.optim.lr_scheduler import ReduceLROnPlateau, CosineAnnealingWarmRestarts
 
@@ -59,6 +64,24 @@ from pytorch_grad_cam.utils.model_targets import ClassifierOutputTarget
 from captum.attr import LayerGradCam
 import models.ResNet as ResNet
 
+LABEL_MAP = {
+    # 'bin': {'0': 0, '1': 1, '2': 1, '3': 1, '4': 1, '5': None},
+    # 'tcmr_viral': {'0': None, '1': 0, '2': None, '3': None, '4': 1, '5': None},
+    # 'no_viral': {'0': 0, '1': 1, '2': 2, '3': 3, '4': None, '5': None},
+    'no_other': {'0': 'Normal', '1': 'TCMR', '2': 'ABMR', '3': 'Mixed', '4': 'Viral'},
+    # 'no_stable': {'0': None, '1': 1, '2': 2, '3': 3, '4': None, '5': None},
+    # 'all': {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5},
+    'rejections': {'0': 'TCMR', '1': 'ABMR', '2': 'Mixed'},
+    'norm_rest': {'0': 'Normal', '1': 'Disease'},
+    'rej_rest': {'0': 'Rejection', '1': 'Rest'},
+    'rest_rej': {'0': 'Rest', '1': 'Rejection'},
+    'norm_rej_rest': {'0': 'Normal', '1': 'Rejection', '2': 'Rest'},
+
+}
+COLOR_MAP = ['#377eb8', '#ff7f00', '#4daf4a',
+                  '#f781bf', '#a65628', '#984ea3',
+                  '#999999', '#e41a1c', '#dede00']
+
 class FeatureExtractor(pl.LightningDataModule):
     def __init__(self, model_name, n_classes):
         self.n_classes = n_classes
@@ -79,11 +102,15 @@ class ModelInterface(pl.LightningModule):
     #---->init
     def __init__(self, model, loss, optimizer, **kargs):
         super(ModelInterface, self).__init__()
-        self.save_hyperparameters()
+        self.save_hyperparameters() #ignore=kargs.keys()
         self.n_classes = model.n_classes
         
         if model.name == 'AttTrans':
-            self.model = milmodel.MILModel(num_classes=self.n_classes, pretrained=True, mil_mode='att_trans', backbone_num_features=1024)
+            self.model = milmodel.MILModel(num_classes=self.n_classes, pretrained=True, mil_mode='att_trans')
+        elif model.name == 'vit':
+            self.model = timm.create_model('vit_base_patch16_224', pretrained=False, num_classes=self.n_classes)
+            self.model.patch_embed = nn.Sequential(nn.Linear(self.in_features, 768), nn.Identity())
+
         else: self.load_model()
         if self.n_classes>2:
             # self.aucm_loss = AUCM_MultiLabel(num_classes = self.n_classes, device=self.device)
@@ -99,12 +126,14 @@ class ModelInterface(pl.LightningModule):
         
         
         self.optimizer = optimizer
-        
+        # print(kargs)
         self.save_path = kargs['log']
-        
-        # self.in_features = kargs['in_features']
-        # self.out_features = kargs['out_features']
-        self.in_features = 2048
+
+        if 'in_features' in kargs.keys():
+            self.in_features = kargs['in_features']
+        else: self.in_features = 2048
+        # # self.out_features = kargs['out_features']
+        # self.in_features = 2048
         self.out_features = 512
         if Path(self.save_path).parts[3] == 'tcmr':
             temp = list(Path(self.save_path).parts)
@@ -112,9 +141,13 @@ class ModelInterface(pl.LightningModule):
             temp[3] = 'tcmr_viral'
             self.save_path = '/'.join(temp)
 
-        # if kargs['task']:
-        #     self.task = kargs['task']
-        self.task = Path(self.save_path).parts[3]
+        # print(kargs['task'])
+        if kargs['task']:
+            self.task = kargs['task']
+        # self.task = Path(self.save_path).parts[3]
+        # self.task = kargs['task']
+        self.test_slide_OOP = 0
+        self.test_patient_OOP = 0
 
 
         #---->acc
@@ -123,7 +156,8 @@ class ModelInterface(pl.LightningModule):
         # print(self.experiment)
         #---->Metrics
         if self.n_classes > 2: 
-            self.AUROC = torchmetrics.AUROC(task='multiclass', num_classes = self.n_classes, average='weighted')
+            self.AUROC = torchmetrics.AUROC(task='multiclass', num_classes = self.n_classes, average=None)
+            self.accuracy = torchmetrics.Accuracy(task='multiclass', num_classes = self.n_classes, average='weighted')
             self.PRC = torchmetrics.PrecisionRecallCurve(task='multiclass', num_classes = self.n_classes)
             self.ROC = torchmetrics.ROC(task='multiclass', num_classes=self.n_classes)
             self.confusion_matrix = torchmetrics.ConfusionMatrix(task='multiclass', num_classes = self.n_classes) 
@@ -141,6 +175,7 @@ class ModelInterface(pl.LightningModule):
                                                                             
         else : 
             self.AUROC = torchmetrics.AUROC(task='binary')
+            self.accuracy = torchmetrics.Accuracy(task='binary')
             # self.AUROC = torchmetrics.AUROC(num_classes=self.n_classes, average = 'weighted')
             self.PRC = torchmetrics.PrecisionRecallCurve(task='binary')
             self.ROC = torchmetrics.ROC(task='binary')
@@ -150,9 +185,10 @@ class ModelInterface(pl.LightningModule):
                                                      torchmetrics.Recall(task='binary'),
                                                      torchmetrics.Precision(task='binary')
                                                      ])
-            self.confusion_matrix = torchmetrics.ConfusionMatrix(task='binary')                                                                    
-        self.valid_metrics = metrics.clone(prefix = 'val_')
-        self.valid_patient_metrics = metrics.clone(prefix = 'val_patient_')
+            self.confusion_matrix = torchmetrics.ConfusionMatrix(task='binary')    
+        self.train_metrics = metrics.clone(prefix = 'train_')                                                                
+        self.val_metrics = metrics.clone(prefix = 'val_')
+        self.val_patient_metrics = metrics.clone(prefix = 'val_patient')
         self.test_metrics = metrics.clone(prefix = 'test_')
         self.test_patient_metrics = metrics.clone(prefix = 'test_patient')
 
@@ -165,19 +201,6 @@ class ModelInterface(pl.LightningModule):
         if self.backbone == 'features':
             self.model_ft = None
             
-        elif self.backbone == 'dino':
-            self.feature_extractor = AutoFeatureExtractor.from_pretrained('facebook/dino-vitb16')
-            self.model_ft = ViTModel.from_pretrained('facebook/dino-vitb16')
-        # elif self.backbone == 'inception':
-        #     self.model_ft = torch.hub.load('pytorch/vision:v0.10.0', 'inception_v3', pretrained=True)
-        #     self.model_ft.aux_logits = False
-        #     for parameter in self.model_ft.parameters():
-        #         parameter.requires_grad = False
-
-        #     self.model_ft.fc = nn.Sequential(nn.Linear(model.fc.in_features, 10),
-        #                                     nn.Linear(10, self)
-        #     )
-
         elif self.backbone == 'resnet18':
             self.model_ft = models.resnet18(weights='IMAGENET1K_V1')
             # modules = list(resnet18.children())[:-1]
@@ -189,18 +212,6 @@ class ModelInterface(pl.LightningModule):
             self.model_ft.fc = nn.Linear(512, self.out_features)
 
 
-            # res18 = nn.Sequential(
-            #     *modules,
-            # )
-            # for param in res18.parameters():
-            #     param.requires_grad = False
-            # self.model_ft = nn.Sequential(
-            #     res18,
-            #     nn.AdaptiveAvgPool2d(1),
-            #     View((-1, 512)),
-            #     nn.Linear(512, self.out_features),
-            #     nn.GELU(),
-            # )
         elif self.backbone == 'retccl':
             # import models.ResNet as ResNet
             self.model_ft = ResNet.resnet50(num_classes=128, mlp=False, two_branch=False, normlinear=True)
@@ -234,7 +245,6 @@ class ModelInterface(pl.LightningModule):
                 nn.GELU(),
             )
         elif self.backbone == 'simple': #mil-ab attention
-            feature_extracting = False
             self.model_ft = nn.Sequential(
                 nn.Conv2d(3, 20, kernel_size=5),
                 nn.ReLU(),
@@ -242,22 +252,22 @@ class ModelInterface(pl.LightningModule):
                 nn.Conv2d(20, 50, kernel_size=5),
                 nn.ReLU(),
                 nn.MaxPool2d(2, stride=2),
-                View((-1, 53*53)),
-                nn.Linear(53*53, self.out_features),
+                View((-1, 53*53*50)),
+                nn.Linear(53*53*50, 1024),
                 nn.ReLU(),
             )
         if self.model_ft:
-            self.example_input_array = torch.rand([1,1,3,224,224])
+            self.example_input_array = torch.rand([1,1000,3,224,224])
         else:
             self.example_input_array = torch.rand([1,1000,self.in_features])
-        # print(self.model_ft[0].features[-1])
-        # print(self.model_ft)
 
-    # def __build_
+        self.train_step_outputs = []
+        self.validation_step_outputs = []
+        self.test_step_outputs = []
 
     def forward(self, x):
         # print(x.shape)
-        if self.model_name == 'AttTrans':
+        if self.model_name == 'AttTrans' or self.model_name == 'MonaiMILModel':
             return self.model(x)
         if self.model_ft:
             # x = x.squeeze(0)
@@ -265,9 +275,9 @@ class ModelInterface(pl.LightningModule):
             batch_size = x.shape[0]
             bag_size = x.shape[1]
             x = x.view(batch_size*bag_size, x.shape[2], x.shape[3], x.shape[4])
+
             feats = self.model_ft(x).unsqueeze(0)
-            # print(feats.shape)
-            # print(x.shape)
+            # print('feats: ', feats.shape)
             # if feats.dim() == 3:
             feats = feats.view(batch_size, bag_size, -1)
         else: 
@@ -278,12 +288,12 @@ class ModelInterface(pl.LightningModule):
 
     def step(self, input):
 
+        
         input = input.float()
-        # print(input.shape)
-        # logits, _ = self(input.contiguous()) 
         logits = self(input.contiguous())
         Y_hat = torch.argmax(logits, dim=1)
-        Y_prob = F.softmax(logits, dim = 1)
+        # Y_prob = F.softmax(logits, dim = 1)
+        Y_prob = torch.sigmoid(logits)
 
 
         # Y_hat = torch.argmax(logits, dim=1)
@@ -319,7 +329,8 @@ class ModelInterface(pl.LightningModule):
 
 
         # self.log('total_loss', total_loss, prog_bar=True, on_epoch=True, logger=True, batch_size=1, sync_dist=True)
-        self.log('loss', loss, prog_bar=True, on_epoch=True, logger=True, batch_size=1, sync_dist=True)
+        self.log('loss', loss.item(), prog_bar=True, on_epoch=True, logger=True, batch_size=1, sync_dist=True)
+        # wandb.log('loss', loss, prog_bar=True, on_epoch=True, logger=True, batch_size=1, sync_dist=True)
         # self.log('lsce_loss', loss, prog_bar=True, on_epoch=True, logger=True, batch_size=1, sync_dist=True)
 
         # if self.current_epoch % 10 == 0:
@@ -336,9 +347,10 @@ class ModelInterface(pl.LightningModule):
         #     self.loggers[0].experiment.add_image(f'{self.current_epoch}/input', grid)
 
 
-        return {'loss': loss, 'Y_prob': Y_prob, 'Y_hat': Y_hat, 'label': label} 
+        self.train_step_outputs.append({'loss': loss, 'Y_prob': Y_prob, 'Y_hat': Y_hat, 'label': label}) 
+        return loss
 
-    def training_epoch_end(self, training_step_outputs):
+    def on_training_epoch_end(self):
 
         # for t in training_step_outputs:
         # probs = torch.cat([torch.cat(x[0]['Y_prob'], x[1]['Y_prob']) for x in training_step_outputs])
@@ -346,10 +358,10 @@ class ModelInterface(pl.LightningModule):
         # target = torch.stack([torch.stack(x[0]['label'], x[1]['label']) for x in training_step_outputs])
             # print(t)
 
-        probs = torch.cat([x['Y_prob'] for x in training_step_outputs])
-        max_probs = torch.cat([x['Y_hat'] for x in training_step_outputs])
+        probs = torch.cat([x['Y_prob'] for x in self.train_step_outputs])
+        max_probs = torch.cat([x['Y_hat'] for x in self.train_step_outputs])
         # print(max_probs)
-        target = torch.cat([x['label'] for x in training_step_outputs], dim=0).int()
+        target = torch.cat([x['label'] for x in self.train_step_outputs], dim=0).int()
 
         # logits = torch.cat([x['logits'] for x in training_step_outputs], dim = 0)
         # probs = torch.cat([x['Y_prob'] for x in training_step_outputs])
@@ -371,17 +383,23 @@ class ModelInterface(pl.LightningModule):
 
         # print('max_probs: ', max_probs)
         # print('probs: ', probs)
-        if self.current_epoch % 10 == 0:
-            self.log_confusion_matrix(max_probs, target, stage='train')
+        self.log_dict(self.train_metrics(max_probs.squeeze(), target.squeeze()),
+                          on_epoch = True, logger = True, sync_dist=True)
+
+        
         if self.n_classes <=2:
             out_probs = probs[:,1] 
         else: out_probs = probs
 
-        self.log('Train/auc', self.AUROC(out_probs, target.squeeze()), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
+        if self.current_epoch % 10 == 0:
+            # self.log_confusion_matrix(max_probs, target, stage='train')
+            self.log_confusion_matrix(out_probs, target, stage='train', comment='slide')
+
+        self.log('train/auc', self.AUROC(out_probs, target.squeeze()).mean(), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
 
     def validation_step(self, batch, batch_idx):
 
-        input, label, (wsi_name, patient) = batch
+        input, label, (wsi_name, _, patient) = batch
         # label = label.float()
         
         logits, Y_prob, Y_hat = self.step(input) 
@@ -392,8 +410,8 @@ class ModelInterface(pl.LightningModule):
         #---->acc log
         # Y = int(label[0][1])
         # Y = torch.argmax(label)
-        loss = self.lsce_loss(logits, label)
-        # loss = cross_entropy_torch(logits, label)
+        # loss = self.lsce_loss(logits, label)
+        loss = cross_entropy_torch(logits, label)
         # one_hot_label = torch.nn.functional.one_hot(label, num_classes=self.n_classes)
         # print(logits)
         # print(label)
@@ -413,65 +431,53 @@ class ModelInterface(pl.LightningModule):
             self.data[y]["correct"] += (int(y_hat) == y)
         
         # self.data[Y]["correct"] += (Y_hat.item() == Y)
-        self.log('val_loss', loss, prog_bar=True, on_epoch=True, logger=True, batch_size=1, sync_dist=True)
+        self.log('val_loss', loss.item(), prog_bar=True, on_epoch=True, logger=True, batch_size=1, sync_dist=True)
+        # print(wsi_name)
         # self.log('val_aucm_loss', aucm_loss, prog_bar=True, on_epoch=True, logger=True, batch_size=1, sync_dist=True)
-        return {'logits' : logits, 'Y_prob' : Y_prob, 'Y_hat' : Y_hat, 'label' : label.int(), 'name': wsi_name, 'patient': patient, 'loss':loss}
-
-
-    def validation_epoch_end(self, val_step_outputs):
-
-        # print(val_step_outputs)
-        # print(torch.cat([x['Y_prob'] for x in val_step_outputs], dim=0))
-        # print(torch.stack([x['Y_prob'] for x in val_step_outputs]))
+        self.validation_step_outputs.append({'logits' : logits, 'Y_prob' : Y_prob, 'Y_hat' : Y_hat, 'label' : label.int(), 'name': wsi_name, 'patient': patient, 'loss':loss})
+
+
+    def on_validation_epoch_end(self):
+
+        logits = torch.cat([x['logits'] for x in self.validation_step_outputs], dim = 0)
+        probs = torch.cat([x['Y_prob'] for x in self.validation_step_outputs])
+        max_probs = torch.cat([x['Y_hat'] for x in self.validation_step_outputs])
+        target = torch.cat([x['label'] for x in self.validation_step_outputs])
+        slide_names = [x['name'] for x in self.validation_step_outputs]
+        slide_names = [item for sublist in slide_names for item in sublist]
+        # slide_names = list(sum(slide_names, ()))
+        # slide_names = 
+        # for x in self.validation_step_outputs:
+        #     print(x['name'])
+        patients = [x['patient'] for x in self.validation_step_outputs]
+        patients = [item for sublist in patients for item in sublist]
+        loss = torch.stack([x['loss'] for x in self.validation_step_outputs])
         
-        logits = torch.cat([x['logits'] for x in val_step_outputs], dim = 0)
-        probs = torch.cat([x['Y_prob'] for x in val_step_outputs])
-        max_probs = torch.cat([x['Y_hat'] for x in val_step_outputs])
-        # print(max_probs)
-        target = torch.cat([x['label'] for x in val_step_outputs])
-        slide_names = [x['name'] for x in val_step_outputs]
-        patients = [x['patient'] for x in val_step_outputs]
-
-        loss = torch.stack([x['loss'] for x in val_step_outputs])
-        
-        # print(loss)
-        # print(loss.mean())
-        # print(loss.shape)
-        # loss = torch.cat([x['loss'] for x in val_step_outputs])
-        # print(loss.shape)
-        
-
-        # self.log('val_loss', cross_entropy_torch(logits.squeeze(), target.squeeze()), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
-        # self.log('val_loss', loss.mean(), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
-        
-        # print(logits)
-        # print(target)
-        self.log_dict(self.valid_metrics(max_probs.squeeze(), target.squeeze()),
+        self.log_dict(self.val_metrics(max_probs.squeeze(), target.squeeze()),
                           on_epoch = True, logger = True, sync_dist=True)
-        
 
         if self.n_classes <=2:
             out_probs = probs[:,1] 
         else: out_probs = probs
 
-        bin_auroc = binary_auroc(out_probs, target.squeeze())
-        # print('val_bin_auroc: ', bin_auroc)
-
-        # print(target.unique())
+        self.log_confusion_matrix(out_probs, target, stage='val', comment='slide')
         if len(target.unique()) != 1:
-            self.log('val_auc', self.AUROC(out_probs, target.squeeze()), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
-            # self.log('val_patient_auc', self.AUROC(patient_score, patient_target), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
+            self.log('val_auc', self.AUROC(out_probs, target.squeeze()).mean(), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         else:    
             self.log('val_auc', 0.0, prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
-
-
-
-        # print(max_probs.squeeze(0).shape)
-        # print(target.shape)
         
 
         #----> log confusion matrix
-        self.log_confusion_matrix(max_probs, target, stage='val')
+        # print(max_probs, target)
+        # self.log_confusion_matrix(max_probs, target, stage='val')
+        
+
+        # print(slide_names)
+        # print(patients)
+        # print(len(patients))
+        # print(len(slide_names))
+        # print(len(probs))
+        # print(len(target))
 
         #----> log per patient metrics
         complete_patient_dict = {}
@@ -481,31 +487,21 @@ class ModelInterface(pl.LightningModule):
         patient_class_score = 0
 
         for p, s, pr, t in zip(patients, slide_names, probs, target):
-            p = p[0]
-            # print(s[0])
-            # print(pr)
+            # p = p[0]
+            # print(p)
             if p not in complete_patient_dict.keys():
                 complete_patient_dict[p] = {'scores':[(s[0], pr)], 'patient_score': 0}
-                # print((s,pr))
-                # complete_patient_dict[p]['scores'] = []
-                # print(t)
                 patient_target.append(t)
             else:
                 complete_patient_dict[p]['scores'].append((s[0], pr))
 
-        # print(complete_patient_dict)
-
         for p in complete_patient_dict.keys():
-            # complete_patient_dict[p] = 0
             score = []
             for (slide, probs) in complete_patient_dict[p]['scores']:
                 score.append(probs)
-            # print(score)
             score = torch.stack(score)
-            # print(score)
             if self.n_classes == 2:
                 positive_positions = (score.argmax(dim=1) == 1).nonzero().squeeze()
-                # print(positive_positions)
                 if positive_positions.numel() != 0:
                     score = score[positive_positions]
             if len(score.shape) > 1:
@@ -513,45 +509,47 @@ class ModelInterface(pl.LightningModule):
 
             patient_score.append(score)  
             complete_patient_dict[p]['patient_score'] = score
-        correct_patients = []
-        false_patients = []
-
-        for patient, label in zip(complete_patient_dict.keys(), patient_target):
-            if label == 0:
-                p_score =  complete_patient_dict[patient]['patient_score']
-                # print(torch.argmax(patient_score))
-                if torch.argmax(p_score) == label:
-                    correct_patients.append(patient)
-                else: 
-                    false_patients.append(patient)
+
+        # print(complete_patient_dict)
+        # correct_patients = []
+        # false_patients = []
+
+        # for patient, label in zip(complete_patient_dict.keys(), patient_target):
+        #     # if label == 0:
+        #     p_score =  complete_patient_dict[patient]['patient_score']
+        #     # print(torch.argmax(patient_score))
+        #     if torch.argmax(p_score) == label:
+        #         correct_patients.append(patient)
+        #     else: 
+        #         false_patients.append(patient)
 
         patient_score = torch.stack(patient_score)
+        patient_target = torch.stack(patient_target)
         
         if self.n_classes <=2:
             patient_score = patient_score[:,1] 
-        patient_target = torch.stack(patient_target)
+
+        self.log_confusion_matrix(patient_score, patient_target, stage='val', comment='patient')
+        
+        # print(patient_score)
         # print(patient_target)
-        # patient_target = torch.cat(patient_target)
-        # self.log_confusion_matrix(max_probs, target, stage='test', comment='patient')
-        # print(patient_score.shape)
-        # print(patient_target.shape)
-        if len(patient_target.shape) >1:
-            patient_target = patient_target.squeeze()
-        self.log_roc_curve(patient_score, patient_target, stage='val')
-        # self.log_roc_curve(patient_score, patient_target.squeeze(), stage='test')
-
-        # if self.current_epoch < 20:
-        #     self.log('val_patient_auc', 0.0, prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
+        # print(patient_target.squeeze())
+        # print(self.AUROC(patient_score, patient_target.squeeze()))
+        
+        
+
+        # self.log_roc_curve(patient_score, patient_target.squeeze(), stage='val', comment='patient')
+        # self.log_pr_curve(patient_score, patient_target.squeeze(), stage='val', comment='patient')
+
         if len(patient_target.unique()) != 1:
-            self.log('val_patient_auc', self.AUROC(patient_score, patient_target.squeeze()), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
+            self.log('val_patient_auc', self.AUROC(patient_score, patient_target.squeeze()).mean(), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         else:    
             self.log('val_patient_auc', 0.0, prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         
-        self.log_dict(self.test_patient_metrics(patient_score, patient_target),
+        self.log_dict(self.val_patient_metrics(patient_score, patient_target),
                           on_epoch = True, logger = True, sync_dist=True)
 
-        
-
+        self.log('val_accuracy', self.accuracy(patient_score, patient_target), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         #---->acc log
         for c in range(self.n_classes):
             count = self.data[c]["count"]
@@ -568,16 +566,45 @@ class ModelInterface(pl.LightningModule):
             self.count = self.count+1
             random.seed(self.count*50)
 
-
+        self.validation_step_outputs.clear()  # free memory
 
     def test_step(self, batch, batch_idx):
 
-        input, label, (wsi_name, patient) = batch
-        # input, label, (wsi_name, batch_names, patient) = batch
-        # label = label.float()
+        input, label, (wsi_name, batch_names, patient) = batch
         # 
-        logits, Y_prob, Y_hat = self.step(input) 
-        loss = self.lsce_loss(logits, label)
+        # get attention ##
+        # input = input.float()
+        # logits = self(input.contiguous())
+        # logits, attn = self(input.contiguous())
+        # Y_hat = torch.argmax(logits, dim=1)
+        # Y_prob = torch.sigmoid(logits)
+
+        # norm_result = self.reshape_transform(h)
+        # print(norm_result)
+
+        # print('input: ', input.shape)
+        # print('attn: ', attn)
+        # print('attn: ', attn.softmax(dim=1))
+        # for i in range(attn.shape[1]):
+        
+        #     attn_mask = attn[0, i, ...].cpu().numpy()
+        # #     print(attn_mask)
+        #     attn_mask = (attn_mask - attn_mask.min())/(attn_mask.max() - attn_mask.min())*255
+        #     attn_mask = attn_mask.astype(np.uint8)
+        #     # print(attn_mask.shape)
+        #     # print(attn_mask)
+            
+
+        #     # mask = Image.fromarray(attn_mask)
+        #     cv2.imwrite(f'/home/ylan/workspace/TransMIL-DeepGraft/test/attention_maps_3/{wsi_name[0]}_{i}.png', attn_mask)
+        #     # mask = mask.convert('RGB')
+            # mask.save(f'/home/ylan/workspace/TransMIL-DeepGraft/test/attention_maps_2/{i}.png')
+
+            # print(attn_mask)
+        ##################
+        logits, Y_prob, Y_hat = self.step(input) # Use this for standard inference.
+
+        loss = self.loss(logits, label)
         #---->acc log
         # Y = int(label)
         for y, y_hat in zip(label, Y_hat):
@@ -593,19 +620,31 @@ class ModelInterface(pl.LightningModule):
         # self.data[Y]["count"] += 1
         # self.data[Y]["correct"] += (int(Y_hat) == Y)
         # self.data[Y]["correct"] += (Y_hat.item() == Y)
+        step_output_dict = {'logits' : logits, 'Y_prob' : Y_prob, 'Y_hat' : Y_hat, 'label' : label.int(), 'loss': loss, 'name': wsi_name, 'patient': patient}
+        self.test_step_outputs.append(step_output_dict)
+
+    # def test_epoch_end(self, output_results):
+    def on_test_epoch_end(self):
+
+        logits = torch.cat([x['logits'] for x in self.test_step_outputs], dim = 0)
+        # probs = torch.cat([x['Y_prob'] for x in self.test_step_outputs])
+        probs = F.softmax(logits, dim = 1)
+        # Y_hat = torch.argmax(logits, dim=1)
+
+        # max_probs = torch.cat([x['Y_hat'] for x in self.test_step_outputs])
+        max_probs = torch.argmax(logits, dim=1)
+
+
+        target = torch.cat([x['label'] for x in self.test_step_outputs])
+        # slide_names = [x['name'] for x in self.test_step_outputs]
+        # patients = [x['patient'] for x in self.test_step_outputs]
+        slide_names = [x['name'] for x in self.test_step_outputs]
+        slide_names = [item for sublist in slide_names for item in sublist]
+        patients = [x['patient'] for x in self.test_step_outputs]
+        patients = [item for sublist in patients for item in sublist]
+        loss = torch.stack([x['loss'] for x in self.test_step_outputs])
 
-        return {'logits' : logits, 'Y_prob' : Y_prob, 'Y_hat' : Y_hat, 'label' : label.int(), 'loss': loss, 'name': wsi_name, 'patient': patient}
 
-    def test_epoch_end(self, output_results):
-        logits = torch.cat([x['logits'] for x in output_results], dim = 0)
-        probs = torch.cat([x['Y_prob'] for x in output_results])
-        # max_probs = torch.stack([x['Y_hat'] for x in output_results])
-        max_probs = torch.cat([x['Y_hat'] for x in output_results])
-        target = torch.cat([x['label'] for x in output_results])
-        slide_names = [x['name'] for x in output_results]
-        patients = [x['patient'] for x in output_results]
-        loss = torch.stack([x['loss'] for x in output_results])
-        
         self.log_dict(self.test_metrics(max_probs.squeeze(), target.squeeze()),
                           on_epoch = True, logger = True, sync_dist=True)
         self.log('test_loss', loss.mean(), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
@@ -613,114 +652,129 @@ class ModelInterface(pl.LightningModule):
         if self.n_classes <=2:
             out_probs = probs[:,1] 
         else: out_probs = probs
-            # max_probs = max_probs[:,1]
 
         if len(target.unique()) != 1:
-                self.log('test_auc', self.AUROC(out_probs, target.squeeze()), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
-            # self.log('val_patient_auc', self.AUROC(patient_score, patient_target), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
+                self.log('test_auc', self.AUROC(out_probs, target.squeeze()).mean(), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         else:    
             self.log('test_auc', 0.0, prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
-
-
+        print('Test Slide AUROC: ', self.AUROC(out_probs, target.squeeze()).mean())
 
         #----> log confusion matrix
-        self.log_confusion_matrix(max_probs, target, stage='test')
+        self.log_confusion_matrix(out_probs, target, stage='test', comment='slide')
 
         #----> log per patient metrics
         complete_patient_dict = {}
         patient_list = []            
         patient_score = []      
         patient_target = []
+        
         patient_class_score = 0
 
         for p, s, pr, t in zip(patients, slide_names, probs, target):
-            p = p[0]
-            # print(s[0])
-            # print(pr)
+            # p = p[0]
             if p not in complete_patient_dict.keys():
-                complete_patient_dict[p] = {'scores':[(s[0], pr)], 'patient_score': 0}
-                # print((s,pr))
-                # complete_patient_dict[p]['scores'] = []
-                # print(t)
+                complete_patient_dict[p] = {'scores':[(s, pr)], 'patient_score': 0}
                 patient_target.append(t)
             else:
-                complete_patient_dict[p]['scores'].append((s[0], pr))
-
-        # print(complete_patient_dict)
+                complete_patient_dict[p]['scores'].append((s, pr))
 
         for p in complete_patient_dict.keys():
-            # complete_patient_dict[p] = 0
             score = []
             for (slide, probs) in complete_patient_dict[p]['scores']:
                 score.append(probs)
-            # print(score)
+            
             score = torch.stack(score)
-            # print(score)
-            if self.n_classes == 2:
+            if self.n_classes <= 2:
                 positive_positions = (score.argmax(dim=1) == 1).nonzero().squeeze()
-                # print(positive_positions)
                 if positive_positions.numel() != 0:
                     score = score[positive_positions]
+                
             if len(score.shape) > 1:
+                
                 score = torch.mean(score, dim=0) #.cpu().detach().numpy()
 
             patient_score.append(score)  
+            
+
             complete_patient_dict[p]['patient_score'] = score
-        correct_patients = []
-        false_patients = []
-
-        for patient, label in zip(complete_patient_dict.keys(), patient_target):
-            if label == 0:
-                p_score =  complete_patient_dict[patient]['patient_score']
-                # print(torch.argmax(patient_score))
-                if torch.argmax(p_score) == label:
-                    correct_patients.append(patient)
-                else: 
-                    false_patients.append(patient)
-        # print('Label 0:')
-        # print('Correct Patients: ')
-        # print(correct_patients)
-        # print('False Patients: ')
-        # print(false_patients)
 
-        # print('True positive slides: ')
-        # for p in correct_patients: 
-        #     print(complete_patient_dict[p]['scores'])
         
-        # print('False Negative Slides')
-        # for p in false_patients: 
-        #     print(complete_patient_dict[p]['scores'])
+
+        
+        self.save_results(complete_patient_dict, patient_target)
         
         
 
-        patient_score = torch.stack(patient_score)
+        opt_threshold = self.load_thresholds(torch.stack(patient_score), torch.stack(patient_target), stage='test', comment='patient')
+        # print(opt_threshold)
+        if self.n_classes > 2:
+            opt_threshold = [0.5] * self.n_classes 
+        else: 
+            opt_threshold = [1-opt_threshold, opt_threshold]
+        # print(opt_threshold[1])
+        # self.log_topk_patients(complete_patient_dict, patient_target, thresh=opt_threshold, stage='test')
+        self.log_topk_patients(list(complete_patient_dict.keys()), patient_score, patient_target, thresh=opt_threshold, stage='test')
+
+
+        # get topk patients
+        # correct_patients = []
+        # false_patients = []
+
+
+        # for patient, label in zip(complete_patient_dict.keys(), patient_target):
+        #     if label == 0:
+        #         p_score =  complete_patient_dict[patient]['patient_score']
+        #         # print(torch.argmax(patient_score))
+        #         if torch.argmax(p_score) == label:
+        #             correct_patients.append((patient, p_score))
+        #         else: 
+        #             false_patients.append((patient, p_score))
         
-        # complete_patient_dict[p]['patient_score'] = patient_score
+        # print('correct_patients: ')
+        # print(correct_patients)
+        # print('false_patients: ')
+        # print(false_patients)
 
-        # print(patient_score)
+        
+
+
+        patient_score = torch.stack(patient_score)
+        patient_target = torch.stack(patient_target)
+        # max_patient_score = torch.argmax(patient_score, dim=1)
         if self.n_classes <=2:
             patient_score = patient_score[:,1] 
-        patient_target = torch.stack(patient_target)
-        # print(patient_target)
-        # patient_target = torch.cat(patient_target)
-        # self.log_confusion_matrix(max_probs, target, stage='test', comment='patient')
-        self.log_roc_curve(patient_score, patient_target.squeeze(), stage='test')
 
         
+        self.log_confusion_matrix(patient_score, patient_target, stage='test', comment='patient')
+        # log roc curve
+
+        print(patient_score.shape)
+        print(patient_target.shape)
+        self.log_roc_curve(patient_score, patient_target.squeeze(), stage='test', comment='patient')
+        # log pr curve
+        self.log_pr_curve(patient_score, patient_target.squeeze(), stage='test')
+
+
+        # print(patient_score)
+        
+        
+
+        # res = bootstrap((patient_score.cpu().numpy(), patient_target.cpu().numpy()), sklearn.metrics.roc_auc_score, confidence_level=0.95, paired=True, vectorized=False)
+
+        # print('bootstrap AUC: ', res)
+        # patient_AUC = self.AUROC(patient_score, patient_target.squeeze())
+
+
+
+        print('Test Patient AUC: ', self.AUROC(patient_score, patient_target.squeeze()))
         if len(patient_target.unique()) != 1:
-            self.log('test_patient_auc', self.AUROC(patient_score, patient_target.squeeze()), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
+            self.log('test_patient_auc', self.AUROC(patient_score, patient_target.squeeze()).mean(), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         else:    
             self.log('test_patient_auc', 0.0, prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         
         self.log_dict(self.test_patient_metrics(patient_score, patient_target),
                           on_epoch = True, logger = True, sync_dist=True)
         
-        
-        self.log_pr_curve(patient_score, patient_target.squeeze(), stage='test')
-        
-        
-        
-
         #---->acc log
         for c in range(self.n_classes):
             count = self.data[c]["count"]
@@ -732,15 +786,13 @@ class ModelInterface(pl.LightningModule):
             print('test class {}: acc {}, correct {}/{}'.format(c, acc, correct, count))
         self.data = [{"count": 0, "correct": 0} for i in range(self.n_classes)]
         
-
-
-
-
         #---->random, if shuffle data, change seed
         if self.shuffle == True:
             self.count = self.count+1
             random.seed(self.count*50)
 
+        self.test_step_outputs.clear()  # free memory
+
     def configure_optimizers(self):
         # optimizer_ft = optim.Adam(self.model_ft.parameters(), lr=self.optimizer.lr*0.1)
         # optimizer = create_optimizer(self.optimizer, self.model)
@@ -752,7 +804,7 @@ class ModelInterface(pl.LightningModule):
             optimizer = create_optimizer(self.optimizer, self.model)
         # optimizer = PDSCA(self.model, loss_fn=self.loss, lr=self.optimizer.lr, margin=1.0, epoch_decay=2e-3, weight_decay=1e-5, device=self.device)
         # scheduler = {'scheduler': CosineAnnearlingLR(optimizer, mode='min', factor=0.5), 'monitor': 'val_loss', 'frequency': 5}
-        scheduler = {'scheduler': ReduceLROnPlateau(optimizer, mode='min', factor=0.1), 'monitor': 'val_loss', 'frequency': 10}
+        scheduler = {'scheduler': ReduceLROnPlateau(optimizer, mode='min', factor=0.5), 'monitor': 'val_loss', 'frequency': 10}
         # scheduler_aucm = {'scheduler': CosineAnnealingWarmRestarts(optimizer_aucm, T_0=20)}
         
         # return [optimizer_adam, optimizer_aucm], [scheduler_adam, scheduler_aucm]     
@@ -774,73 +826,68 @@ class ModelInterface(pl.LightningModule):
         # print(result.shape)
         return result
 
-    def load_model(self):
-        name = self.hparams.model.name
-        # Change the `trans_unet.py` file name to `TransUnet` class name.
-        # Please always name your model file name as `trans_unet.py` and
-        # class name or funciton name corresponding `TransUnet`.
-        if name == 'ViT':
-            self.model = ViT
+    
+    def save_results(self, complete_patient_dict, patient_target):
 
-        if '_' in name:
-            camel_name = ''.join([i.capitalize() for i in name.split('_')])
-        else:
-            camel_name = name
-        try:
-                
-            Model = getattr(importlib.import_module(
-                f'models.{name}'), camel_name)
-        except:
-            raise ValueError('Invalid Module File Name or Invalid Class Name!')
-        self.model = self.instancialize(Model)
+        # print(complete_patient_dict)
+        label_mapping = LABEL_MAP[self.task]
 
-        # if backbone == 'retccl':
 
-        #     self.model_ft = ResNet.resnet50(num_classes=self.n_classes, mlp=False, two_branch=False, normlinear=True)
-        #     home = Path.cwd().parts[1]
-        #     # self.model_ft.fc = nn.Identity()
-        #     # self.model_ft.load_from_checkpoint(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth', strict=False)
-        #     self.model_ft.load_state_dict(torch.load(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth'), strict=False)
-        #     for param in self.model_ft.parameters():
-        #         param.requires_grad = False
-        #     self.model_ft.fc = nn.Linear(2048, self.out_features)
+        patient_output_dict = {'PATIENT': [], 'yTrue': []}
+        for i in range(self.n_classes):
+            # print(LABEL_MAP[self.task])
+            class_label = LABEL_MAP[self.task][str(i)]
+            # if class_label not in patient_output_dict.keys():
+                # patient_output_dict[class_label] = []
+            class_scores = [complete_patient_dict[k]['patient_score'][i].cpu().numpy().item() for k in complete_patient_dict.keys()]
+            patient_output_dict[class_label] = class_scores
+            
+        patient_output_dict['PATIENT'] = list(complete_patient_dict.keys())
+        patient_output_dict['yTrue'] = [int(t.cpu().numpy()) for t in patient_target]
+
+        # json.dump(patient_output_dict, open(f'{self.loggers[0].log_dir}/results.json', 'w'))
+        out_df = pd.DataFrame.from_dict(patient_output_dict)
+        out_df.to_csv(f'{self.loggers[0].log_dir}/TEST_RESULT_PATIENT.csv')
+
+        slide_output_dict = {'SLIDE': [], 'yTrue': []}
         
-        # elif backbone == 'resnet50':
-        #     self.model_ft = resnet50_baseline(pretrained=True)
-        #     for param in self.model_ft.parameters():
-        #         param.requires_grad = False
+    
+        for v in label_mapping.values():
+            slide_output_dict[v] = []
+        print(slide_output_dict)
+        for p, t in zip(list(complete_patient_dict.keys()), patient_target):
+            # print(complete_patient_dict[p])
+            # target_label = label_mapping[str(t.item())]?
 
-        pass
+            # print(complete_patient_dict[p])
+            for i in complete_patient_dict[p]['scores']:
+                # pprint(complete_patient_dict[p][i])
+                # for x in complete_patient_dict[p][i]:
+                # print(i)
+                slide_name, score = i
 
-    def init_backbone(self):
-        self.backbone = 'retccl'
-        # import models.ResNet as ResNet
-        self.model_ft = ResNet.resnet50(num_classes=128, mlp=False, two_branch=False, normlinear=True)
-        home = Path.cwd().parts[1]
-        # pre_model = 
-        # self.model_ft.fc = nn.Identity()
-        # self.model_ft.load_from_checkpoint(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth', strict=False)
-        self.model_ft.load_state_dict(torch.load(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth'), strict=False)
-        for param in self.model_ft.parameters():
-            param.requires_grad = False
-        self.model_ft.fc = torch.nn.Identity()
-        self.model_ft.to(self.device)
+                score = score.cpu().numpy()
+                slide_output_dict['SLIDE'].append(slide_name)
+                # print(score)
+                for j in range(len(score)):
+                    class_label = label_mapping[str(j)]
+                    slide_output_dict[class_label].append(score[j])
+                    # print(score[j])
 
-    def instancialize(self, Model, **other_args):
-        """ Instancialize a model using the corresponding parameters
-            from self.hparams dictionary. You can also input any args
-            to overwrite the corresponding value in self.hparams.
-        """
-        class_args = inspect.getargspec(Model.__init__).args[1:]
-        inkeys = self.hparams.model.keys()
-        args1 = {}
-        for arg in class_args:
-            if arg in inkeys:
-                args1[arg] = getattr(self.hparams.model, arg)
-        args1.update(other_args)
+                slide_output_dict['yTrue'].append(t.item())
+
+        out_df = pd.DataFrame.from_dict(slide_output_dict)
+        out_df.to_csv(f'{self.loggers[0].log_dir}/TEST_RESULT_SLIDE.csv')
+
+
+        # slide_output_dict['SLIDE'] = list(complete_patient_dict)
+
+        # slide_output_dict = {'Slide': [], 'yPred': [], 'yTrue': []}
+
+        # for patient in complete_patient_dict: 
+            
 
 
-        return Model(**args1)
 
     def log_image(self, tensor, stage, name):
         
@@ -849,52 +896,204 @@ class ModelInterface(pl.LightningModule):
         tile = tile.astype(np.uint8)
         img = Image.fromarray(tile)
         self.loggers[0].experiment.add_figure(f'{stage}/{name}', img, self.current_epoch)
+        # self.logger.log_image(key=f'{stage}/{name}', images=img, caption=self.current_epoch)
+
+    def get_optimal_operating_point(self, fpr, tpr, thresholds):
+        '''
+        Returns: 
+            optimal_fpr [Tensor]
+            optimal_tpr [Tensor]
+            optimal_threshold [Float]
+        '''
+
+        youden_j = tpr - fpr
+        optimal_idx = torch.argmax(youden_j)
+        # print(youden_j[optimal_idx])
+        optimal_threshold = thresholds[optimal_idx].item()
+        # print(optimal_threshold)
+        optimal_tpr = tpr[optimal_idx]
+        optimal_fpr = fpr[optimal_idx]
+
+        return optimal_fpr, optimal_tpr, optimal_threshold
+
+    def log_topk_patients(self, patient_list, patient_scores, patient_target, thresh=[], stage='val',  k=10):
+        
+        # patient_target = np.array([i.item() for i in patient_target])
+        patient_target = torch.Tensor(patient_target)
+        patient_list = np.array(patient_list)
+
+        patient_scores = np.array([i.cpu().numpy() for i in patient_scores])
+        patient_scores = torch.Tensor(patient_scores)
+
+        for n in range(self.n_classes):
+
+            # print(n)
+
+            n_patients = patient_list[patient_target == n]
+            n_scores = [s[n] for s in patient_scores[patient_target == n]]
+            print(n_patients)
+
+            topk_csv_path = f'{self.loggers[0].log_dir}/{stage}_c{n}_top_patients.csv'
+
+            topk_scores, topk_indices = torch.topk(torch.Tensor(n_scores), k, dim=0)
 
+        #     # print(topk_indices)
+        #     # print(patient_list) 
+            
+            topk_scores = [i for i in topk_scores if i > thresh[n]]
+            topk_indices = topk_indices[:len(topk_scores)]
+            topk_patients = [n_patients[i] for i in topk_indices]
+
+            topk_df = pd.DataFrame({'Patient': topk_patients, 'Scores': topk_scores})
+            topk_df.to_csv(topk_csv_path, index=False)
+
+
+    def load_thresholds(self, probs, target, stage, comment=''):
+        threshold_csv_path = f'{self.loggers[0].log_dir}/val_thresholds.csv'
+        if not Path(threshold_csv_path).is_file():
+            thresh_df = pd.DataFrame({'slide': [0.5], 'patient': [0.5]})
+            thresh_df.to_csv(threshold_csv_path, index=False)
+
+        thresh_df = pd.read_csv(threshold_csv_path)
+        if stage != 'test':
+            if self.n_classes <= 2:
+                fpr_list, tpr_list, thresholds = self.ROC(probs, target)
+                optimal_fpr, optimal_tpr, optimal_threshold = self.get_optimal_operating_point(fpr_list, tpr_list, thresholds)
+                print(f'Optimal Threshold {stage} {comment}: ', optimal_threshold)
+                thresh_df.at[0, comment] =  optimal_threshold
+                thresh_df.to_csv(threshold_csv_path, index=False)
+            else: 
+                optimal_threshold = 0.5
+        elif stage == 'test': 
+            
+            optimal_threshold = thresh_df.at[0, comment]
+            print(f'Optimal Threshold {stage} {comment}: ', optimal_threshold)
+
+        return optimal_threshold
+
+    def log_confusion_matrix(self, probs, target, stage, comment=''): # threshold
+
+        # preds = torch.argmax(probs, dim=1)
+        # if self.n_classes <= 2:
+        #     probs = probs[:,1] 
+
+        # read threshold file
+        threshold_csv_path = f'{self.loggers[0].log_dir}/val_thresholds.csv'
+        if not Path(threshold_csv_path).is_file():
+            # thresh_dict = {'index': ['train', 'val'], 'columns': , 'data': [[0.5, 0.5], [0.5, 0.5]]}
+            thresh_df = pd.DataFrame({'slide': [0.5], 'patient': [0.5]})
+            thresh_df.to_csv(threshold_csv_path, index=False)
+
+        thresh_df = pd.read_csv(threshold_csv_path)
+        if stage != 'test':
+            if self.n_classes <= 2:
+                fpr_list, tpr_list, thresholds = self.ROC(probs, target)
+                optimal_fpr, optimal_tpr, optimal_threshold = self.get_optimal_operating_point(fpr_list, tpr_list, thresholds)
+                # print(f'Optimal Threshold {stage} {comment}: ', optimal_threshold)
+                thresh_df.at[0, comment] =  optimal_threshold
+                thresh_df.to_csv(threshold_csv_path, index=False)
+            else: 
+                optimal_threshold = 0.5
+        elif stage == 'test': 
+            
+            optimal_threshold = thresh_df.at[0, comment]
+            print(f'Optimal Threshold {stage} {comment}: ', optimal_threshold)
+            # optimal_threshold = 0.5 # manually change to val_optimal_threshold for testing
+
+        # print(confmat)
+        # confmat = self.confusion_matrix(preds, target, threshold=optimal_threshold)
+        if self.n_classes <= 2:
+            confmat = confusion_matrix(probs, target, task='binary', threshold=optimal_threshold)
+            
+        else:
+            confmat = confusion_matrix(probs, target, task='multiclass', num_classes=self.n_classes)
+        # print(stage, comment)
+        # print(confmat)
+        cm_labels = LABEL_MAP[self.task].values()
 
-    def log_confusion_matrix(self, max_probs, target, stage):
-        confmat = self.confusion_matrix(max_probs, target)
-        print(confmat)
-        df_cm = pd.DataFrame(confmat.cpu().numpy(), index=range(self.n_classes), columns=range(self.n_classes))
-        fig_ = sns.heatmap(df_cm, annot=True, fmt='d', cmap='Spectral').get_figure()
+        fig, ax = plt.subplots()
+
+        # df_cm = pd.DataFrame(confmat.cpu().numpy(), index=range(self.n_classes), columns=range(self.n_classes))
+        df_cm = pd.DataFrame(confmat.cpu().numpy(), index=cm_labels, columns=cm_labels)
+        # fig_ = sns.heatmap(df_cm, annot=True, fmt='d', cmap='Spectral').get_figure()
+        cm_plot = sns.heatmap(df_cm, annot=True, fmt='d', cmap='Spectral')
+        
+        # cm_plot = 
         if stage == 'train':
-            self.loggers[0].experiment.add_figure(f'{stage}/Confusion matrix', fig_, self.current_epoch)
+            self.loggers[0].experiment.add_figure(f'{stage}/Confusion matrix', cm_plot.figure, self.current_epoch)
+            if len(self.loggers) > 2:
+                self.loggers[2].log_image(key=f'{stage}/Confusion matrix', images=[cm_plot.figure], caption=[self.current_epoch])
+            # self.loggers[0].experiment.add_figure(f'{stage}/Confusion matrix', cm_plot.figure, self.current_epoch)
         else:
-            fig_.savefig(f'{self.loggers[0].log_dir}/cm_{stage}.png', dpi=400)
+            ax.set_title(f'{stage}_{comment}')
+            if comment: 
+                stage += f'_{comment}'
+            # fig_.savefig(f'{self.loggers[0].log_dir}/cm_{stage}.png', dpi=400)
+            cm_plot.figure.savefig(f'{self.loggers[0].log_dir}/{stage}_cm.png', dpi=400)
+
+        # fig.clf()
+        cm_plot.figure.clf()
 
-        fig_.clf()
 
-    def log_roc_curve(self, probs, target, stage, comment=''):
 
+    def log_roc_curve(self, probs, target, stage, comment=''):
+        
         fpr_list, tpr_list, thresholds = self.ROC(probs, target)
 
+        task_label_map = LABEL_MAP[self.task]
+
         # self.AUROC(out_probs, target.squeeze())
 
         fig, ax = plt.subplots(figsize=(6,6))
+
         if self.n_classes > 2:
-            auroc_score = multiclass_auroc(probs, target.squeeze(), num_classes=self.n_classes, average=None)
+            auroc_score = multiclass_auroc(probs, target, num_classes=self.n_classes, average=None)
             for i in range(len(fpr_list)):
+
+                class_label = task_label_map[str(i)]
+                color = COLOR_MAP[i]
                 
                 fpr = fpr_list[i].cpu().numpy()
                 tpr = tpr_list[i].cpu().numpy()
-                ax.plot(fpr, tpr, label=f'class_{i}, AUROC={auroc_score[i]}')
+                # ax.plot(fpr, tpr, label=f'class_{i}, AUROC={auroc_score[i]}')
+                df = pd.DataFrame(data = {'fpr': fpr, 'tpr': tpr})
+                line_plot = sns.lineplot(data=df, x='fpr', y='tpr', label=f'{class_label}={auroc_score[i]:.2f}', legend='full', color=color)
+            
         else: 
-            # print(fpr_list)
-            auroc_score = binary_auroc(probs, target.squeeze())
+            auroc_score = binary_auroc(probs, target)
+            color = COLOR_MAP[0]
+            
+            
+            # thresholds = thresholds.cpu().numpy()
 
+            optimal_fpr, optimal_tpr, optimal_threshold = self.get_optimal_operating_point(fpr_list, tpr_list, thresholds)
+            # 
             fpr = fpr_list.cpu().numpy()
             tpr = tpr_list.cpu().numpy()
-
-            # df = pd.DataFrame(data = {'fpr': fpr, 'tpr': tpr})
-            # line_plot = sns.lineplot(data=df, x='fpr', y='tpr', label=f'AUROC={auroc_score}', legend='full')
-            # sfig = line_plot.get_figure()
-
-            ax.plot(fpr, tpr, label=f'AUROC={auroc_score}')
+            optimal_fpr = optimal_fpr.cpu().numpy()
+            optimal_tpr = optimal_tpr.cpu().numpy()
+            # youden_j = tpr - fpr
+            # optimal_idx = np.argmax(youden_j)
+            # # print(youden_j[optimal_idx])
+            # # optimal_threshold = thresholds[optimal_idx]
+            # optimal_tpr = tpr[optimal_idx]
+            # optimal_fpr = fpr[optimal_idx]
+            
 
 
+            df = pd.DataFrame(data = {'fpr': fpr, 'tpr': tpr})
+            line_plot = sns.lineplot(data=df, x='fpr', y='tpr', label=f'AUROC={auroc_score:.2f}', legend='full', color=color)
+            # ax.plot(fpr, tpr, label=f'AUROC={auroc_score:.2f}', color=color)
+            # ax.plot([optimal_fpr, optimal_fpr], [0,1], linestyle='--', color='black', label=f'OOP={optimal_threshold}')
+            ax.plot([0, 1], [optimal_tpr, optimal_tpr], linestyle='--', color='black', label=f'OOP={optimal_threshold}')
+            ax.plot([optimal_fpr, optimal_fpr], [0, 1], linestyle='--', color='black')
+            # ax.plot(fpr, tpr, label=f'AUROC={auroc_score}')
+        ax.plot([0,1], [0,1], linestyle='--', color='red')
+        
         ax.set_xlim([0,1])
         ax.set_ylim([0,1])
-        ax.set_xlabel('False positive rate')
-        ax.set_ylabel('True positive rate')
+        ax.set_xlabel('False positive rate (1-specificity)')
+        ax.set_ylabel('True positive rate (sensitivity)')
         ax.set_title('ROC curve')
         ax.legend(loc='lower right')
         # plt.savefig(f'{self.loggers[0].log_dir}/roc.jpg')
@@ -902,8 +1101,14 @@ class ModelInterface(pl.LightningModule):
         if stage == 'train':
             self.loggers[0].experiment.add_figure(f'{stage}/ROC_{stage}', plt, self.current_epoch)
         else:
-            plt.savefig(f'{self.loggers[0].log_dir}/roc_{stage}.jpg', dpi=400)
-            # line_plot.figure.savefig(f'{self.loggers[0].log_dir}/roc_{stage}_sb.jpg')
+            # plt.savefig(f'{self.loggers[0].log_dir}/{stage}_roc.png', dpi=400)
+            line_plot.figure.savefig(f'{self.loggers[0].log_dir}/{stage}_{comment}_roc.png', dpi=400)
+            line_plot.figure.savefig(f'{self.loggers[0].log_dir}/{stage}_{comment}_roc.svg', format='svg')
+
+        line_plot.figure.clf()
+        # fig.clf()
+        
+
 
     def log_pr_curve(self, probs, target, stage, comment=''):
 
@@ -920,30 +1125,41 @@ class ModelInterface(pl.LightningModule):
         if self.n_classes > 2:
 
             precision, recall, thresholds = multiclass_precision_recall_curve(probs, target, num_classes=self.n_classes)
-            
-            # print(precision)
-            # print(recall)
+            task_label_map = LABEL_MAP[self.task]
             
             for i in range(len(precision)):
-                pr = precision[i].cpu().numpy()
-                re = recall[i].cpu().numpy()
-                ax.plot(re, pr, label=f'class_{i}')
+
+                class_label = task_label_map[str(i)]
+                color = COLOR_MAP[i]
+
+                re = recall[i]
+                pr = precision[i]
+                
+                partial_auc = _auc_compute(re, pr, 1.0)
+                df = pd.DataFrame(data = {'re': re.cpu().numpy(), 'pr': pr.cpu().numpy()})
+                line_plot = sns.lineplot(data=df, x='re', y='pr', label=f'{class_label}={partial_auc:.2f}', legend='full', color=color)
+
                 baseline = len(target[target==i]) / len(target)
-                ax.plot([0,1],[baseline, baseline], linestyle='--', label=f'Baseline_{i}')
+                ax.plot([0,1],[baseline, baseline], linestyle='--', label=f'Baseline={baseline:.2f}', color=color)
 
         else: 
             # print(fpr_list)
+            color = COLOR_MAP[0]
             precision, recall, thresholds = binary_precision_recall_curve(probs, target)
             baseline = len(target[target==1]) / len(target)
-            pr = precision.cpu().numpy()
-            re = recall.cpu().numpy()
-            ax.plot(re, pr)
+            
+            pr = precision
+            re = recall
+            partial_auc = _auc_compute(re, pr, 1.0)
+            # ax.plot(re, pr)
+            df = pd.DataFrame(data = {'re': re.cpu().numpy(), 'pr': pr.cpu().numpy()})
+            line_plot = sns.lineplot(data=df, x='re', y='pr', label=f'{partial_auc:.2f}', legend='full', color=color)
+            
         
-            ax.plot([0,1], [baseline, baseline], linestyle='--', label='Baseline')
+            ax.plot([0,1], [baseline, baseline], linestyle='--', label=f'Baseline={baseline:.2f}', color=color)
 
         ax.set_xlim([0,1])
         ax.set_ylim([0,1])
-
         ax.set_xlabel('Recall')
         ax.set_ylabel('Precision')
         ax.set_title('PR curve')
@@ -953,9 +1169,50 @@ class ModelInterface(pl.LightningModule):
         if stage == 'train':
             self.loggers[0].experiment.add_figure(f'{stage}/PR_{stage}', fig, self.current_epoch)
         else:
-            fig.savefig(f'{self.loggers[0].log_dir}/pr_{stage}.jpg', dpi=400)
+            # fig.savefig(f'{self.loggers[0].log_dir}/pr_{stage}.jpg', dpi=400)
+            line_plot.figure.savefig(f'{self.loggers[0].log_dir}/{stage}_pr.png', dpi=400)
+            line_plot.figure.savefig(f'{self.loggers[0].log_dir}/{stage}_pr.svg', format='svg')
 
-    
+        line_plot.figure.clf()
+
+    def load_model(self):
+        name = self.hparams.model.name
+        # Change the `trans_unet.py` file name to `TransUnet` class name.
+        # Please always name your model file name as `trans_unet.py` and
+        # class name or funciton name corresponding `TransUnet`.
+        if name == 'ViT':
+            self.model = ViT
+
+        if '_' in name:
+            camel_name = ''.join([i.capitalize() for i in name.split('_')])
+        else:
+            camel_name = name
+        try:
+                
+            Model = getattr(importlib.import_module(
+                f'models.{name}'), camel_name)
+        except:
+            raise ValueError('Invalid Module File Name or Invalid Class Name!')
+        self.model = self.instancialize(Model)
+
+        pass
+
+
+    def instancialize(self, Model, **other_args):
+        """ Instancialize a model using the corresponding parameters
+            from self.hparams dictionary. You can also input any args
+            to overwrite the corresponding value in self.hparams.
+        """
+        class_args = inspect.getargspec(Model.__init__).args[1:]
+        inkeys = self.hparams.model.keys()
+        args1 = {}
+        for arg in class_args:
+            if arg in inkeys:
+                args1[arg] = getattr(self.hparams.model, arg)
+        args1.update(other_args)
+
+
+        return Model(**args1)
 
 class View(nn.Module):
     def __init__(self, shape):
@@ -969,3 +1226,17 @@ class View(nn.Module):
         out = input.view(*self.shape)
         return out
 
+class RETCCL_FE(pl.LightningModule):
+    def __init__(self):
+        super(RETCCL_FE, self).__init__()
+        self.model_ft = ResNet.resnet50(num_classes=128, mlp=False, two_branch=False, normlinear=True)
+        home = Path.cwd().parts[1]
+        self.model_ft.load_state_dict(torch.load(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth'), strict=False)
+        for param in self.model_ft.parameters():
+            param.requires_grad = False
+        self.model_ft.fc = torch.nn.Identity()
+    
+    def forward(self, x):
+        return self.model_ft(x)
+
+    
diff --git a/code/models/model_interface_classic.py b/code/models/model_interface_classic.py
index d3eda00..d068487 100644
--- a/code/models/model_interface_classic.py
+++ b/code/models/model_interface_classic.py
@@ -11,6 +11,7 @@ from matplotlib import pyplot as plt
 import cv2
 from PIL import Image
 from pytorch_pretrained_vit import ViT
+from pprint import pprint
 
 #---->
 from MyOptimizer import create_optimizer
@@ -20,6 +21,7 @@ from utils.custom_resnet50 import resnet50_baseline
 
 from timm.loss import AsymmetricLossSingleLabel
 from timm.loss import LabelSmoothingCrossEntropy, SoftTargetCrossEntropy, JsdCrossEntropy
+from transformers import ViTForImageClassification
 from libauc.losses import AUCMLoss, AUCM_MultiLabel, CompositionalAUCLoss
 from libauc.optimizers import PESG, PDSCA
 #---->
@@ -28,6 +30,10 @@ import torch.nn as nn
 import torch.nn.functional as F
 import torchmetrics
 from torchmetrics.functional import stat_scores
+from torchmetrics.functional.classification import binary_auroc, multiclass_auroc, binary_precision_recall_curve, multiclass_precision_recall_curve, confusion_matrix
+from torchmetrics.utilities.compute import _auc_compute_without_check, _auc_compute
+
+
 from torch import optim as optim
 from torch.optim.lr_scheduler import ReduceLROnPlateau, CosineAnnealingWarmRestarts
 
@@ -54,6 +60,34 @@ from pytorch_grad_cam.utils.model_targets import ClassifierOutputTarget
 
 from captum.attr import LayerGradCam
 import models.ResNet as ResNet
+import timm
+
+LABEL_MAP = {
+    # 'bin': {'0': 0, '1': 1, '2': 1, '3': 1, '4': 1, '5': None},
+    # 'tcmr_viral': {'0': None, '1': 0, '2': None, '3': None, '4': 1, '5': None},
+    # 'no_viral': {'0': 0, '1': 1, '2': 2, '3': 3, '4': None, '5': None},
+    # 'no_other': {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': None},
+    # 'no_stable': {'0': None, '1': 1, '2': 2, '3': 3, '4': None, '5': None},
+    # 'all': {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5},
+    'rejections': {'0': 'TCMR', '1': 'ABMR', '2': 'Mixed'},
+    'norm_rest': {'0': 'Normal', '1': 'Disease'},
+    'rej_rest': {'0': 'Rejection', '1': 'Rest'},
+    'norm_rej_rest': {'0': 'Normal', '1': 'Rejection', '2': 'Rest'},
+
+}
+COLOR_MAP = ['#377eb8', '#ff7f00', '#4daf4a',
+                  '#f781bf', '#a65628', '#984ea3',
+                  '#999999', '#e41a1c', '#dede00']
+
+
+class VisionTransformerLogit():
+    def __init__(self, variant='vit_base_patch16_224', pretrained=True):
+        self.model = timm.create_model(variant, pretrained=pretrained)
+    
+    def forward(self, x):
+        x = self.model.forward_features(x)
+        x = self.model.forward_head(x, pre_logits=True) 
+        return x
 
 class FeatureExtractor(pl.LightningDataModule):
     def __init__(self, model_name, n_classes):
@@ -102,8 +136,8 @@ class ModelInterface_Classic(pl.LightningModule):
             self.save_path = '/'.join(temp)
 
         # if kargs['task']:
-        #     self.task = kargs['task']
-        self.task = Path(self.save_path).parts[3]
+        self.task = kargs['task']
+        # self.task = Path(self.save_path).parts[3]
 
 
         #---->acc
@@ -112,7 +146,7 @@ class ModelInterface_Classic(pl.LightningModule):
         # print(self.experiment)
         #---->Metrics
         if self.n_classes > 2: 
-            self.AUROC = torchmetrics.AUROC(task='multiclass', num_classes = self.n_classes, average='macro')
+            self.AUROC = torchmetrics.AUROC(task='multiclass', num_classes = self.n_classes, average=None)
             self.PRC = torchmetrics.PrecisionRecallCurve(task='multiclass', num_classes = self.n_classes)
             self.ROC = torchmetrics.ROC(task='multiclass', num_classes=self.n_classes)
             self.confusion_matrix = torchmetrics.ConfusionMatrix(task='multiclass', num_classes = self.n_classes) 
@@ -175,12 +209,12 @@ class ModelInterface_Classic(pl.LightningModule):
             # frozen_layers = 8
             # for child in self.model.children():
 
-            ct = 0
-            for child in self.model.children():
-                ct += 1
-                if ct < 7:
-                    for parameter in child.parameters():
-                        parameter.requires_grad=False
+            # ct = 0
+            # for child in self.model.children():
+            #     ct += 1
+            #     if ct < 7:
+            #         for parameter in child.parameters():
+            #             parameter.requires_grad=False
             self.model.fc = nn.Sequential(
                 nn.Linear(self.model.fc.in_features, self.n_classes),
             )
@@ -204,35 +238,53 @@ class ModelInterface_Classic(pl.LightningModule):
                 nn.Linear(512, self.n_classes)
             )
         elif self.model_name == 'vit':
-            self.model = ViT('B_32_imagenet1k', pretrained = True) #vis=vis
+            home = Path.cwd().parts[1]
+            # self.model = ViT('B_32_imagenet1k', pretrained = True) #vis=vis
+            self.model = timm.create_model('vit_base_patch16_224', pretrained=True, num_classes=self.n_classes)
+            # model = timm.create_model(“vit_base_patch16_224”, pretrained=True)
             for param in self.model.parameters():
                 param.requires_grad = False
-            self.model.fc = nn.Linear(self.model.fc.in_features, self.n_classes)
+            outputs_attrs = self.n_classes
+            num_inputs = self.model.head.in_features
+            last_layer = nn.Linear(num_inputs, outputs_attrs)
+            self.model.head = last_layer
+            # model_name_or_path = f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/vit-base-patch16-224/'
+            # 'code/models/ckpt/vit-base-patch16-224'
+            # self.model = ViTForImageClassification.from_pretrained(
+            #     model_name_or_path,
+            #     num_labels=self.n_classes,
+            #     # id2label={str(i): c for i, c in enumerate(self.n_classes)},
+            #     # label2id={c: str(i) for i, c in enumerate(self.n_classes)}
+            # )
+           # for param in self.model.parameters():
+            #     param.requires_grad = False
+            # self.model.fc = nn.Linear(self.model.fc.in_features, self.n_classes)
             # print(self.model)
             # input_size = 384
 
         elif self.model_name == 'resnet50':
         
-            self.model = resnet50_baseline(pretrained=True)
-            ct = 0
-            for child in self.model.children():
-                ct += 1
-                if ct < len(list(self.model.children())) - 10:
-                    for parameter in child.parameters():
-                        parameter.requires_grad=False
+            # self.model = resnet50_baseline(pretrained=True)
+            self.model = models.resnet50(weights='IMAGENET1K_V1')
+            # ct = 0
+            # for child in self.model.children():
+            #     ct += 1
+            #     if ct < len(list(self.model.children())) - 2:
+            #         for parameter in child.parameters():
+            #             parameter.requires_grad=False
             self.model.fc = nn.Sequential(
                 nn.Linear(self.model.fc.in_features, self.n_classes),
             )
             
         elif self.model_name == 'efficientnet':
-            efficientnet = torch.hub.load('NVIDIA/DeepLearningExamples:torchhub', 'nvidia_efficientnet_widese_b0', pretrained=True)
-            for param in efficientnet.parameters():
-                param.requires_grad = False
+            self.model = torch.hub.load('NVIDIA/DeepLearningExamples:torchhub', 'nvidia_efficientnet_widese_b0', pretrained=True)
+            # for param in efficientnet.parameters():
+            #     param.requires_grad = False
             # efn = list(efficientnet.children())[:-1]
-            efficientnet.classifier.fc = nn.Linear(1280, self.out_features)
-            self.model = nn.Sequential(
-                efficientnet,
-            )
+            self.model.classifier.fc = nn.Linear(1280, self.n_classes)
+            # self.model = nn.Sequential(
+            #     efficientnet,
+            # )
         elif self.model_name == 'simple': #mil-ab attention
             feature_extracting = False
             self.model = nn.Sequential(
@@ -251,7 +303,8 @@ class ModelInterface_Classic(pl.LightningModule):
 
     def forward(self, x):
         # print(x.shape)
-        x = x.squeeze(0)
+        if len(x.shape) > 4:
+            x = x.squeeze(0)
         # print(x.shape)
         return self.model(x)
 
@@ -260,6 +313,7 @@ class ModelInterface_Classic(pl.LightningModule):
         input = input.float()
         # input = input
         # logits, _ = self(input.contiguous()) 
+
         logits = self(input.contiguous())
         # logits = logits
         # print(F.softmax(logits))
@@ -287,7 +341,6 @@ class ModelInterface_Classic(pl.LightningModule):
         logits, Y_prob, Y_hat = self.step(input) 
 
         loss = self.loss(logits, label)
-
         
         for y, y_hat in zip(label, Y_hat):    
             y = int(y)
@@ -322,8 +375,13 @@ class ModelInterface_Classic(pl.LightningModule):
                 print('class {}: acc {}, correct {}/{}'.format(c, acc, correct, count))
         self.data = [{"count": 0, "correct": 0} for i in range(self.n_classes)]
 
+        if self.n_classes <=2:
+            out_probs = probs[:,1]
+        else: out_probs = probs
+
+
         if self.current_epoch % 10 == 0:
-            self.log_confusion_matrix(max_probs, target.squeeze(), stage='train')
+            self.log_confusion_matrix(out_probs, target.squeeze(), stage='train', comment='slide')
 
         # print(probs)
         # print(target)
@@ -385,15 +443,18 @@ class ModelInterface_Classic(pl.LightningModule):
 
         if self.n_classes <=2:
             out_probs = probs[:,1] 
+        else: out_probs = probs
+
+        self.log_confusion_matrix(out_probs, target, stage='val', comment='slide')
         if len(target.unique()) != 1:
-            self.log('val_auc', self.AUROC(out_probs, target).squeeze(), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
+            self.log('val_auc', self.AUROC(out_probs, target).squeeze().mean(), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
             # self.log('val_patient_auc', self.AUROC(patient_score, patient_target), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         else:    
             self.log('val_auc', 0.0, prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
 
 
 
-        self.log_confusion_matrix(max_probs, target.squeeze(), stage='val')
+        # self.log_confusion_matrix(max_probs, target.squeeze(), stage='val')
 
         #----> log per patient metrics
         complete_patient_dict = {}
@@ -411,7 +472,6 @@ class ModelInterface_Classic(pl.LightningModule):
                 complete_patient_dict[p][s] = []
             complete_patient_dict[p][s].append(pr)
             
-
         for p in complete_patient_dict.keys():
             score = []
             for slide in complete_patient_dict[p].keys():
@@ -438,8 +498,15 @@ class ModelInterface_Classic(pl.LightningModule):
         patient_target = torch.stack(patient_target)
         if self.n_classes <=2:
             patient_score = patient_score[:,1]
+
+        self.log_confusion_matrix(patient_score, patient_target, stage='val', comment='patient')
+
+        self.log_roc_curve(patient_score, patient_target.squeeze(), stage='val', comment='patient')
+        self.log_pr_curve(patient_score, patient_target.squeeze(), stage='val', comment='patient')
+
+        
         if len(patient_target.unique()) != 1:
-            self.log('val_patient_auc', self.AUROC(patient_score, patient_target.squeeze()), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
+            self.log('val_patient_auc', self.AUROC(patient_score, patient_target.squeeze()).mean(), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         else:    
             self.log('val_patient_auc', 0.0, prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         
@@ -478,15 +545,19 @@ class ModelInterface_Classic(pl.LightningModule):
         logits, Y_prob, Y_hat = self.step(input) 
 
         #---->acc log
-        Y = int(label)
+        # Y = int(label)
         # Y = torch.argmax(label)
-
-        # print(Y_hat)
-        self.data[Y]["count"] += 1
-        self.data[Y]["correct"] += (int(Y_hat) == Y)
+        for y, y_hat in zip(label, Y_hat):    
+            y = int(y)
+            # print(Y_hat)
+            self.data[y]["count"] += 1
+            self.data[y]["correct"] += (int(y_hat) == y)
+        # # print(Y_hat)
+        # self.data[Y]["count"] += 1
+        # self.data[Y]["correct"] += (int(Y_hat) == Y)
         # self.data[Y]["correct"] += (Y_hat.item() == Y)
 
-        return {'logits' : logits, 'Y_prob' : Y_prob, 'Y_hat' : Y_hat, 'label' : label, 'name': wsi_name, 'patient': patient}
+        return {'logits' : logits, 'Y_prob' : Y_prob, 'Y_hat' : Y_hat, 'label' : label, 'name': wsi_name, 'patient': patient, 'tile_name': batch_names}
 
     def test_epoch_end(self, output_results):
 
@@ -501,10 +572,8 @@ class ModelInterface_Classic(pl.LightningModule):
         for x in output_results:
             patients += list(x['patient'])
         tile_name = []
-        for x in output_results:
-            tile_name += list(x['tile_name'])
-
-
+        # for x in output_results:
+        #     tile_name += list(x['tile_name'])
 
         # logits = torch.cat([x['logits'] for x in output_results], dim = 0)
         # probs = torch.cat([x['Y_prob'] for x in output_results])
@@ -515,25 +584,30 @@ class ModelInterface_Classic(pl.LightningModule):
         
         self.log_dict(self.test_metrics(max_probs.squeeze(), target.squeeze()),
                           on_epoch = True, logger = True, sync_dist=True)
-        self.log('test_loss', cross_entropy_torch(logits.squeeze(), target.squeeze()), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
+        # self.log('test_loss', cross_entropy_torch(logits.squeeze(), target.squeeze()), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
 
         # if self.n_classes <=2:
         #     out_probs = probs[:,1] 
             # max_probs = max_probs[:,1]
 
+
         if self.n_classes <=2:
             out_probs = probs[:,1] 
+        else: out_probs = probs
+
         if len(target.unique()) != 1:
-            
-                self.log('test_auc', self.AUROC(out_probs, target.squeeze()), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
+        
+            # print(target.shape)
+            target = target.long()
+            self.log('test_auc', self.AUROC(out_probs, target.squeeze()).mean(), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
             # self.log('val_patient_auc', self.AUROC(patient_score, patient_target), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         else:    
             self.log('test_auc', 0.0, prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
 
-
+        
 
         #----> log confusion matrix
-        self.log_confusion_matrix(max_probs.squeeze(), target.squeeze(), stage='test')
+        self.log_confusion_matrix(out_probs, target, stage='test', comment='slide')
 
         #----> log per patient metrics
         complete_patient_dict = {}
@@ -573,25 +647,45 @@ class ModelInterface_Classic(pl.LightningModule):
             if len(score.shape) > 1:
                 score = torch.mean(score, dim=0)
             patient_score.append(score)    
+            complete_patient_dict[p]['patient_score'] = score
+
+
+        # print(complete_patient_dict)
+        self.save_results(complete_patient_dict, patient_target)
+
+        opt_threshold = self.load_thresholds(torch.stack(patient_score), torch.stack(patient_target), stage='test', comment='patient')
+        
+        if self.n_classes > 2:
+            opt_threshold = [0.5] * self.n_classes 
+        else: 
+            opt_threshold = [1-opt_threshold, opt_threshold]
+        # print(opt_threshold[1])
+        self.log_topk_patients(list(complete_patient_dict.keys()), patient_score, thresh=opt_threshold, stage='test')
+
 
         patient_score = torch.stack(patient_score)
         patient_target = torch.stack(patient_target)
         if self.n_classes <=2:
             patient_score = patient_score[:,1]
+        
+        self.log_confusion_matrix(patient_score, patient_target, stage='test', comment='patient')
+        # log roc curve
+        self.log_roc_curve(patient_score, patient_target.squeeze(), stage='test', comment='patient')
+        # log pr curve
+        self.log_pr_curve(patient_score, patient_target.squeeze(), stage='test')
+
+        print('Test Patient AUC: ', self.AUROC(patient_score, patient_target.squeeze()))
+
         if len(patient_target.unique()) != 1:
-            self.log('test_patient_auc', self.AUROC(patient_score, patient_target.squeeze()), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
+            self.log('test_patient_auc', self.AUROC(patient_score, patient_target.squeeze()).mean(), prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         else:    
             self.log('test_patient_auc', 0.0, prog_bar=True, on_epoch=True, logger=True, sync_dist=True)
         
-        self.log_dict(self.valid_patient_metrics(patient_score, patient_target),
+        self.log_dict(self.test_patient_metrics(patient_score, patient_target),
                           on_epoch = True, logger = True, sync_dist=True)
         
             
 
-        # precision, recall, thresholds = self.PRC(probs, target)
-
-        
-
         #---->acc log
         for c in range(self.n_classes):
             count = self.data[c]["count"]
@@ -700,47 +794,316 @@ class ModelInterface_Classic(pl.LightningModule):
         img = Image.fromarray(tile)
         self.loggers[0].experiment.add_figure(f'{stage}/{name}', img, self.current_epoch)
 
+    def get_optimal_operating_point(self, fpr, tpr, thresholds):
+        '''
+        Returns: 
+            optimal_fpr [Tensor]
+            optimal_tpr [Tensor]
+            optimal_threshold [Float]
+        '''
+
+        youden_j = tpr - fpr
+        optimal_idx = torch.argmax(youden_j)
+        # print(youden_j[optimal_idx])
+        optimal_threshold = thresholds[optimal_idx].item()
+        # print(optimal_threshold)
+        optimal_tpr = tpr[optimal_idx]
+        optimal_fpr = fpr[optimal_idx]
+
+        return optimal_fpr, optimal_tpr, optimal_threshold
+
+    def log_topk_patients(self, patient_list, patient_scores, thresh=[], stage='val',  k=10):
+        
+        for n in range(self.n_classes):
+            # p_scores = 
+            p_score = [x[n] for x in patient_scores]
+            topk_csv_path = f'{self.loggers[0].log_dir}/{stage}_c{n}_top_patients.csv'
+
 
-    def log_confusion_matrix(self, max_probs, target, stage):
-        confmat = self.confusion_matrix(max_probs, target)
+            topk_scores, topk_indices = torch.topk(torch.Tensor(p_score), k, dim=0)
+
+            # print(topk_indices)
+            # print(patient_list) 
+            
+            topk_scores = [i for i in topk_scores if i > thresh[n]]
+            topk_indices = topk_indices[:len(topk_scores)]
+            topk_patients = [patient_list[i] for i in topk_indices]
+
+            topk_df = pd.DataFrame({'Patient': topk_patients, 'Scores': topk_scores})
+            topk_df.to_csv(topk_csv_path, index=False)
+
+
+    def load_thresholds(self, probs, target, stage, comment=''):
+        threshold_csv_path = f'{self.loggers[0].log_dir}/val_thresholds.csv'
+        if not Path(threshold_csv_path).is_file():
+            thresh_df = pd.DataFrame({'slide': [0.5], 'patient': [0.5]})
+            thresh_df.to_csv(threshold_csv_path, index=False)
+
+        thresh_df = pd.read_csv(threshold_csv_path)
+        if stage != 'test':
+            if self.n_classes <= 2:
+                fpr_list, tpr_list, thresholds = self.ROC(probs, target)
+                optimal_fpr, optimal_tpr, optimal_threshold = self.get_optimal_operating_point(fpr_list, tpr_list, thresholds)
+                print(f'Optimal Threshold {stage} {comment}: ', optimal_threshold)
+                thresh_df.at[0, comment] =  optimal_threshold
+                thresh_df.to_csv(threshold_csv_path, index=False)
+            else: 
+                optimal_threshold = 0.5
+        elif stage == 'test': 
+            
+            optimal_threshold = thresh_df.at[0, comment]
+            print(f'Optimal Threshold {stage} {comment}: ', optimal_threshold)
+
+        return optimal_threshold
+
+    def log_confusion_matrix(self, probs, target, stage, comment=''):
+        # confmat = self.confusion_matrix(max_probs, target)
+        # print(confmat)
+        # df_cm = pd.DataFrame(confmat.cpu().numpy(), index=range(self.n_classes), columns=range(self.n_classes))
+        # fig_ = sns.heatmap(df_cm, annot=True, fmt='d', cmap='Spectral').get_figure()
+        # if stage == 'train':
+        #     self.loggers[0].experiment.add_figure(f'{stage}/Confusion matrix', fig_, self.current_epoch)
+        # else:
+        #     fig_.savefig(f'{self.loggers[0].log_dir}/cm_{stage}.png', dpi=400)
+
+        # fig_.clf()
+        threshold_csv_path = f'{self.loggers[0].log_dir}/val_thresholds.csv'
+        if not Path(threshold_csv_path).is_file():
+            # thresh_dict = {'index': ['train', 'val'], 'columns': , 'data': [[0.5, 0.5], [0.5, 0.5]]}
+            thresh_df = pd.DataFrame({'slide': [0.5], 'patient': [0.5]})
+            thresh_df.to_csv(threshold_csv_path, index=False)
+
+        thresh_df = pd.read_csv(threshold_csv_path)
+        if stage != 'test':
+            if self.n_classes <= 2:
+                fpr_list, tpr_list, thresholds = self.ROC(probs, target)
+                optimal_fpr, optimal_tpr, optimal_threshold = self.get_optimal_operating_point(fpr_list, tpr_list, thresholds)
+                # print(f'Optimal Threshold {stage} {comment}: ', optimal_threshold)
+                thresh_df.at[0, comment] =  optimal_threshold
+                thresh_df.to_csv(threshold_csv_path, index=False)
+            else: 
+                optimal_threshold = 0.5
+        elif stage == 'test': 
+            
+            optimal_threshold = thresh_df.at[0, comment]
+            print(f'Optimal Threshold {stage} {comment}: ', optimal_threshold)
+        if self.n_classes <= 2:
+            confmat = confusion_matrix(probs, target, task='binary', threshold=optimal_threshold)
+            
+        else:
+            confmat = confusion_matrix(probs, target, task='multiclass', num_classes=self.n_classes)
+        print(stage, comment)
         print(confmat)
-        df_cm = pd.DataFrame(confmat.cpu().numpy(), index=range(self.n_classes), columns=range(self.n_classes))
-        fig_ = sns.heatmap(df_cm, annot=True, fmt='d', cmap='Spectral').get_figure()
+        cm_labels = LABEL_MAP[self.task].values()
+
+        fig, ax = plt.subplots()
+
+        # df_cm = pd.DataFrame(confmat.cpu().numpy(), index=range(self.n_classes), columns=range(self.n_classes))
+        df_cm = pd.DataFrame(confmat.cpu().numpy(), index=cm_labels, columns=cm_labels)
+        # fig_ = sns.heatmap(df_cm, annot=True, fmt='d', cmap='Spectral').get_figure()
+        cm_plot = sns.heatmap(df_cm, annot=True, fmt='d', cmap='Spectral')
+        
+        # cm_plot = 
         if stage == 'train':
-            self.loggers[0].experiment.add_figure(f'{stage}/Confusion matrix', fig_, self.current_epoch)
+            self.loggers[0].experiment.add_figure(f'{stage}/Confusion matrix', cm_plot.figure, self.current_epoch)
+            if len(self.loggers) > 2:
+                self.loggers[2].log_image(key=f'{stage}/Confusion matrix', images=[cm_plot.figure], caption=[self.current_epoch])
+            # self.loggers[0].experiment.add_figure(f'{stage}/Confusion matrix', cm_plot.figure, self.current_epoch)
         else:
-            fig_.savefig(f'{self.loggers[0].log_dir}/cm_{stage}.png', dpi=400)
+            ax.set_title(f'{stage}_{comment}')
+            if comment: 
+                stage += f'_{comment}'
+            # fig_.savefig(f'{self.loggers[0].log_dir}/cm_{stage}.png', dpi=400)
+            cm_plot.figure.savefig(f'{self.loggers[0].log_dir}/{stage}_cm.png', dpi=400)
 
-        fig_.clf()
+        # fig.clf()
+        cm_plot.figure.clf()
 
     def log_roc_curve(self, probs, target, stage, comment=''):
-
+        
+        
         fpr_list, tpr_list, thresholds = self.ROC(probs, target)
-        # print(fpr_list)
-        # print(tpr_list)
 
-        plt.figure(1)
+        task_label_map = LABEL_MAP[self.task]
+
+        fig, ax = plt.subplots(figsize=(6,6))
+
         if self.n_classes > 2:
+            auroc_score = multiclass_auroc(probs, target, num_classes=self.n_classes, average=None)
             for i in range(len(fpr_list)):
+
+                class_label = task_label_map[str(i)]
+                color = COLOR_MAP[i]
+                
                 fpr = fpr_list[i].cpu().numpy()
                 tpr = tpr_list[i].cpu().numpy()
-                plt.plot(fpr, tpr, label=f'class_{i}')
+                # ax.plot(fpr, tpr, label=f'class_{i}, AUROC={auroc_score[i]}')
+                df = pd.DataFrame(data = {'fpr': fpr, 'tpr': tpr})
+                line_plot = sns.lineplot(data=df, x='fpr', y='tpr', label=f'{class_label}={auroc_score[i]:.2f}', legend='full', color=color)
+            
+        else: 
+            auroc_score = binary_auroc(probs, target)
+            color = COLOR_MAP[0]
+            
+            
+            # thresholds = thresholds.cpu().numpy()
+
+            optimal_fpr, optimal_tpr, optimal_threshold = self.get_optimal_operating_point(fpr_list, tpr_list, thresholds)
+            # 
+            fpr = fpr_list.cpu().numpy()
+            tpr = tpr_list.cpu().numpy()
+            optimal_fpr = optimal_fpr.cpu().numpy()
+            optimal_tpr = optimal_tpr.cpu().numpy()
+            # youden_j = tpr - fpr
+            # optimal_idx = np.argmax(youden_j)
+            # # print(youden_j[optimal_idx])
+            # # optimal_threshold = thresholds[optimal_idx]
+            # optimal_tpr = tpr[optimal_idx]
+            # optimal_fpr = fpr[optimal_idx]
+            
+
+
+            df = pd.DataFrame(data = {'fpr': fpr, 'tpr': tpr})
+            line_plot = sns.lineplot(data=df, x='fpr', y='tpr', label=f'AUROC={auroc_score:.2f}', legend='full', color=color)
+            # ax.plot(fpr, tpr, label=f'AUROC={auroc_score:.2f}', color=color)
+            # ax.plot([optimal_fpr, optimal_fpr], [0,1], linestyle='--', color='black', label=f'OOP={optimal_threshold}')
+            ax.plot([0, 1], [optimal_tpr, optimal_tpr], linestyle='--', color='black', label=f'OOP={optimal_threshold}')
+            ax.plot([optimal_fpr, optimal_fpr], [0, 1], linestyle='--', color='black')
+            # ax.plot(fpr, tpr, label=f'AUROC={auroc_score}')
+        ax.plot([0,1], [0,1], linestyle='--', color='red')
+        
+        ax.set_xlim([0,1])
+        ax.set_ylim([0,1])
+        ax.set_xlabel('False positive rate (1-specificity)')
+        ax.set_ylabel('True positive rate (sensitivity)')
+        ax.set_title('ROC curve')
+        ax.legend(loc='lower right')
+        # plt.savefig(f'{self.loggers[0].log_dir}/roc.jpg')
+
+        if stage == 'train':
+            self.loggers[0].experiment.add_figure(f'{stage}/ROC_{stage}', plt, self.current_epoch)
+        else:
+            # plt.savefig(f'{self.loggers[0].log_dir}/{stage}_roc.png', dpi=400)
+            line_plot.figure.savefig(f'{self.loggers[0].log_dir}/{stage}_roc_{comment}.png', dpi=400)
+            line_plot.figure.savefig(f'{self.loggers[0].log_dir}/{stage}_roc_{comment}.svg', format='svg')
+
+        line_plot.figure.clf()
+
+    def log_pr_curve(self, probs, target, stage, comment=''):
+
+        # fpr_list, tpr_list, thresholds = self.ROC(probs, target)
+        # precision, recall, thresholds = torchmetrics.functional.classification.multiclass_precision_recall_curve(probs, target, num_classes=self.n_classes)
+        # print(precision)
+        # print(recall)
+
+        # baseline = len(target[target==1]) / len(target)
+
+        # plt.figure(1)
+        fig, ax = plt.subplots(figsize=(6,6))
+        
+        if self.n_classes > 2:
+
+            precision, recall, thresholds = multiclass_precision_recall_curve(probs, target, num_classes=self.n_classes)
+            task_label_map = LABEL_MAP[self.task]
+            
+            for i in range(len(precision)):
+
+                class_label = task_label_map[str(i)]
+                color = COLOR_MAP[i]
+
+                re = recall[i]
+                pr = precision[i]
+                
+                partial_auc = _auc_compute(re, pr, 1.0)
+                df = pd.DataFrame(data = {'re': re.cpu().numpy(), 'pr': pr.cpu().numpy()})
+                line_plot = sns.lineplot(data=df, x='re', y='pr', label=f'{class_label}={partial_auc:.2f}', legend='full', color=color)
+
+                baseline = len(target[target==i]) / len(target)
+                ax.plot([0,1],[baseline, baseline], linestyle='--', label=f'Baseline={baseline:.2f}', color=color)
+
         else: 
             # print(fpr_list)
-            fpr = fpr_list[0].cpu().numpy()
-            tpr = tpr_list[0].cpu().numpy()
-            plt.plot(fpr, tpr)
+            color = COLOR_MAP[0]
+            precision, recall, thresholds = binary_precision_recall_curve(probs, target)
+            baseline = len(target[target==1]) / len(target)
+            
+            pr = precision
+            re = recall
+            partial_auc = _auc_compute(re, pr, 1.0)
+            # ax.plot(re, pr)
+            df = pd.DataFrame(data = {'re': re.cpu().numpy(), 'pr': pr.cpu().numpy()})
+            line_plot = sns.lineplot(data=df, x='re', y='pr', label=f'{partial_auc:.2f}', legend='full', color=color)
+            
         
-        plt.xlabel('False positive rate')
-        plt.ylabel('True positive rate')
-        plt.title('ROC curve')
-        plt.savefig(f'{self.loggers[0].log_dir}/roc.jpg')
+            ax.plot([0,1], [baseline, baseline], linestyle='--', label=f'Baseline={baseline:.2f}', color=color)
+
+        ax.set_xlim([0,1])
+        ax.set_ylim([0,1])
+        ax.set_xlabel('Recall')
+        ax.set_ylabel('Precision')
+        ax.set_title('PR curve')
+        ax.legend(loc='lower right')
+        # plt.savefig(f'{self.loggers[0].log_dir}/pr_{stage}.jpg')
 
         if stage == 'train':
-            self.loggers[0].experiment.add_figure(f'{stage}/ROC_{comment}', plt, self.current_epoch)
+            self.loggers[0].experiment.add_figure(f'{stage}/PR_{stage}', fig, self.current_epoch)
         else:
-            plt.savefig(f'{self.loggers[0].log_dir}/roc_{comment}.jpg', dpi=400)
+            # fig.savefig(f'{self.loggers[0].log_dir}/pr_{stage}.jpg', dpi=400)
+            line_plot.figure.savefig(f'{self.loggers[0].log_dir}/{stage}_pr.png', dpi=400)
+            line_plot.figure.savefig(f'{self.loggers[0].log_dir}/{stage}_pr.svg', format='svg')
+
+        line_plot.figure.clf()
+
+    def save_results(self, complete_patient_dict, patient_target):
+
+        patient_output_dict = {'PATIENT': [], 'yTrue': []}
+        slide_output_dict = {'SLIDE': [], 'yTrue': []}
+        for i in range(self.n_classes):
+            # print(LABEL_MAP[self.task])
+            class_label = LABEL_MAP[self.task][str(i)]
+            # if class_label not in patient_output_dict.keys():
+                # patient_output_dict[class_label] = []
+            class_scores = [complete_patient_dict[k]['patient_score'][i].cpu().numpy().item() for k in complete_patient_dict.keys()]
+            patient_output_dict[class_label] = class_scores
+            slide_output_dict[class_label] = []
+            
+        patient_output_dict['PATIENT'] = list(complete_patient_dict.keys())
+        patient_output_dict['yTrue'] = [int(t.cpu().numpy()) for t in patient_target]
 
+        # json.dump(patient_output_dict, open(f'{self.loggers[0].log_dir}/results.json', 'w'))
+        out_df = pd.DataFrame.from_dict(patient_output_dict)
+        out_df.to_csv(f'{self.loggers[0].log_dir}/TEST_RESULT_PATIENT.csv')
+
+        
+        label_mapping = LABEL_MAP[self.task]
+    
+        for v in label_mapping.values():
+            slide_output_dict[v] = []
+        for p, t in zip(list(complete_patient_dict.keys()), patient_target):
+            # print(complete_patient_dict[p])
+            slide_target = label_mapping[str(t.item())]
+
+            for slide in complete_patient_dict[p].keys():
+                if slide != 'patient_score':
+                    slide_output_dict['SLIDE'].append(slide)
+                    slide_output_dict['yTrue'].append(slide_target)
+                    
+                    # if len(complete_patient_dict[p][slide]) > 1:    
+                    slide_score = torch.stack(complete_patient_dict[p][slide]).mean(dim=0).cpu().numpy()
+                    # else: slide_score = complete_patient_dict[p][slide][0]
+                    # score = score.cpu().numpy()[[]
+                    # score = score.cpu().numpy()[[]
+                    # print(score)]
+                    for j in range(len(slide_score)):
+                        class_label = label_mapping[str(j)]
+                        slide_output_dict[class_label].append(slide_score[j])
+                        
+                    
+
+
+       
+        out_df = pd.DataFrame.from_dict(slide_output_dict)
+        out_df.to_csv(f'{self.loggers[0].log_dir}/TEST_RESULT_SLIDE.csv')
     
 
 class View(nn.Module):
diff --git a/code/plotter.ipynb b/code/plotter.ipynb
new file mode 100644
index 0000000..5c241ee
--- /dev/null
+++ b/code/plotter.ipynb
@@ -0,0 +1,88 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from visualize_mil import Visualize\n",
+    "import torch.nn as nn\n",
+    "from pathlib import Path\n",
+    "\n",
+    "home = Path.cwd().parts[1]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "['/homeStor1/ylan/workspace/TransMIL-DeepGraft/logs/DeepGraft/TransMIL/norm_rest/_features_CrossEntropyLoss/lightning_logs/version_760/checkpoints/epoch=10-val_loss=0.5929-val_auc=0.8765-val_patient_auc= 0.8953.ckpt']\n"
+     ]
+    }
+   ],
+   "source": [
+    "model_name = 'TransMIL'\n",
+    "task = 'norm_rest'\n",
+    "version = 760\n",
+    "epoch = 10\n",
+    "log_dir = Path(f'/{home}/ylan/workspace/TransMIL-DeepGraft/logs/')\n",
+    "ckpt_path = log_dir / 'DeepGraft' / model_name / task / '_features_CrossEntropyLoss/lightning_logs' / f'version_{version}' / 'checkpoints'\n",
+    "\n",
+    "# print(ckpt_path)\n",
+    "model_paths = list(ckpt_path.glob('*.ckpt'))\n",
+    "if epoch == 'last':\n",
+    "        model_paths = [str(model_path) for model_path in model_paths if f'last' in str(model_path)]\n",
+    "else:\n",
+    "    model_paths = [str(model_path) for model_path in model_paths if f'epoch={epoch}' in str(model_path)]\n",
+    "\n",
+    "print(model_paths)\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "torch",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.9.13"
+  },
+  "orig_nbformat": 4,
+  "vscode": {
+   "interpreter": {
+    "hash": "7b7fb95db5714bbf59d6a04f6057e8fa5746fef9d16f5c42f2fdbc713170171a"
+   }
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/code/sustainability_plot.ipynb b/code/sustainability_plot.ipynb
new file mode 100644
index 0000000..e69de29
diff --git a/code/sustainability_test.py b/code/sustainability_test.py
new file mode 100644
index 0000000..b7ff094
--- /dev/null
+++ b/code/sustainability_test.py
@@ -0,0 +1,135 @@
+import torch
+import torch.nn as nn
+import numpy as np
+import argparse
+import time
+from tqdm import tqdm
+# from torchvision.datasets import Dataset
+from torch.utils.data import random_split, Dataset, DataLoader
+from experiment_impact_tracker.compute_tracker import ImpactTracker
+
+from models.ResNet import resnet50
+from models import TransMIL, CLAM_MB
+import timm
+
+class CustomImageDataset(Dataset):
+    def __init__(self, data_size=1000, bag_size=1000, feature_size=2048, device='cpu', mode='features'):
+        self.data_size = data_size
+        self.bag_size = bag_size
+        self.device = device
+        self.mode = mode
+        self.feature_size = feature_size
+        # self.data = torch.rand([self.bag_size, 3, 224, 224])
+
+    def __len__(self):
+        return self.data_size
+
+    def __getitem__(self, idx):
+
+        label = torch.randint(1, (1,1)).to(device)
+        if self.mode == 'features':
+          bag = torch.rand([self.bag_size, self.feature_size]).to(device)
+        else:
+            bag = torch.rand([self.bag_size, 3, self.feature_size, self.feature_size]).to(device)
+        return bag, label
+
+def make_parse():
+    parser = argparse.ArgumentParser()
+    parser.add_argument('--model', default='TransMIL', type=str)
+
+    args = parser.parse_args()
+    return args
+
+if __name__ == '__main__':
+
+    from utils.custom_resnet50 import resnet50_baseline
+    from torchvision import models
+
+    tracker = ImpactTracker(f'co2log/')
+    tracker.launch_impact_monitor()
+
+
+    args = make_parse()
+
+    model_name = args.model
+    n_classes = 2
+
+    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
+
+    if model_name == 'TransMIL':
+        in_features = 2048
+        model = TransMIL(n_classes=n_classes, in_features=2048)
+        mode = 'features'
+        feature_size = in_features
+    elif model_name == 'RetCCL':
+        model = resnet50(num_classes=128, mlp=False, two_branch=False, normlinear=True)
+        model.fc = torch.nn.Identity()
+        model.load_state_dict(torch.load('models/ckpt/retccl_best_ckpt.pth'), strict=False)
+        mode = 'images'
+        feature_size = 224
+    elif model_name == 'resnet50':
+        model = models.resnet50(weights='IMAGENET1K_V1')
+        model.fc = nn.Linear(model.fc.in_features, 1024)
+        for param in model.parameters():
+            param.requires_grad = False
+        # model.load_state_dict(torch.load('models/ckpt/retccl_best_ckpt.pth'), strict=False)
+        mode = 'images'
+        feature_size = 224
+    elif model_name == 'vit':
+        model = timm.create_model('vit_base_patch16_224', pretrained=True, num_classes=n_classes)
+        for param in model.parameters():
+            param.requires_grad = False
+        outputs_attrs = n_classes
+        num_inputs = model.head.in_features
+        last_layer = nn.Linear(num_inputs, outputs_attrs)
+        model.head = last_layer
+        mode = 'images'
+        feature_size = 224
+    elif model_name == 'inception':
+        model = torch.hub.load('pytorch/vision:v0.10.0', 'inception_v3', weights='Inception_V3_Weights.DEFAULT')
+        model.aux_logits = False
+        for param in model.parameters():
+            param.requires_grad = False
+        model.fc = nn.Linear(model.fc.in_features, n_classes)
+        mode = 'images'
+        feature_size = 384
+    elif model_name == 'clam':
+        model = CLAM_MB(n_classes = n_classes)
+        mode = 'features'
+        feature_size = 1024
+    model = model.to(device)
+    # test_data = torch.rand([1000,3,224,224]).to(device)
+
+    dataset = CustomImageDataset(data_size=1000, device=device, mode=mode, feature_size=feature_size)
+    dataloader = DataLoader(dataset, batch_size=1)
+
+    epochs = 1
+    for e in range(epochs):
+        start = time.time()
+        for item in tqdm(dataloader):
+            # print(i)
+            bag, label = item
+            bag.to(device)
+            if len(bag.shape) > 4:
+                bag = bag.squeeze()
+            label.to(device)
+            if model_name == 'clam':
+                bag = bag.squeeze(0)
+            with torch.cuda.amp.autocast():
+                features = model(bag)
+        end = time.time()
+        print('Epoch Time: ', end-start)
+
+    tracker.stop()
+    from experiment_impact_tracker.data_interface import DataInterface
+    data_interface = DataInterface(['co2log'])
+    kg_carbon = data_interface.kg_carbon
+    print(kg_carbon)
+
+    '''Netherlands'''
+
+    txt_path = f'../test/co2_emission/{model_name}.txt'
+    with open(txt_path, 'w') as f:
+        f.write('Emissions calculated for 1000 slides, 1000 patches/slide. \n')
+        f.write(f'{model_name}: {kg_carbon}kg\n')
+    
\ No newline at end of file
diff --git a/code/test_visualize.py b/code/test_visualize.py
index 623066e..af32ab2 100644
--- a/code/test_visualize.py
+++ b/code/test_visualize.py
@@ -30,96 +30,98 @@ import pandas as pd
 import json
 import pprint
 
+from torchmetrics.functional.classification import binary_auroc, multiclass_auroc, binary_precision_recall_curve, multiclass_precision_recall_curve
 
-#--->Setting parameters
-def make_parse():
-    parser = argparse.ArgumentParser()
-    parser.add_argument('--stage', default='test', type=str)
-    parser.add_argument('--config', default='../DeepGraft/TransMIL.yaml',type=str)
-    parser.add_argument('--version', default=0,type=int)
-    parser.add_argument('--epoch', default='0',type=str)
-    parser.add_argument('--gpus', default = 0, type=int)
-    parser.add_argument('--loss', default = 'CrossEntropyLoss', type=str)
-    parser.add_argument('--fold', default = 0)
-    parser.add_argument('--bag_size', default = 10000, type=int)
 
-    args = parser.parse_args()
-    return args
 
-class custom_test_module(ModelInterface):
 
-    # self.task = kargs['task']    
-    # self.task = 'tcmr_viral'
+class InferenceModel(nn.Module):
+    def __init__(self, feature_model, mil_model):
+        super(InferenceModel, self).__init__()
 
-    # def forward(self, x):
-    #     batch_size = x.shape[0]
-    #     bag_size = x.shape[1]
-    #     x = x.view(batch_size*bag_size, x.shape[2], x.shape[3], x.shape[4])
-    #     feats = self.model_ft(x).unsqueeze(0)
-    #     feats = feats.view(batch_size, bag_size, -1)
-    #     return self.model(feats)
+        self.feature_model = feature_model
+        self.mil_model = mil_model
 
+    def forward(self, x):
 
+        
+        # batch_size = x.shape[0]
+        bag_size = x.shape[0]
+        # bag = x.view(batch_size*bag_size, x.shape[2], x.shape[3], x.shape[4])
+        feats = self.feature_model(x).unsqueeze(0).unsqueeze(0)
+        # print(feats.shape)
+        # feats = feats.view(batch_size, bag_size, -1)
+        logits = self.mil_model(feats)
 
+        return logits
 
-    def test_step(self, batch, batch_idx):
 
-        print('custom: ', self.backbone)
-        print(self.model_ft.device)
-        
 
-        torch.set_grad_enabled(True)
 
-        input, label, (wsi_name, patient) = batch
+class RETCCL_FE(pl.LightningModule):
+    def __init__(self):
+        self.model_ft = ResNet.resnet50(num_classes=128, mlp=False, two_branch=False, normlinear=True)
+        home = Path.cwd().parts[1]
+        # pre_model = 
+        # self.model_ft.fc = nn.Identity()
+        # self.model_ft.load_from_checkpoint(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth', strict=False)
+        self.model_ft.load_state_dict(torch.load(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth'), strict=False)
+        for param in self.model_ft.parameters():
+            param.requires_grad = False
+        self.model_ft.fc = torch.nn.Identity()
+        # self.model_ft.to(self.device)
+    
+    def forward(self, x):
+        return self.model_ft(x)
         
-        print(input.device)
-        # input, label, (wsi_name, batch_names, patient) = batch
-        # label = label.float()
-        # 
-        # feature extraction
-        x = input
-        batch_size = x.shape[0]
-        bag_size = x.shape[1]
-        # new_shape = (batch_size*bag_size, x.shape[2], x.shape[3], x.shape[4])
-        # x = x.view(new_shape)
-        x = x.view(batch_size*bag_size, x.shape[2], x.shape[3], x.shape[4])
-        data_ft = self.model_ft(x).unsqueeze(0)
-        data_ft = data_ft.view(batch_size, bag_size, -1)
-
-        logits = self.model(data_ft) 
-        Y_hat = torch.argmax(logits, dim=1)
-        Y_prob = F.softmax(logits, dim = 1)
-        # logits, Y_prob, Y_hat = self.model(data_ft) 
-        loss = self.loss(logits, label)
+# def reshape_transform(tensor, height=14, width=14):
+#     result = tensor[:, 1 :  , :].reshape(tensor.size(0),
+#         height, width, tensor.size(2))
+
+#     # Bring the channels to the first dimension,
+#     # like in CNNs.
+#     result = result.transpose(2, 3).transpose(1, 2)
+#     return result
+
+def reshape_transform(tensor):
+    # print(tensor.shape)
+    H = tensor.shape[1]
+    _H, _W = int(np.ceil(np.sqrt(H))), int(np.ceil(np.sqrt(H)))
+    add_length = _H * _W - H
+    tensor = torch.cat([tensor, tensor[:,:add_length,:]],dim = 1)
+    result = tensor[:, :, :].reshape(tensor.size(0), _H, _W, tensor.size(2))
+    result = result.transpose(2,3).transpose(1,2)
+    # print(result.shape)
+    return result
 
-        # input_data, label, (wsi_name, batch_names, patient) = batch
-        # patient = patient[0]
-        # wsi_name = wsi_name[0]
-        # label = label.float()
-        # # logits, Y_prob, Y_hat = self.step(data) 
-        # # print(data.shape)
-        # input_data = input_data.squeeze(0).float()
-        # # print(self.model_ft)
-        # # print(self.model)
-        # logits, _ = self(input_data)
-        # # attn = attn.detach()
-        # # logits = logits.detach()
+class custom_test_module(ModelInterface):
 
-        # Y = torch.argmax(label)
-        # Y_hat = torch.argmax(logits, dim=1)
-        # Y_prob = F.softmax(logits, dim=1)
 
-        
+    def test_step(self, batch, batch_idx):
 
-        # print('Y_hat:', Y_hat)
-        # print('Y_prob:', Y_prob)
+        torch.set_grad_enabled(True)
+
+        input, label, (wsi_name, batch_coords, patient) = batch
+        
+        # feature extraction
+        # x = input
+        # batch_size = x.shape[0]
+        # bag_size = x.shape[1]
+        # x = x.view(batch_size*bag_size, x.shape[2], x.shape[3], x.shape[4])
+        # data_ft = self.test_model_ft(x).unsqueeze(0)
+        # data_ft = data_ft.view(batch_size, bag_size, -1)
+
+        # prediction
+        logits, Y_prob, Y_hat = self.step(input) 
+        loss = self.loss(logits, label)
 
         
         #----> Get GradCam maps, map each instance to attention value, assemble, overlay on original WSI 
         if self.model_name == 'TransMIL':
+            print(self.model.layer2.norm)
             target_layers = [self.model.layer2.norm] # 32x32
             # target_layers = [self.model_ft[0].features[-1]] # 32x32
-            self.cam = GradCAM(model=self.model, target_layers = target_layers, use_cuda=True, reshape_transform=self.reshape_transform) #, reshape_transform=self.reshape_transform
+            self.cam = GradCAM(model=self.model, target_layers = target_layers, use_cuda=True, reshape_transform=reshape_transform) #, reshape_transform=self.reshape_transform
             # self.cam_ft = GradCAM(model=self.model, target_layers = target_layers_ft, use_cuda=True) #, reshape_transform=self.reshape_transform
         elif self.model_name == 'TransformerMIL':
             target_layers = [self.model.layer1.norm]
@@ -139,16 +141,22 @@ class custom_test_module(ModelInterface):
         target = [ClassifierOutputTarget(Y)]
         # print(target)
         
-        grayscale_cam = self.cam(input_tensor=data_ft, targets=target, eigen_smooth=True)
+        
+        print(input)
+        input.requires_grad=True
+        grayscale_cam = self.cam(input_tensor=input, targets=target, eigen_smooth=True)
         grayscale_cam = torch.Tensor(grayscale_cam)[:instance_count, :] #.to(self.device)
 
         #----------------------------------------------------
         # Get Topk Tiles and Topk Patients
         #----------------------------------------------------
         k = 10
-        summed = torch.mean(grayscale_cam, dim=2)
-        topk_tiles, topk_indices = torch.topk(summed.squeeze(0), k, dim=0)
-        topk_data = input[topk_indices].detach()
+        # summed = torch.mean(grayscale_cam, dim=2)
+        if self.n_classes == 2:
+            topk_tiles, topk_indices = torch.topk(logits[:, 1], k, dim=0)
+        # topk_tiles, topk_indices = torch.topk(summed.squeeze(0), k, dim=0)
+        topk_coords = batch_coords[topk_indices]
+        # topk_data = input[topk_indices].detach()
         # print(topk_tiles)
         
         #----------------------------------------------------
@@ -168,7 +176,7 @@ class custom_test_module(ModelInterface):
         # self.save_attention_map(wsi_name, batch_names, grayscale_cam, target=Y)
         # print('test_step_patient: ', patient)
 
-        return {'logits' : logits, 'Y_prob' : Y_prob, 'Y_hat' : Y_hat, 'label' : Y, 'name': wsi_name, 'patient': patient, 'topk_data': topk_data} #
+        return {'logits' : logits, 'Y_prob' : Y_prob, 'Y_hat' : Y_hat, 'label' : Y, 'name': wsi_name, 'patient': patient, 'topk_coords': topk_coords} #
         # return {'logits' : logits, 'Y_prob' : Y_prob, 'Y_hat' : Y_hat, 'label' : label, 'name': name} #, 'topk_data': topk_data
 
     def test_epoch_end(self, output_results):
@@ -186,7 +194,9 @@ class custom_test_module(ModelInterface):
         slide_names = [x['name'] for x in output_results]
         patients = [x['patient'] for x in output_results]
         loss = torch.stack([x['loss'] for x in output_results])
+        topk_coords = torch.cat([x['topk_coords'] for x in output_results])
         #---->
+        print(topk_coords)
 
         self.log_dict(self.test_metrics(max_probs.squeeze(), target.squeeze()),
                           on_epoch = True, logger = True, sync_dist=True)
@@ -355,37 +365,78 @@ class custom_test_module(ModelInterface):
 
     def save_attention_map(self, wsi_name, batch_names, grayscale_cam, target):
 
-        # def get_coords(batch_names): #ToDO: Change function for precise coords
-        #     coords = []
-            
-        #     for tile_name in batch_names: 
-        #         pos = re.findall(r'\((.*?)\)', tile_name[0])
-        #         x, y = pos[-1].split('_')
-        #         coords.append((int(x),int(y)))
-        #     return coords
+    # def get_coords(batch_names): #ToDO: Change function for precise coords
+    #     coords = []
+        
+    #     for tile_name in batch_names: 
+    #         # print(tile_name)
+    #         pos = re.findall(r'\((.*?)\)', tile_name)
+    #         # print(pos)
+    #         x, y = pos[-1].split('-')
+    #         # print(x, y)
+    #         coords.append((int(x),int(y)))
+
+    #     return coords
+
+        def get_coords(batch_names):
+            coords = []
+            batch_names = batch_names.squeeze(0)
+            for i in range(batch_names.shape[0]): 
+                c = batch_names[i, :]
+                # print(c)
+                x = c[0]
+                y = c[1]
+                coords.append((int(x),int(y)))
+            return coords
 
         home = Path.cwd().parts[1]
         jpg_dir = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated/Aachen_Biopsy_Slides/BLOCKS'
+        save_path = Path(f'/{home}/ylan/workspace/TransMIL-DeepGraft/test/img/')
 
-        coords = batch_names.squeeze()
+        coords = get_coords(batch_names)
         data = []
-        for co in coords:
-
-            tile_path =  Path(jpg_dir) / wsi_name / f'{wsi_name}_({co[0]}_{co[1]}).jpg'
-            img = np.asarray(Image.open(tile_path)).astype(np.uint8)
-            img = torch.from_numpy(img)
-            # print(img.shape)
-            data.append(img)
-        # coords_set = set(coords)
-        # data = data.unsqueeze(0)
-        # print(data.shape)
-        data = torch.stack(data)
-        # print(data.max())
-        # print(data.min())
-        # print(coords)
-        # temp_data = data.cpu()
-        # print(data.shape)
-        wsi = self.assemble(data, coords).cpu().numpy()
+
+        position_dict = {}
+        assembled = []
+        # for tile in self.predictions:
+        count = 0
+        white_value = 0
+        x_max = max([x[0] for x in coords])
+        y_max = max([x[1] for x in coords])
+
+        for i, (x,y) in enumerate(coords):
+            if x not in position_dict.keys():
+
+                position_dict[x] = [(y, i)]
+            else: position_dict[x].append((y, i))
+
+        test_img_compl = torch.ones([(y_max+1)*224, (x_max+1)*224, 3])
+        for i in range(x_max+1):
+            if i in position_dict.keys():
+                for j in position_dict[i]:
+                    
+                    # sample_idx = j[1]
+                    # print(coords[j[1]])
+                    co = coords[j[1]]
+                    tile_path =  Path(jpg_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(tile_path)).astype(np.uint8)
+                    img = img / 255.0
+                    img = torch.from_numpy(img)
+                    y_coord = int(j[0])
+                    x_coord = int(i)
+                    test_img_compl[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224, :] = img
+        
+        wsi = test_img_compl
+        # wsi = assemble(wsi_name, coords, device=device)
+        # print(wsi)
+        wsi_out = ((wsi-wsi.min())/(wsi.max()-wsi.min()) * 255.0).numpy().astype(np.uint8)
+        img = Image.fromarray(wsi_out)
+        img = img.convert('RGB')
+        size = (20000, 20000)
+        img.thumbnail(size, Image.Resampling.LANCZOS)
+        output_path = save_path / str(target.item())
+        output_path.mkdir(parents=True, exist_ok=True)
+        img.save(f'{output_path}/{wsi_name}.png')
         # wsi = (wsi-wsi.min())/(wsi.max()-wsi.min())
         # wsi = wsi
         # print(coords)
@@ -393,13 +444,17 @@ class custom_test_module(ModelInterface):
         #--> Get interpolated mask from GradCam
         W, H = wsi.shape[0], wsi.shape[1]
         
-        
+        # print(grayscale_cam.shape)
+        # print()
         attention_map = grayscale_cam[:, :, 1].squeeze()
-        attention_map = F.relu(attention_map)
-        # print(attention_map)
+        # attention_map = F.relu(attention_map)
+        # print('Attention_map')
+        # print(attention_map.shape)
+        # print(attention_map.device)
         input_h = 224
         
-        mask = torch.ones(( int(W/input_h), int(H/input_h))).to(self.device)
+        mask = torch.ones(( int(W/input_h), int(H/input_h)))
+        # print(mask.device)
         # print('mask.shape: ', mask.shape)
         # print('attention_map.shape: ', attention_map.shape)
         for i, (x,y) in enumerate(coords):
@@ -411,34 +466,36 @@ class custom_test_module(ModelInterface):
         mask = mask.squeeze(0).permute(1,2,0)
 
         mask = (mask - mask.min())/(mask.max()-mask.min())
-        mask = mask.cpu().numpy()
+        mask = mask.numpy()
+
+        # print('mask: ', mask.shape)
         
-        def show_cam_on_image(img, mask):
-            heatmap = cv2.applyColorMap(np.uint8(255 * mask), cv2.COLORMAP_JET)
-            heatmap = np.float32(heatmap) / 255
-            cam = heatmap*0.4 + np.float32(img)
-            cam = cam / np.max(cam)
-            return cam
-
-        wsi_cam = show_cam_on_image(wsi, mask)
+        # def show_cam_on_image(img, mask):
+        #     heatmap = cv2.applyColorMap(np.uint8(255 * mask), cv2.COLORMAP_JET)
+        #     heatmap = np.float32(heatmap) / 255
+        #     cam = heatmap*0.4 + np.float32(img)
+        #     cam = cam / np.max(cam)
+            # return cam
+
+        wsi_cam = show_cam_on_image(wsi.numpy(), mask)
         wsi_cam = ((wsi_cam-wsi_cam.min())/(wsi_cam.max()-wsi_cam.min()) * 255.0).astype(np.uint8)
         
         size = (20000, 20000)
 
-        # img = Image.fromarray(wsi_cam)
-        # img = img.convert('RGB')
-        # img.thumbnail(size, Image.ANTIALIAS)
-        # output_path = self.save_path / str(target.item())
-        # output_path.mkdir(parents=True, exist_ok=True)
-        # img.save(f'{output_path}/{wsi_name}_gradcam.jpg')
-
-        wsi = ((wsi-wsi.min())/(wsi.max()-wsi.min()) * 255.0).astype(np.uint8)
-        img = Image.fromarray(wsi)
+        img = Image.fromarray(wsi_cam)
         img = img.convert('RGB')
-        img.thumbnail(size, Image.ANTIALIAS)
-        output_path = self.save_path / str(target.item())
+        img.thumbnail(size, Image.Resampling.LANCZOS)
+        output_path = save_path / str(target.item())
         output_path.mkdir(parents=True, exist_ok=True)
-        img.save(f'{output_path}/{wsi_name}.jpg')
+        img.save(f'{output_path}/{wsi_name}_gradcam.jpg')
+
+        # wsi = ((wsi-wsi.min())/(wsi.max()-wsi.min()) * 255.0).astype(np.uint8)
+        # img = Image.fromarray(wsi)
+        # img = img.convert('RGB')
+        # img.thumbnail(size, Image.LANCZOS)
+        # output_path = save_path / str(target.item())
+        # output_path.mkdir(parents=True, exist_ok=True)
+        # img.save(f'{output_path}/{wsi_name}.jpg')
         del wsi
         del img
         del wsi_cam
@@ -515,6 +572,109 @@ class custom_test_module(ModelInterface):
         # print(img_compl)
         return test_img_compl.cpu().detach()
 
+def save_attention_map(wsi_name, batch_names, grayscale_cam, target):
+
+    def get_coords(batch_names): #ToDO: Change function for precise coords
+        coords = []
+        
+        for tile_name in batch_names: 
+            # print(tile_name)
+            pos = re.findall(r'\((.*?)\)', tile_name)
+            # print(pos)
+            x, y = pos[-1].split('-')
+            # print(x, y)
+            coords.append((int(x),int(y)))
+
+        return coords
+
+    save_path = '/home/ylan/workspace/TransMIL-DeepGraft/test/img/'
+
+    home = Path.cwd().parts[1]
+    jpg_dir = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated/Aachen_Biopsy_Slides/BLOCKS'
+
+    # print(batch_names)
+    coords = get_coords(batch_names)
+    # print(wsi_name)
+    # coords = batch_names.squeeze()
+    data = []
+
+
+    for co in coords:
+        # print(jpg_dir)
+        # print(wsi_name)
+
+        tile_path =  Path(jpg_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+        img = np.asarray(Image.open(tile_path)).astype(np.uint8)
+        img = torch.from_numpy(img)
+        # print(img.shape)
+        data.append(img)
+    # coords_set = set(coords)
+    # data = data.unsqueeze(0)
+    # print(data.shape)
+    data = torch.stack(data)
+    # print(data.max())
+    # print(data.min())
+    # print(coords)
+    # temp_data = data.cpu()
+    # print(data.shape)
+    wsi = assemble(data, coords).cpu().numpy()
+    # wsi = (wsi-wsi.min())/(wsi.max()-wsi.min())
+    # wsi = wsi
+    # print(coords)
+    # print('wsi.shape: ', wsi.shape)
+    #--> Get interpolated mask from GradCam
+    W, H = wsi.shape[0], wsi.shape[1]
+    
+    
+    attention_map = grayscale_cam[:, :, 1].squeeze()
+    attention_map = F.relu(attention_map)
+    # print(attention_map)
+    input_h = 224
+    
+    mask = torch.ones(( int(W/input_h), int(H/input_h))).to(self.device)
+    # print('mask.shape: ', mask.shape)
+    # print('attention_map.shape: ', attention_map.shape)
+    for i, (x,y) in enumerate(coords):
+        mask[y][x] = attention_map[i]
+    mask = mask.unsqueeze(0).unsqueeze(0)
+    # mask = torch.stack([mask, mask, mask]).unsqueeze(0)
+
+    mask = F.interpolate(mask, (W,H), mode='bilinear')
+    mask = mask.squeeze(0).permute(1,2,0)
+
+    mask = (mask - mask.min())/(mask.max()-mask.min())
+    mask = mask.cpu().numpy()
+    
+    def show_cam_on_image(img, mask):
+        heatmap = cv2.applyColorMap(np.uint8(255 * mask), cv2.COLORMAP_JET)
+        heatmap = np.float32(heatmap) / 255
+        cam = heatmap*0.4 + np.float32(img)
+        cam = cam / np.max(cam)
+        return cam
+
+    wsi_cam = show_cam_on_image(wsi, mask)
+    wsi_cam = ((wsi_cam-wsi_cam.min())/(wsi_cam.max()-wsi_cam.min()) * 255.0).astype(np.uint8)
+    
+    size = (20000, 20000)
+
+    # img = Image.fromarray(wsi_cam)
+    # img = img.convert('RGB')
+    # img.thumbnail(size, Image.ANTIALIAS)
+    # output_path = self.save_path / str(target.item())
+    # output_path.mkdir(parents=True, exist_ok=True)
+    # img.save(f'{output_path}/{wsi_name}_gradcam.jpg')
+
+    wsi = ((wsi-wsi.min())/(wsi.max()-wsi.min()) * 255.0).astype(np.uint8)
+    img = Image.fromarray(wsi)
+    img = img.convert('RGB')
+    img.thumbnail(size, Image.ANTIALIAS)
+    output_path = save_path / str(target.item())
+    output_path.mkdir(parents=True, exist_ok=True)
+    img.save(f'{output_path}/{wsi_name}.jpg')
+    del wsi
+    del img
+    del wsi_cam
+    del mask
 
 #---->main
 def main(cfg):
@@ -544,10 +704,10 @@ def main(cfg):
         train_classic = True
         use_features = False
     if cfg.Model.backbone == 'features':
-        use_features = False
-        cfg.Model.backbone = 'retccl'
-    else: 
-        use_features = False
+        use_features = True
+    #     cfg.Model.backbone = 'retccl'
+    # else: 
+    #     use_features = False
 
     print(cfg.Model.backbone)
     # use_features = False
@@ -628,10 +788,11 @@ def main(cfg):
     for path in model_paths:
         # with open(f'{log_path}/test_metrics.txt', 'w') as f:
         #     f.write(str(path) + '\n')
-        new_model = model.load_from_checkpoint(checkpoint_path=path, cfg=cfg)
-        new_model.init_backbone()
-        new_model.save_path = Path(cfg.log_path) / 'visualization'
-        trainer.test(model=new_model, datamodule=dm)
+        # new_model = model.load_from_checkpoint(checkpoint_path=path, cfg=cfg)
+        # new_model.init_backbone()
+        # new_model.save_path = Path(cfg.log_path) / 'visualization'
+        # trainer.test(model=new_model, datamodule=dm)
+        trainer.test(model=model, datamodule=dm)
     
     # Top 5 scoring patches for patient
     # GradCam
@@ -657,6 +818,21 @@ def check_home(cfg):
 
     return cfg
 
+#--->Setting parameters
+def make_parse():
+    parser = argparse.ArgumentParser()
+    parser.add_argument('--stage', default='test', type=str)
+    parser.add_argument('--config', default='../DeepGraft/TransMIL.yaml',type=str)
+    parser.add_argument('--version', default=0,type=int)
+    parser.add_argument('--epoch', default='0',type=str)
+    parser.add_argument('--gpus', default = 0, type=int)
+    parser.add_argument('--loss', default = 'CrossEntropyLoss', type=str)
+    parser.add_argument('--fold', default = 0)
+    parser.add_argument('--bag_size', default = 10000, type=int)
+
+    args = parser.parse_args()
+    return args
+
 if __name__ == '__main__':
 
     args = make_parse()
@@ -689,143 +865,182 @@ if __name__ == '__main__':
     
 
     #---->main
-    # main(cfg)
-    from models import TransMIL
-    from datasets.zarr_feature_dataloader_simple import ZarrFeatureBagLoader
-    from datasets.feature_dataloader import FeatureBagLoader
-    from datasets.jpg_dataloader import JPGMILDataloader
-    from torch.utils.data import random_split, DataLoader
-    import time
-    from tqdm import tqdm
-    import torchmetrics
-    import models.ResNet as ResNet
-
-    device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
-    print(device)
-    scaler = torch.cuda.amp.GradScaler()
+    main(cfg)
+
+    # from models import TransMIL
+    # from datasets.zarr_feature_dataloader_simple import ZarrFeatureBagLoader
+    # from datasets.feature_dataloader import FeatureBagLoader
+    # from datasets.jpg_dataloader import JPGMILDataloader
+    # from torch.utils.data import random_split, DataLoader
+    # import time
+    # from tqdm import tqdm
+    # import torchmetrics
+    # import models.ResNet as ResNet
+
+    # device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
+    # scaler = torch.cuda.amp.GradScaler()
     
-    log_path = Path(cfg.log_path) / 'checkpoints'
-    model_paths = list(log_path.glob('*.ckpt'))
-
-    # print(model_paths)
-    if cfg.epoch == 'last':
-        model_paths = [str(model_path) for model_path in model_paths if f'last' in str(model_path)]
-    else:
-        model_paths = [str(model_path) for model_path in model_paths if f'epoch={cfg.epoch}' in str(model_path)]
-
-    # checkpoint = torch.load(f'{cfg.log_path}/checkpoints/epoch=04-val_loss=0.4243-val_auc=0.8243-val_patient_auc=0.8282244801521301.ckpt')
-    # checkpoint = torch.load(f'{cfg.log_path}/checkpoints/epoch=73-val_loss=0.8574-val_auc=0.9682-val_patient_auc=0.9724310636520386.ckpt')
-    checkpoint = torch.load(model_paths[0])
-
-    hyper_parameters = checkpoint['hyper_parameters']
-    n_classes = hyper_parameters['model']['n_classes']
-
-    # model = TransMIL()
-
-    model_ft = ResNet.resnet50(num_classes=128, mlp=False, two_branch=False, normlinear=True)
-    home = Path.cwd().parts[1]
-    # pre_model = 
-    # self.model_ft.fc = nn.Identity()
-    # self.model_ft.load_from_checkpoint(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth', strict=False)
-    model_ft.load_state_dict(torch.load(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth'), strict=False)
-    for param in model_ft.parameters():
-        param.requires_grad = False
-    model_ft.fc = torch.nn.Identity()
-    model_ft.to(device)
-
-    model = TransMIL(n_classes=n_classes, in_features=2048).to(device)
-    model_weights = checkpoint['state_dict']
-
-    for key in list(model_weights):
-        model_weights[key.replace('model.', '')] = model_weights.pop(key)
-    
-    model.load_state_dict(model_weights)
-
-    count = 0
-    # for m in model.modules():
-    #     if isinstance(m, torch.nn.BatchNorm2d):
-    #         # # m.track_running_stats = False
-    #         # count += 1 #skip the first BatchNorm layer in my ResNet50 based encoder
-    #         # if count >= 2:
-    #             # m.eval()
-    #         print(m)
-    #         m.track_running_stats = False
-    #         m.running_mean = None
-    #         m.running_var = None
+    # log_path = Path(cfg.log_path) / 'checkpoints'
+    # model_paths = list(log_path.glob('*.ckpt'))
+
+    # # print(model_paths)
+    # if cfg.epoch == 'last':
+    #     model_paths = [str(model_path) for model_path in model_paths if f'last' in str(model_path)]
+    # else:
+    #     model_paths = [str(model_path) for model_path in model_paths if f'epoch={cfg.epoch}' in str(model_path)]
+
+    # # checkpoint = torch.load(f'{cfg.log_path}/checkpoints/epoch=04-val_loss=0.4243-val_auc=0.8243-val_patient_auc=0.8282244801521301.ckpt')
+    # # checkpoint = torch.load(f'{cfg.log_path}/checkpoints/epoch=73-val_loss=0.8574-val_auc=0.9682-val_patient_auc=0.9724310636520386.ckpt')
+    # # print(model_paths)
+    # checkpoint = torch.load(model_paths[0])
+
+    # hyper_parameters = checkpoint['hyper_parameters']
+    # n_classes = hyper_parameters['model']['n_classes']
+    # # batch_size = 5
+
+    # # model = TransMIL()
+
+    # model_ft = ResNet.resnet50(num_classes=128, mlp=False, two_branch=False, normlinear=True)
+    # home = Path.cwd().parts[1]
+    # # pre_model = 
+    # # self.model_ft.fc = nn.Identity()
+    # # self.model_ft.load_from_checkpoint(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth', strict=False)
+    # model_ft.load_state_dict(torch.load(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth'), strict=False)
+    # # for param in model_ft.parameters():
+    # #     param.requires_grad = False
+    # model_ft.fc = torch.nn.Identity()
+    # model_ft.to(device)
+
+    # mil_model = TransMIL(n_classes=n_classes, in_features=2048).to(device)
+    # model_weights = checkpoint['state_dict']
+
+    # for key in list(model_weights):
+    #     model_weights[key.replace('model.', '')] = model_weights.pop(key)
     
-    for param in model.parameters():
-        param.requires_grad = False
-    model.eval()
-
-    home = Path.cwd().parts[1]
-    data_root = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated'
-    label_path = f'/{home}/ylan/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest.json'
-    dataset = JPGMILDataloader(data_root, label_path=label_path, mode='test', cache=False, n_classes=n_classes, model_name = 'TransMIL')
-
-    dl = DataLoader(dataset, batch_size=1, num_workers=8)
+    # mil_model.load_state_dict(model_weights)
 
+    # big_model = InferenceModel(model_ft, mil_model).to(device)
+    # count = 0
     
+    # # for param in big_model.parameters():
+    # #     param.requires_grad = False
+    # big_model.eval()
+
+
+    # home = Path.cwd().parts[1]
+    # data_root = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated'
+    # label_path = f'/{home}/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rest.json'
+    # dataset = JPGMILDataloader(data_root, label_path=label_path, mode='test', cache=False, n_classes=n_classes, model='TransMIL')
+
+    # dl = DataLoader(dataset, batch_size=1, num_workers=8)
+
+    # # if self.model_name == 'TransMIL':
+    #     # print(self.model.layer2.norm)
+    # # print(big_model)
+    # target_layers = [mil_model.layer2.norm] # 32x32
+    # # target_layers = [self.model_ft[0].features[-1]] # 32x32
+    # cam = GradCAM(model=big_model, target_layers = target_layers, use_cuda=True, reshape_transform=reshape_transform) #, reshape_transform=self.reshape_transform
+    #     # self.cam_ft = GradCAM(model=self.model, target_layers = target_layers_ft, use_cuda=True) #, reshape_transform=self.reshape_transform
+    # # elif self.model_name == 'TransformerMIL':
+    # #     target_layers = [self.model.layer1.norm]
+    # #     self.cam = EigenCAM(model=self.model, target_layers = target_layers, use_cuda=True, reshape_transform=self.reshape_transform)
+    # #     # self.cam = GradCAM(model=self.model, target_layers = target_layers, use_cuda=True, reshape_transform=self.reshape_transform)
+    # # else:
+    # #     target_layers = [self.model.attention_weights]
+    # #     self.cam = GradCAM(model = self.model, target_layers = target_layers, use_cuda=True)
+
+    # start = time.time()
+    # test_logits = []
+    # test_probs = []
+    # test_labels = []
+    # test_topk_data = []
+    # data = [{"count": 0, "correct": 0} for i in range(n_classes)]
+    # count = 0
+
+
+    # for item in tqdm(dl): 
+
+    #     count += 1
+    #     if count > 1:
+    #         break
+    #     bag, label, (name, batch_coords, patient) = item
+    #     batch_coords = [b[0] for b in batch_coords]
+    #     name = name[0]
+    #     # bag, label, (name, batch_coords, patient) = item
+    #     # label = label.float()
+    #     # Y = int(label)
+
+    #     bag = bag.float().to(device)
+    #     # print(bag.shape)
+    #     # bag = bag.unsqueeze(0)
+    #     with torch.cuda.amp.autocast():
+    #         bag = bag.squeeze(0)
+    #         logits = big_model(bag)
+    #     Y_hat = torch.argmax(logits, dim=1)
+    #     Y_prob = F.softmax(logits, dim = 1)
+    #     # print(logits.shape)
+    #     # print(Y_prob)
+    #     # print(bag.shape)
+    #     instance_count = bag.size(0)
+    #     # data_ft.requires_grad=True
+    #     Y = torch.argmax(label)
+    #     target = [ClassifierOutputTarget(Y)]
+    #     grayscale_cam = cam(input_tensor=bag.squeeze(), targets=target, eigen_smooth=True)
+    #     grayscale_cam = torch.Tensor(grayscale_cam)[:instance_count, :] #.to(self.device)
+
+    #     #----------------------------------------------------
+    #     # Get Topk Tiles and Topk Patients
+    #     #----------------------------------------------------
+    #     k = 10
+    #     summed = torch.mean(grayscale_cam, dim=2)
+    #     topk_tiles, topk_indices = torch.topk(summed.squeeze(0), k, dim=0)
+        
+    #     topk_data = bag[topk_indices].detach()
+        
+    #     test_topk_data.append(topk_data)
+    #     test_logits.append(logits)
+    #     test_probs.append(Y_prob)
 
-    AUROC = torchmetrics.AUROC(num_classes = n_classes)
-
-    start = time.time()
-    test_logits = []
-    test_probs = []
-    test_labels = []
-    data = [{"count": 0, "correct": 0} for i in range(n_classes)]
-
-    for item in tqdm(dl): 
-
-        bag, label, (name, batch_coords, patient) = item
-        # label = label.float()
-        Y = int(label)
-
-        bag = bag.float().to(device)
-        # print(bag.shape)
-        bag = bag.unsqueeze(0)
-        with torch.cuda.amp.autocast():
-            batch_size = bag.shape[0]
-            bag_size = bag.shape[1]
-            bag = bag.view(batch_size*bag_size, bag.shape[2], bag.shape[3], bag.shape[4])
-            feats = self.model_ft(bag).unsqueeze(0)
-            # print(feats.shape)
-            # print(x.shape)
-            # if feats.dim() == 3:
-            feats = feats.view(batch_size, bag_size, -1)
-            logits = model(feats)
-        Y_hat = torch.argmax(logits, dim=1)
-        Y_prob = F.softmax(logits, dim = 1)
-
-        # print(Y_prob)
-
-        test_logits.append(logits)
-        test_probs.append(Y_prob)
-
-        test_labels.append(label)
-        data[Y]['count'] += 1
-        data[Y]['correct'] += (int(Y_hat) == Y)
-    probs = torch.cat(test_probs).detach().cpu()
-    targets = torch.stack(test_labels).squeeze().detach().cpu()
-    print(probs.shape)
-    print(targets.shape)
+    #     test_labels.append(label)
+        
+    #     save_attention_map(name, batch_coords, grayscale_cam, target=Y)
+        
+    #     for y, y_hat in zip(label, Y_hat):
+    #         y = int(y)
+    #         # print(Y_hat)
+    #         data[y]["count"] += 1
+    #         data[y]["correct"] += (int(y_hat) == y)
+
+        
+        
+    # test_logits = torch.cat(test_logits, dim=0)
+    # probs = torch.cat(test_probs).detach().cpu()
+    # if n_classes <=2:
+    #     out_probs = probs[:,1] 
+    # else: out_probs = probs
+    # targets = torch.cat(test_labels).squeeze().detach().cpu()
+    # # print(test_logits)
+    # # print(targets)
+    # # print(test_logits.shape)
+    # # print(targets.shape)
 
     
-    for c in range(n_classes):
-        count = data[c]['count']
-        correct = data[c]['correct']
-        if count == 0:
-            acc = None
-        else: 
-            acc = float(correct) / count
-        print('class {}: acc {}, correct {}/{}'.format(c, acc, correct, count))
+    # for c in range(n_classes):
+    #     count = data[c]['count']
+    #     correct = data[c]['correct']
+    #     if count == 0:
+    #         acc = None
+    #     else: 
+    #         acc = float(correct) / count
+    #     print('class {}: acc {}, correct {}/{}'.format(c, acc, correct, count))
 
 
 
-    auroc = AUROC(probs, targets)
-    print(auroc)
-    end = time.time()
-    print('Bag Time: ', end-start)
+    # # auroc = AUROC(probs, targets)
+    # auroc = binary_auroc(out_probs, targets)
+    # print(auroc)
+    # end = time.time()
+    # print('Bag Time: ', end-start)
 
 
 
- 
\ No newline at end of file
diff --git a/code/train.py b/code/train.py
index 984a609..980f5f4 100644
--- a/code/train.py
+++ b/code/train.py
@@ -9,7 +9,7 @@ from datasets.data_interface import MILDataModule, CrossVal_MILDataModule
 # from datasets.data_interface import DataInterface, MILDataModule, CrossVal_MILDataModule
 from models.model_interface import ModelInterface
 from models.model_interface_classic import ModelInterface_Classic
-from models.model_interface_dtfd import ModelInterface_DTFD
+# from models.model_interface_dtfd import ModelInterface_DTFD
 import models.vision_transformer as vits
 from utils.utils import *
 
@@ -18,44 +18,44 @@ import pytorch_lightning as pl
 from pytorch_lightning import Trainer
 from pytorch_lightning.strategies import DDPStrategy
 import torch
-from train_loop import KFoldLoop
-from pytorch_lightning.plugins.training_type import DDPPlugin
+# from train_loop import KFoldLoop
+# from pytorch_lightning.plugins.training_type import DDPPlugin
 
 
-try:
-    import apex
-    from apex.parallel import DistributedDataParallel
-    print('Apex available.')
-except ModuleNotFoundError:
-    # Error handling
-    pass
+# try:
+#     import apex
+#     from apex.parallel import DistributedDataParallel
+#     print('Apex available.')
+# except ModuleNotFoundError:
+#     # Error handling
+#     pass
 
-def unwrap_lightning_module(wrapped_model):
-    from apex.parallel import DistributedDataParallel
-    from pytorch_lightning.overrides.base import (
-        _LightningModuleWrapperBase,
-        _LightningPrecisionModuleWrapperBase,
-    )
+# def unwrap_lightning_module(wrapped_model):
+#     from apex.parallel import DistributedDataParallel
+#     from pytorch_lightning.overrides.base import (
+#         _LightningModuleWrapperBase,
+#         _LightningPrecisionModuleWrapperBase,
+#     )
 
-    model = wrapped_model
-    if isinstance(model, DistributedDataParallel):
-        model = unwrap_lightning_module(model.module)
-    if isinstance(
-        model, (_LightningModuleWrapperBase, _LightningPrecisionModuleWrapperBase)
-    ):
-        model = unwrap_lightning_module(model.module)
-    return model
+#     model = wrapped_model
+#     if isinstance(model, DistributedDataParallel):
+#         model = unwrap_lightning_module(model.module)
+#     if isinstance(
+#         model, (_LightningModuleWrapperBase, _LightningPrecisionModuleWrapperBase)
+#     ):
+#         model = unwrap_lightning_module(model.module)
+#     return model
 
 
-class ApexDDPPlugin(DDPPlugin):
-    def _setup_model(self, model):
-        from apex.parallel import DistributedDataParallel
+# class ApexDDPPlugin(DDPPlugin):
+#     def _setup_model(self, model):
+#         from apex.parallel import DistributedDataParallel
 
-        return DistributedDataParallel(model, delay_allreduce=False)
+#         return DistributedDataParallel(model, delay_allreduce=False)
 
-    @property
-    def lightning_module(self):
-        return unwrap_lightning_module(self._model)
+#     @property
+#     def lightning_module(self):
+#         return unwrap_lightning_module(self._model)
 
 
 
@@ -74,6 +74,8 @@ def make_parse():
     # parser.add_argument('--batch_size', default = 1, type=int)
     parser.add_argument('--resume_training', action='store_true')
     parser.add_argument('--label_file', type=str)
+    # parser.add_argument('--from_ft', action='store_true')
+    parser.add_argument('--fine_tune', action='store_true')
     
 
     args = parser.parse_args()
@@ -83,6 +85,7 @@ def make_parse():
 def main(cfg):
 
     torch.set_num_threads(8)
+    torch.set_float32_matmul_precision('high')
 
     #---->Initialize seed
     pl.seed_everything(cfg.General.seed)
@@ -106,14 +109,16 @@ def main(cfg):
     home = Path.cwd().parts[1]
 
     train_classic = False
-    if cfg.Model.name in ['inception', 'resnet18', 'resnet50', 'vit']:
+    if cfg.Model.name in ['inception', 'resnet18', 'resnet50', 'vit', 'efficientnet']:
         train_classic = True
         use_features = False
 
-
     if cfg.Model.backbone == 'features':
         use_features = True
+    # elif cfg.Model.backbone == 'simple':
+    #     use_features = False
     else: use_features = False
+    
     DataInterface_dict = {
                 'data_root': cfg.Data.data_dir,
                 'label_path': cfg.Data.label_file,
@@ -133,7 +138,6 @@ def main(cfg):
         dm = CrossVal_MILDataModule(**DataInterface_dict)
     else: dm = MILDataModule(**DataInterface_dict)
     
-
     #---->Define Model
     
     ModelInterface_dict = {'model': cfg.Model,
@@ -166,23 +170,28 @@ def main(cfg):
             max_epochs= cfg.General.epochs,
             min_epochs = 500,
             accelerator='gpu',
+            # strategy='ddp',
             # plugins=plugins,
             devices=cfg.General.gpus,
-            strategy=DDPStrategy(find_unused_parameters=False),
-            replace_sampler_ddp=False,
-            amp_backend='native',
+            # replace_sampler_ddp=False,
+            # amp_backend='native',
+            # precision='16-mixed',  
             precision=cfg.General.precision,  
             # accumulate_grad_batches=cfg.General.grad_acc,
+            use_distributed_sampler=False,
+            enable_progress_bar=True,
             gradient_clip_val=0.0,
             # fast_dev_run = True,
             # limit_train_batches=1,
             
             # deterministic=True,
-            check_val_every_n_epoch=1,
+            accumulate_grad_batches=10,
+            check_val_every_n_epoch=5,
         )
     else:
         trainer = Trainer(
-            # num_sanity_val_steps=0, 
+            # deterministic=True,
+            num_sanity_val_steps=-1, 
             logger=cfg.load_loggers,
             callbacks=cfg.callbacks,
             max_epochs= cfg.General.epochs,
@@ -191,9 +200,10 @@ def main(cfg):
             # gpus=cfg.General.gpus,
             accelerator='gpu',
             devices=cfg.General.gpus,
-            amp_backend='native',
+            # amp_backend='native',
             # amp_level=cfg.General.amp_level,  
-            precision=cfg.General.precision,  
+            precision='16-mixed',  
+            # precision=cfg.General.precision,  
             accumulate_grad_batches=cfg.General.grad_acc,
             gradient_clip_val=0.0,
             log_every_n_steps=10,
@@ -202,7 +212,7 @@ def main(cfg):
             
             # deterministic=True,
             # num_sanity_val_steps=0,
-            check_val_every_n_epoch=1,
+            check_val_every_n_epoch=5,
         )
     # print(cfg.log_path)
     # print(trainer.loggers[0].log_dir)
@@ -219,9 +229,13 @@ def main(cfg):
         shutil.copytree(copy_origin, copy_path, dirs_exist_ok=True)
 
     #---->train or test
-    if cfg.resume_training:
-        last_ckpt = log_path = Path(cfg.log_path) / 'lightning_logs' / f'version_{cfg.version}' / 'last.ckpt'
-        trainer.fit(model = model, ckpt_path=last_ckpt) #, datamodule = dm
+    # if cfg.resume_training:
+    #     last_ckpt = Path(cfg.log_path) / 'lightning_logs' / f'version_{cfg.version}' / 'last.ckpt'
+    #     print('Resume Training from: ', last_ckpt)
+    #     model = model.load_from_checkpoint(checkpoint_path=last_ckpt, cfg=cfg)
+    #     # trainer.fit(model = model, ckpt_path=last_ckpt) #, datamodule = dm
+    #     trainer.fit(model, dm)
+    # print(cfg.resume_training)
 
     if cfg.General.server == 'train':
 
@@ -231,14 +245,23 @@ def main(cfg):
             trainer.fit_loop = KFoldLoop(cfg.Data.nfold, export_path = cfg.log_path, **ModelInterface_dict)
             trainer.fit_loop.connect(internal_fit_loop)
             trainer.fit(model, dm)
-        else:
+        elif cfg.resume_training:
+            last_ckpt = Path(cfg.log_path) / 'lightning_logs' / f'version_{cfg.version}' / 'checkpoints' / 'last.ckpt'
+            print('Resume Training from: ', last_ckpt)
+            model = model.load_from_checkpoint(checkpoint_path=last_ckpt, cfg=cfg)
+            # trainer.fit(model = model, ckpt_path=last_ckpt) #, datamodule = dm
+            trainer.fit(model, dm)
+        else:                                                   
             trainer.fit(model = model, datamodule = dm)
+            # trainer.test(model = model, datamodule = dm)
     else:
+        # if cfg.fine_tune:
+        #    log_path = Path(cfg.log_path) / 'lightning_logs' / f'version_{cfg.version}'/'checkpoints' 
+        # else:
         log_path = Path(cfg.log_path) / 'lightning_logs' / f'version_{cfg.version}'/'checkpoints' 
 
         model_paths = list(log_path.glob('*.ckpt'))
 
-
         if cfg.epoch == 'last':
             model_paths = [str(model_path) for model_path in model_paths if f'last' in str(model_path)]
         elif int(cfg.epoch) < 10:
@@ -247,10 +270,15 @@ def main(cfg):
         else:
             model_paths = [str(model_path) for model_path in model_paths if f'epoch={cfg.epoch}' in str(model_path)]
         # model_paths = [f'{log_path}/epoch=279-val_loss=0.4009.ckpt']
-
-        for path in model_paths:
-            print(path)
-            model = model.load_from_checkpoint(checkpoint_path=path, cfg=cfg)
+        # print(model_paths)
+        
+        # for path in model_paths:
+        path  = model_paths[0]
+            # print(path)
+        model = model.load_from_checkpoint(checkpoint_path=path, cfg=cfg)
+        if cfg.General.server == 'val':
+            trainer.validate(model=model, datamodule=dm)
+        elif cfg.General.server == 'test':
             trainer.test(model=model, datamodule=dm)
 
 
@@ -291,6 +319,9 @@ if __name__ == '__main__':
     cfg.Loss.base_loss = args.loss
     cfg.Data.bag_size = args.bag_size
     cfg.version = args.version
+    cfg.fine_tune = args.fine_tune
+    cfg.resume_training = args.resume_training
+
     if args.label_file: 
         cfg.Data.label_file = '/home/ylan/DeepGraft/training_tables/' + args.label_file
 
@@ -307,7 +338,8 @@ if __name__ == '__main__':
     cfg.task = task
     # task = Path(cfg.config).name[:-5].split('_')[2:][0]
     cfg.log_path = log_path / f'{cfg.Model.name}' / task / log_name 
-
+    cfg.log_name = log_name
+    print(cfg.task)
 
 
     cfg.epoch = args.epoch
diff --git a/code/utils/__init__.py b/code/utils/__init__.py
index 5caecf7..c8d3e1d 100644
--- a/code/utils/__init__.py
+++ b/code/utils/__init__.py
@@ -1 +1,2 @@
-from .custom_resnet50 import resnet50_baseline
\ No newline at end of file
+from .custom_resnet50 import resnet50_baseline
+import utils
\ No newline at end of file
diff --git a/code/utils/__pycache__/__init__.cpython-38.pyc b/code/utils/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7699918e64ac1af8c719fdf7ee9ceb55858c6dfc
GIT binary patch
literal 210
zcmWIL<>g{vU|?{IGD+5BU|@I*;vi!t1_lNP1_p*=0R{$!6owSW9EM!RC`Lwx6sBMX
zP3D)33=9mKjJE`fQj7CaOH2*olM;(lb29T%{WO`P_>)VEOY(E$VUk54(^fJRF*7hg
zh+lU48Tq-X`jt6}dHUt~McKs#iOH$@Aw`LK#lD_Cx-O}y1@1+OX(jr}`6;RTr6rj;
h#rpB_nR%Hd@$q^EmA5!-a`RJ4b5iX<?)VIHH~_a|H2MGl

literal 0
HcmV?d00001

diff --git a/code/utils/__pycache__/__init__.cpython-39.pyc b/code/utils/__pycache__/__init__.cpython-39.pyc
index dcda699d2566f65d9c29aac8a8f8bc255eb8cf7e..ddf26f5c1d3e871d39c4cc9e2760837db47b72e3 100644
GIT binary patch
delta 113
zcmcb__=1r)k(ZZ?fq{Xc$2uy-dLpl^oCE^{LkdF*V-7<uV-zDJLkd$0a}HA!Qwno1
zgC@&F2PwUmAoYHl%(wWHON&eLbK{Fri}O-TObv>d7#J9Cv6hx(<`l1FC}Lw^U?^gn
NSQE%z43gks1OSN=8P)&*

delta 113
zcmaFCc!`lWk(ZZ?fq{X+Ey^TWZz8X3kN^V%LkdF*V-7<uV-zDJLkd$cgC_G!Mg|53
zO~zY-MXAMksU@Zc@kxorsX3W>seYPFQT)lJ#U=T<@i56ECI$wEl?+A93=9lK%o8UB
JvVI2H0RY7i8;<}0

diff --git a/code/utils/__pycache__/custom_resnet50.cpython-38.pyc b/code/utils/__pycache__/custom_resnet50.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..749fd64cf29d0f9d5c412acfcc22c76e86446276
GIT binary patch
literal 4059
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
F7XaZ9)BOMd

literal 0
HcmV?d00001

diff --git a/code/utils/__pycache__/utils.cpython-38.pyc b/code/utils/__pycache__/utils.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..726145b80b854762b16b5e325602c1b2982c62ec
GIT binary patch
literal 9588
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

literal 0
HcmV?d00001

diff --git a/code/utils/__pycache__/utils.cpython-39.pyc b/code/utils/__pycache__/utils.cpython-39.pyc
index 7323a9ff0b5a105e42a911fa4478357cbd7b97a1..1e7ec41fb93909621df30a4580ee96a07956c7d0 100644
GIT binary patch
literal 9439
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
Ngu{}<mMe;j2>{dI`L_T7

delta 2328
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
BZZ-e_

diff --git a/code/utils/export_metrics.ipynb b/code/utils/export_metrics.ipynb
new file mode 100644
index 0000000..be5a44e
--- /dev/null
+++ b/code/utils/export_metrics.ipynb
@@ -0,0 +1 @@
+{"cells":[{"cell_type":"code","execution_count":1,"metadata":{},"outputs":[{"name":"stderr","output_type":"stream","text":["/home/ylan/miniconda3/envs/pytorch2/lib/python3.9/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n","  from .autonotebook import tqdm as notebook_tqdm\n"]}],"source":["import argparse\n","from pathlib import Path\n","import numpy as np\n","from tqdm import tqdm\n","\n","import cv2\n","from PIL import Image, ImageFilter\n","from matplotlib import pyplot as plt\n","plt.style.use('tableau-colorblind10')\n","import pandas as pd\n","import json\n","import pprint\n","import seaborn as sns\n","import torch\n","\n","import torchmetrics\n","from torchmetrics import PrecisionRecallCurve, ROC\n","from torchmetrics.functional.classification import binary_auroc, multiclass_auroc, binary_precision_recall_curve, multiclass_precision_recall_curve, confusion_matrix\n","from torchmetrics.utilities.compute import _auc_compute_without_check, _auc_compute\n"]},{"cell_type":"code","execution_count":2,"metadata":{},"outputs":[{"data":{"text/plain":["'CLAM'"]},"execution_count":2,"metadata":{},"output_type":"execute_result"}],"source":["'''TransMIL'''\n","a = 'features'\n","add_on = '1'\n","\n","task = 'norm_rest'\n","model = 'TransMIL'\n","version = '804'\n","epoch = '30'\n","labels = ['Disease']\n","\n","\n","# task = 'rest_rej'\n","# model = 'TransMIL'\n","# version = '63'\n","# epoch = '14'\n","# labels = ['Rejection']\n","\n","# task = 'norm_rej_rest'\n","# model = 'TransMIL'\n","# version = '53'\n","# epoch = '17'\n","# labels = ['Normal', 'Rejection', 'Rest']\n","\n","'''ViT'''\n","# a = 'vit'\n","\n","# task = 'norm_rest'\n","# model = 'vit'\n","# version = '16'\n","# epoch = '142'\n","# labels = ['Disease']\n","\n","# task = 'rej_rest'\n","# model = 'vit'\n","# version = '1'\n","# epoch = 'last'\n","# labels = ['Rest']\n","\n","# task = 'norm_rej_rest'\n","# model = 'vit'\n","# version = '0'\n","# epoch = '226'\n","# labels = ['Normal', 'Rejection', 'Rest']\n","\n","'''CLAM'''\n","# task = 'norm_rest'\n","# model = 'CLAM'\n","# labels = ['REST']\n","\n","# task = 'rej_rest'\n","# model = 'CLAM'\n","# labels = ['REST']\n","\n","# task = 'norm_rej_rest'\n","# model = 'CLAM'\n","# labels = ['NORMAL', 'REJECTION', 'REST']\n","# labels = ['Normal', 'Rejection', 'Rest']\n","# if task == 'norm_rest' or task == 'rej_rest':\n","#     n_classes = 2\n","#     PRC = torchmetrics.PrecisionRecallCurve(task='binary')\n","#     ROC = torchmetrics.ROC(task='binary')\n","# else: \n","#     n_classes = 3\n","#     PRC = torchmetrics.PrecisionRecallCurve(task='multiclass', num_classes = n_classes)\n","#     ROC = torchmetrics.ROC(task='multiclass', num_classes=n_classes)\n","\n","\n"]},{"cell_type":"code","execution_count":3,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["/home/ylan/workspace/TransMIL-DeepGraft/logs/DeepGraft/TransMIL/norm_rest/_features_CrossEntropyLoss/lightning_logs/version_804/test_epoch_30\n","/home/ylan/workspace/TransMIL-DeepGraft/logs/DeepGraft/TransMIL/norm_rest/_features_CrossEntropyLoss/lightning_logs/version_804/test_epoch_30/TEST_RESULT_PATIENT.csv\n","     Unnamed: 0        PATIENT  yTrue    Normal   Disease\n","0             0  KiBiAcREZZ331      1  0.135010  0.865234\n","1             1  KiBiAcVUFQ120      0  0.784180  0.215820\n","2             2  KiBiAcFZJQ730      1  0.203613  0.796387\n","3             3  KiBiAcNCMV110      1  0.269043  0.730957\n","4             4  KiBiAcTTVB560      1  0.050018  0.950195\n","..          ...            ...    ...       ...       ...\n","168         168  KiBiAcYEYR260      0  0.409424  0.590820\n","169         169  KiBiAcZHCX830      1  0.223022  0.776855\n","170         170  KiBiAcZKQY690      1  0.303223  0.696777\n","171         171  KiBiAcZRMP870      1  0.147217  0.852539\n","172         172  KiBiAcZUXX151      1  0.033478  0.966309\n","\n","[173 rows x 5 columns]\n","tensor([0.8652, 0.2158, 0.7964, 0.7310, 0.9502, 0.6284, 0.6396, 0.6494, 0.5610,\n","        0.8223, 0.7534, 0.2170, 0.8047, 0.5322, 0.6660, 0.9512, 0.8809, 0.5366,\n","        0.9487, 0.8501, 0.8931, 0.5732, 0.7661, 0.8789, 0.8867, 0.5664, 0.9419,\n","        0.7690, 0.8389, 0.5537, 0.9175, 0.8330, 0.6401, 0.4529, 0.3450, 0.7725,\n","        0.8604, 0.9009, 0.6860, 0.8071, 0.8955, 0.8418, 0.5566, 0.9165, 0.9072,\n","        0.5669, 0.6973, 0.7969, 0.9404, 0.5830, 0.8828, 0.6050, 0.8643, 0.5991,\n","        0.5107, 0.8843, 0.9639, 0.9136, 0.9575, 0.7964, 0.5371, 0.5127, 0.2839,\n","        0.9722, 0.8560, 0.7930, 0.6313, 0.6250, 0.8208, 0.9707, 0.8877, 0.5737,\n","        0.9189, 0.5918, 0.6445, 0.9292, 0.7485, 0.9453, 0.8984, 0.5264, 0.8525,\n","        0.7148, 0.7695, 0.7266, 0.9355, 0.9536, 0.9043, 0.5913, 0.8091, 0.9121,\n","        0.6616, 0.9229, 0.8818, 0.5410, 0.6880, 0.8232, 0.8877, 0.7949, 0.6836,\n","        0.8486, 0.8999, 0.3425, 0.9277, 0.5327, 0.6665, 0.5229, 0.7109, 0.7422,\n","        0.5415, 0.7129, 0.8208, 0.8740, 0.5420, 0.8276, 0.2900, 0.4573, 0.8745,\n","        0.9829, 0.3394, 0.6943, 0.9307, 0.9595, 0.9219, 0.8604, 0.7773, 0.6553,\n","        0.7822, 0.9375, 0.9512, 0.3113, 0.8115, 0.7344, 0.7295, 0.7451, 0.9536,\n","        0.2046, 0.6475, 0.6221, 0.8940, 0.7534, 0.2534, 0.8696, 0.7783, 0.2404,\n","        0.7168, 0.7974, 0.3701, 0.9277, 0.7983, 0.8467, 0.9614, 0.5732, 0.8555,\n","        0.6504, 0.2200, 0.9536, 0.7646, 0.5190, 0.8525, 0.8916, 0.7803, 0.7612,\n","        0.5498, 0.6406, 0.5581, 0.6895, 0.6699, 0.9590, 0.5908, 0.7769, 0.6968,\n","        0.8525, 0.9663], dtype=torch.float64)\n"]}],"source":["'''Find Directory'''\n","\n","home = Path.cwd().parts[1]\n","root_dir = f'/{home}/ylan/workspace/TransMIL-DeepGraft/logs/DeepGraft/{model}/{task}/_{a}_CrossEntropyLoss/lightning_logs/version_{version}/test_epoch_{epoch}'\n","print(root_dir)\n","patient_result_csv_path = Path(root_dir) / 'TEST_RESULT_PATIENT.csv'\n","print(patient_result_csv_path)\n","threshold_csv_path = f'{root_dir}/val_thresholds.csv'\n","\n","# patient_result_csv_path = Path(f'/{home}/ylan/workspace/HIA/logs/DeepGraft_Lancet/clam_mb/DEEPGRAFT_CLAMMB_TRAINFULL_{task}/RESULTS/TEST_RESULT_PATIENT_BASED_FULL.csv')\n","# threshold_csv_path = ''\n","\n","output_dir = f'/{home}/ylan/workspace/TransMIL-DeepGraft/test/results/{model}/'\n","Path(output_dir).mkdir(parents=True, exist_ok=True)\n","\n","patient_result = pd.read_csv(patient_result_csv_path)\n","pprint.pprint(patient_result)\n","\n","\n","\n","probs = torch.from_numpy(np.array(patient_result[labels]))\n","probs = probs.squeeze()\n","\n","    \n","# print(probs.shape)\n","\n","print(probs)\n","\n","\n","#     probs = \n","    \n","# probs = torch.transpose(probs, 0,1).squeeze()\n","target = torch.from_numpy(np.array(patient_result.yTrue))\n","\n","#swap values for rest_rej for it to align\n","if task == 'rest_rej':\n","    probs = 1-probs\n","    target = -1 * (target-1)\n","    task = 'rej_rest'\n","if add_on == '0':\n","    target = -1 * (target-1)\n","\n","# \n","# target = torch.stack((fake_target, target), dim=1)\n","# print(target.shae)\n","# print(target)\n","# target = -1 * (target-1)\n","# print(target)\n","\n"]},{"cell_type":"code","execution_count":4,"metadata":{},"outputs":[],"source":["from utils import get_roc_curve, get_pr_curve, get_confusion_matrix"]},{"cell_type":"code","execution_count":5,"metadata":{},"outputs":[{"data":{"image/png":"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phMnTqi8vLzathaLRStXrqzxtmfPnq1nn31W6enp6tGjh/72t7+pX79+1bbPycnRlClTtHjxYp04cUJt27bVrFmzdM0119TqOwEAgMbBa6HlkUce0eOPPy632y3DMM7Z3mKx1HjbCxYs0IQJE/TSSy8pKSlJs2bNUmpqqnbv3q2oqKgz2peVlenXv/61oqKi9O677yo+Pl4HDhxQeHh4bb4SAABoRLwSWt5++2098sgjkqS4uDilpqYqLi5Ofn7eyUQvvPCCxowZo9GjR0uSXnrpJS1dulTz5s3TpEmTzmg/b948nThxQhs2bJC/v78kKTEx0Su1AAAA3/BKqpg9e7Yk6brrrtPChQtlt9u9sVlJp86abNmyRZMnT/Yss1qtSklJ0caNG6tc58MPP1RycrLGjh2rDz74QK1atdLw4cM1ceJE2Wy2KtcpLS1VaWmp531eXp7XvgMAAPjlvDIQd8eOHbJYLJozZ45XA4skZWdny+VyKTo6utLy6OhopaenV7nO3r179e6778rlcmnZsmV6+OGH9fzzz+vxxx+vtp+ZM2cqLCzM80pISPDq9wAAAL+MV0KLxWJRaGio4uLivLG5X8ztdisqKkqvvPKKevfurWHDhmnKlCl66aWXql1n8uTJys3N9bwOHTrUgBUDAIBz8crloc6dOystLU2lpaVyOBze2KRHZGSkbDabMjIyKi3PyMhQTExMlevExsbK39+/0qWgLl26KD09XWVlZVWeDXI4HF6vHQAAeI9XzrTceeedKi8v16JFi7yxuUrsdrt69+5d6fZot9utlStXKjk5ucp1BgwYoO+//15ut9uz7Ntvv1VsbKzXL18BAICG4ZXQMmbMGF133XW6//77tXbtWm9sspIJEybo1Vdf1VtvvaVvvvlG9957rwoLCz13E40cObLSQN17771XJ06c0B//+Ed9++23Wrp0qZ588kmNHTvW67UBAICG4ZXLQ48++qh69OihdevWadCgQRowYICSkpIUEhJy1vWmTZtWo+0PGzZMWVlZmjZtmtLT09WzZ08tX77cMzj34MGDslp/zF8JCQn6+OOPNX78eHXv3l3x8fH64x//qIkTJ9b9SwIAAJ+yGDWZCe4crFarZ7K405uryeRxLpfrl3Zdb/Ly8hQWFqbc3FyFhob6uhwAAEyjvo6hXjnTctlll9VqhlsAAIDa8kpo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atGihTp16uSt2ipJSkpS37599eKLL3r6TUhI0H333adJkyZVuY7L5dJll12m3//+91q3bp1ycnK0ZMmSGvXH5SEAAOqm0V0eKi8v18SJE9WiRQt169ZNAwYMUJcuXdSqVSs98cQTXp23paysTFu2bFFKSopnmdVqVUpKijZu3Fjteo8++qiioqJ0xx13nLOP0tJS5eXlVXoBAIDGo86Xh4YOHarly5efEU6OHz+uadOm6bvvvtObb775S+uTJGVnZ8vlcik6OrrS8ujoaO3atavKddavX6/XX39daWlpNepj5syZeuSRR35pqQAAoJ7U6UzLokWL9J///EeGYahjx46aPHmyZs+erQcffNAzO+4//vEPrVmzxtv11kh+fr5GjBihV199VZGRkTVaZ/LkycrNzfW8Dh06VM9VAgCA2qjTmZZ//vOfkqQrr7xSH3zwgRwOh+ezKVOm6IorrtDWrVv19ttv6/LLL//FRUZGRspmsykjI6PS8oyMDMXExJzRfs+ePdq/f7+GDBniWXb6biU/Pz/t3r1bHTp0qLSOw+Go9D0AAEDjUqczLV9++aUsFov+8pe/nHGgDw0N1dNPPy3DMLw2rb/dblfv3r21cuVKzzK3262VK1cqOTn5jPadO3fW9u3blZaW5nldd911GjRokNLS0pSQkOCVugAAQMOp05mW7OxsOZ1OdenSpcrP+/Tp42nnLRMmTNCoUaPUp08f9evXT7NmzVJhYaFGjx4tSRo5cqTi4+M1c+ZMOZ1Ode3atdL64eHhknTGcgAAYA51Ci2lpaVVXpY5LSwszNPOW4YNG6asrCxNmzZN6enp6tmzp5YvX+4ZnHvw4EFZrV6ZKw8AADRCdZqnxWq1KiYmRkePHv1FbRoz5mkBAKBuGt08LQAAAA2pzvO0ZGRknPVBiRaL5axtGvsDEwEAQONS59DizRlvAQAAzqVOoWX69OnergMAAOCsfvEDE5sqBuICAFA3DMQFAADNGqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYAqEFAACYgqlCy+zZs5WYmCin06mkpCRt2rSp2ravvvqqLr30UkVERCgiIkIpKSlnbQ8AABo304SWBQsWaMKECZo+fbq+/PJL9ejRQ6mpqcrMzKyy/erVq3Xrrbfqs88+08aNG5WQkKArr7xSR44caeDKAQCAN1gMwzB8XURNJCUlqW/fvnrxxRclSW63WwkJCbrvvvs0adKkc67vcrkUERGhF198USNHjjzj89LSUpWWlnre5+XlKSEhQbm5uQoNDfXeFwEAoInLy8tTWFiY14+hpjjTUlZWpi1btiglJcWzzGq1KiUlRRs3bqzRNoqKilReXq4WLVpU+fnMmTMVFhbmeSUkJHildgAA4B2mCC3Z2dlyuVyKjo6utDw6Olrp6ek12sbEiRMVFxdXKfj81OTJk5Wbm+t5HTp06BfXDQAAvMfP1wU0hKeeekrz58/X6tWr5XQ6q2zjcDjkcDgauDIAAFBTpggtkZGRstlsysjIqLQ8IyNDMTExZ133ueee01NPPaVPP/1U3bt3r88yAQBAPTLF5SG73a7evXtr5cqVnmVut1srV65UcnJytes988wzeuyxx7R8+XL16dOnIUoFAAD1xBRnWiRpwoQJGjVqlPr06aN+/fpp1qxZKiws1OjRoyVJI0eOVHx8vGbOnClJevrppzVt2jS98847SkxM9Ix9CQ4OVnBwsM++BwAAqBvThJZhw4YpKytL06ZNU3p6unr27Knly5d7BucePHhQVuuPJ47mzp2rsrIy/eY3v6m0nenTp2vGjBkNWToAAPAC08zT0tDq6x5z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2y3p1Bmhm266SdKpsSutW7fWokWLdPfdd0uSHn74Yc86vXr1UmFhoZ599tkzQsu6detUUFCgzz//XJMmTVLHjh1166231lv9tUVoAYAmKMBe8z/v9dX2XIKCgtSxY0fP+9dee01hYWF69dVXNXjwYN1222165JFHlJqaqrCwMM2fP1/PP/+8p/2MGTM0fPhwLV26VP/5z380ffp0zZ8/XzfccIMKCgp09913n3FQlqQ2bdrUuMbTl5ukHwPc6aBQkz5qc3koJiZGmzZtqvRZRkaG57OqnA5SF1xwgWeZw+FQ+/btzzqgOSkpSY899phKS0vlcDg8y9u1aydJ6tatmzIyMjRjxgxCCwAAP2exWGS1WlVcXKwNGzaobdu2mjJliufzAwcOnLFOp06d1KlTJ40fP1633nqr3njjDd1www266KKLtHPnzkqhyNtq0kdtLg8lJyfriSeeUGZmpufszIoVKxQaGloplPxU79695XA4tHv3bl1yySWSpPLycu3fv19t27attq+0tDRFRERUCiw/53a7VVpaWqPaGwqhBQDgE6WlpZ6xGidPntSLL76ogoICDRkyRHl5eTp48KDmz5+vvn37aunSpXr//fc96xYXF+vBBx/Ub37zG7Vr106HDx/WF1984blEMnHiRF188cUaN26c7rzzTgUFBWnnzp1asWKFXnzxRa/UX5M+anN56Morr9QFF1ygESNG6JlnnvHcBj527FhPuNi0aZNGjhyplStXKj4+XqGhobrnnns0ffp0JSQkqG3btnr22WclSTfffLMk6d///rcyMjJ08cUXy+l0asWKFXryyScrhanZs2erTZs2nvFBa9eu1XPPPVflWSRfIrQAAHxi+fLlnssbISEh6ty5sxYtWqSBAwdKksaPH69x48aptLRUgwcP1sMPP6wZM2ZIkmw2m44fP66RI0cqIyNDkZGRuvHGG/XII49IOjUWZc2aNZoyZYouvfRSGYahDh06aNiwYV6r39t92Gw2ffTRR7r33nuVnJysoKAgjRo1So8++qinTVFRkXbv3q3y8h/v4Hr22Wfl5+enESNGqLi4WElJSVq1apUiIiIknbrENXv2bI0fP16GYahjx4564YUXNGbMGM823G63Jk+erH379snPz08dOnTQ008/7RkT01hYDMMwfF1EY5SXl6ewsDDl5uZWGvgFAI1FSUmJ9u3bp3bt2tX4bhjAW872+1dfx1Cm8QcAAKZAaAEAAKZAaAEAAKZAaAEAAKZAaAEAk+N+CviCL37vCC0AYFKnZ2stKirycSVojsrKyiSdulW7oTBPCwCYlM1mU3h4uDIzMyVJgYGB1T61F/Amt9utrKwsBQYGys+v4aIEoQUATOz0M2lOBxegoVitVrVp06ZBgzKhBQBMzGKxKDY2VlFRUZVmSQXqm91ul9XasKNMCC0A0ATYbLYGHVsA+IKpBuLOnj1biYmJcjqdSkpKOuMR3j+3aNEide7cWU6nU926ddOyZcsaqFIAAOBtpgktCxYs0IQJEzR9+nR9+eWX6tGjh1JTU6u9jrthwwbdeuutuuOOO7R161YNHTpUQ4cO1Y4dOxq4cgAA4A2meWBiUlKS+vbt63nct9vtVkJCgu677z5NmjTpjPbDhg1TYWGhPvroI8+yiy++WD179tRLL710zv54YCIAAHVTX8dQU4xpKSsr05YtWzR58mTPMqvVqpSUFG3cuLHKdTZu3KgJEyZUWpaamqolS5ZU2b60tFSlpaWe97m5uZJO7XgAAFBzp4+d3j4vYorQkp2dLZfLpejo6ErLo6OjtWvXrirXSU9Pr7J9enp6le1nzpypRx555IzlCQkJdawaAIDm7fjx4woLC/Pa9kwRWhrC5MmTK52ZycnJUdu2bXXw4EGv7nBULy8vTwkJCTp06BCX5BoI+7zhsc8bHvu84eXm5qpNmzZq0aKFV7dritASGRkpm82mjIyMSsszMjI8Eyv9XExMTK3aOxwOORyOM5aHhYXxS97AQkND2ecNjH3e8NjnDY993vC8PY+LKe4estvt6t27t1auXOlZ5na7tXLlSiUnJ1e5TnJycqX2krRixYpq2wMAgMbNFGdaJGnChAkaNWqU+vTpo379+mnWrFkqLCzU6NGjJUkjR45UfHy8Zs6cKUn64x//qMsvv1zPP/+8Bg8erPnz52vz5s165ZVXfPk1AABAHZkmtAwbNkxZWVmaNm2a0tPT1bNnTy1fvtwz2PbgwYOVTkP1799f77zzjqZOnao///nPOu+887RkyRJ17dq1Rv05HA5Nnz69yktGqB/s84bHPm947POGxz5vePW1z00zTwsAAGjeTDGmBQAAgNACAABMgdACAABMgdACAABMoVmHltmzZysxMVFOp1NJSUnatGnTWdsvWrRInTt3ltPpVLdu3bRs2bIGqrTpqM0+f/XVV3XppZcqIiJCERERSklJOef/RjhTbX/PT5s/f74sFouGDh1avwU2QbXd5zk5ORo7dqxiY2PlcDjUqVMn/r7UUm33+axZs3T++ecrICBACQkJGj9+vEpKShqoWvNbu3athgwZori4OFkslmqf6/dTq1ev1kUXXSSHw6GOHTvqzTffrH3HRjM1f/58w263G/PmzTO+/vprY8yYMUZ4eLiRkZFRZfv//ve/hs1mM5555hlj586dxtSpUw1/f39j+/btDVy5edV2nw8fPtyYPXu2sXXrVuObb74xfve73xlhYWHG4cOHG7hy86rtPj9t3759Rnx8vHHppZca119/fcMU20TUdp+XlpYaffr0Ma655hpj/fr1xr59+4zVq1cbaWlpDVy5edV2n7/99tuGw+Ew3n77bWPfvn3Gxx9/bMTGxhrjx49v4MrNa9myZcaUKVOMxYsXG5KM999//6zt9+7dawQGBhoTJkwwdu7cafztb38zbDabsXz58lr122xDS79+/YyxY8d63rtcLiMuLs6YOXNmle1/+9vfGoMHD660LCkpybj77rvrtc6mpLb7/OcqKiqMkJAQ46233qqvEpucuuzziooKo3///sZrr71mjBo1itBSS7Xd53PnzjXat29vlJWVNVSJTU5t9/nYsWONK664otKyCRMmGAMGDKjXOpuqmoSWhx56yLjwwgsrLRs2bJiRmppaq76a5eWhsrIybdmyRSkpKZ5lVqtVKSkp2rhxY5XrbNy4sVJ7SUpNTa22PSqryz7/uaKiIpWXl3v9AVxNVV33+aOPPqqoqCjdcccdDVFmk1KXff7hhx8qOTlZY8eOVXR0tLp27aonn3xSLperoco2tbrs8/79+2vLli2eS0h79+7VsmXLdM011zRIzc2Rt46hppkR15uys7Plcrk8s+meFh0drV27dlW5Tnp6epXt09PT663OpqQu+/znJk6cqLi4uDN+8VG1uuzz9evX6/XXX1daWloDVNj01GWf7927V6tWrdJtt92mZcuW6fvvv9cf/vAHlZeXa/r06Q1RtqnVZZ8PHz5c2dnZuuSSS2QYhioqKnTPPffoz3/+c0OU3CxVdwzNy8tTcXGxAgICarSdZnmmBebz1FNPaf78+Xr//ffldDp9XU6TlJ+frxEjRujVV19VZGSkr8tpNtxut6KiovTKK6+od+/eGjZsmKZMmaKXXnrJ16U1WatXr9aTTz6pOXPm6Msvv9TixYu1dOlSPfbYY74uDefQLM+0REZGymazKSMjo9LyjIwMxcTEVLlOTExMrdqjsrrs89Oee+45PfXUU/r000/VvXv3+iyzSantPt+zZ4/279+vIUOGeJa53W5Jkp+fn3bv3q0OHTrUb9EmV5ff89jYWPn7+8tms3mWdenSRenp6SorK5Pdbq/Xms2uLvv84Ycf1ogRI3TnnXdKkrp166bCwkLdddddmjJlSqXn2ME7qjuGhoaG1vgsi9RMz7TY7Xb17t1bK1eu9Cxzu91auXKlkpOTq1wnOTm5UntJWrFiRbXtUVld9rkkPfPMM3rssce0fPly9enTpyFKbTJqu887d+6s7du3Ky0tzfO67rrrNGjQIKWlpSkhIaEhyzeluvyeDxgwQN9//70nIErSt99+q9jYWAJLDdRlnxcVFZ0RTE6HRoPH8dULrx1DazdGuOmYP3++4XA4jDfffNPYuXOncddddxnh4eFGenq6YRiGMWLECGPSpEme9v/9738NPz8/47nnnjO++eYbY/r06dzyXEu13edPPfWUYbfbjXfffdc4duyY55Wfn++rr2A6td3nP8fdQ7VX231+8OBBIyQkxBg3bpyxe/du46OPPjKioqKMxx9/3FdfwXRqu8+nT59uhISEGP/617+MvXv3Gp988onRoUMH47e//a2vvoLp5OfnG1u3bjW2bt1qSDJeeOEFY+vWrcaBAwcMwzCMSZMmGSNGjPC0P33L84MPPmh88803xuzZs7nlubb+9re/GW3atDHsdrvRr18/4/PPP/d8dvnllxujRo2q1H7hwoVGp06dDLvdblx44YXG0qVLG7hi86vNPm/btq0h6YzX9OnTG75wE6vt7/lPEVrqprb7fMOGDUZSUpLhcDiM9u3bG0888YRRUVHRwFWbW232eXl5uTFjxgyjQ4cOhtPpNBISEow//OEPxsmTJxu+cJP67LPPqvz7fHo/jxo1yrj88svPWKdnz56G3W432rdvb7zxxhu17tdiGJwLAwAAjV+zHNMCAADMh9ACAABMgdACAABMgdACAABMgdACAABMgdACAABMgdACAABMgdACAABMgdACAGdhsVhksVi0evXqWn0GwPsILQBqZcaMGZ6D9U9fDodDcXFxSk1N1Wuvvaby8nJflwqgiSG0AKiz6Ohoz8vPz0/Hjh3TJ598ojFjxqh///46efKkr0sE0IQQWgDUWXp6uudVWFioAwcOaMyYMZKkzZs36/777/dxhQCaEkILAK9p06aNXnnlFV1xxRWSpIULF6qgoMDHVQFoKggtALzuqquukiSVlZXpu+++O+Pz/Px8PfXUU0pOTlaLFi3kcDiUkJCgW265RRs3bjzn9j/55BPdcsstatu2rQICAtSiRQt1795d99133xnru91urVy5Uvfff78uvvhitW7dWna7XS1bttTll1+ul156ifE3gEn4+boAAE2PYRien10uV6XP0tLSNGTIEB0+fFiSZLPZFBgYqMOHD2vBggVauHChnnjiCU2ePPmM7RYVFel3v/udFi1a5FkWEhIit9ut7du3a/v27Vq3bp3S0tI8nx88eFApKSme98HBwQoMDNSJEye0du1arV27Vu+8844+/vhjBQQEeGsXAKgHnGkB4HUff/yxpFO3BLdr186z/NixY0pNTdXhw4d14403avPmzSouLlZeXp4yMjL08MMPy2az6c9//rOWLFlyxnZHjx6tRYsWyWq1auLEiTp06JDy8vKUk5OjrKwsvf3220pOTq60jp+fn2677TZ9+OGHOn78uPLz85WTk6P8/Hy98cYbiouL07p16zRlypR63ScAvMAAgFqYPn26Icmo6s/HgQMHjDFjxng+v+666yp9/vvf/96QZAwfPrza7b/wwguGJKNHjx6Vln/66aee7c6ZM8cr38UwDOOLL74wJBlBQUFGcXHxGZ+f7vOzzz6r1WcAvI8zLQDqLCYmxvMKCgpS27Zt9eqrr0qSOnfurDlz5njalpSU6J133pEkTZw4sdptjhw5UpL01VdfKSMjw7N83rx5kqSuXbvq3nvv9dp36NOnj6KiolRYWFjpshKAxocxLQDq7Keh4qdGjhypl19+WU6n07Nsy5YtKikpkSRdeeWVNdr+gQMHFB0dLUnasGGDJOnaa6+tdZ1lZWWaN2+eFi9erB07duj48eMqKys7o93pcTYAGidCC4A6M34YcGsYhtLT0/Xhhx9q0qRJ+vvf/65u3brpgQce8LQ9evSo5+fqws7PFRUVeX5OT0+XJLVt27ZWNWZmZiolJUXbt2/3LHM6nYqMjJTNZpMkZWVlye12q7CwsFbbBtCwuDwE4BezWCyKjY3V3Xffrffff18Wi0UPPfSQVq1a5Wnz07uIiouLZRjGOV8DBw6s1EddjB8/Xtu3b1fLli01b948HTt2TMXFxcrKyvJMjBcXFyep8l1PABofQgsArxo4cKBGjBghwzB03333ecJKTEyMp82BAwdqvd3T69dm3fLyci1evFiS9OKLL2r06NGV6pBOhans7Oxa1wOg4RFaAHjdtGnTZLPZtHPnTr311luSpL59+8put0uS/v3vf9d6m/3796/1ullZWZ5xNL169aqyzfr16z1tADRuhBYAXtehQwcNGzZMkvTYY4+pvLxcQUFBGj58uCTp6aef1sGDB8+6jRMnTlR6f8cdd0iSvv76a82dO7dGdYSGhnouK3311VdnfF5RUcH8LICJEFoA1IvJkyfLYrFo//79ev311yVJTz75pOLi4pSdna3k5GT94x//UH5+vmedrKwsvffee7rhhht06623VtreoEGDdMstt0iSxo0bp8mTJ1e62yc7O1uvvfaaJ9xIp2a/HTBggCRpwoQJWrVqldxutyRpx44duuaaa7R582YFBQXVz04A4F0+mR0GgGmdbXK5n7v++usNSUbr1q2NkpISwzAMY+fOnUanTp0827BarUaLFi2MoKAgzzJJRkpKyhnbKywsNG688cZK7UJDQ42wsDDP+59PSrd58+ZK23Y4HEZISIghyfDz8zP+/ve/G23btjUkGW+88cYZfYrJ5YBGgzMtAOrN6Usvhw8f1ssvvyxJ6tKli7Zt26aXX35ZV155pSIjI5WXlyfDMNSxY0fdfPPNeuWVV7Rw4cIzthcYGKj33ntPH330kW644QbFxcWppKREfn5+6t69u+6//3698sorldbp3bu3Nm3apN/+9reKjIyU2+1WSEiIfvvb32rDhg0aMWJE/e8IAF5hMQzu8QMAAI0fZ1oAAIApEFoAAIApEFoAAIApEFoAAIApEFoAAIApEFoAAIApEFoAAIApEFoAAIApEFoAAIApEFoAAIApEFoAAIApEFoAAIApEFoAAIAp/H9j8jvypeJdGgAAAABJRU5ErkJggg==","text/plain":["<Figure size 600x600 with 1 Axes>"]},"metadata":{},"output_type":"display_data"},{"data":{"image/png":"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NJmYK7eHvJXVCrfeCj/8oAaW776TwCKEcCuZvyL+TuvfExJavJHVCrfcAj/+CCaTGliuuUbrqoQQQogaJaHFGxUXQ0qKGli+/x4GDNC6IiGEEKLGSWjxRuHhsHIl7NsHV16pdTVCCCFErZDVQ96ipES9DVQmMlICixBC1LLi4mJeeOEFWrZsiclkIiEhgTFjxpT3L6mKlStXMnjwYOrVq0dAQABRUVFcc801LFq06Lzn9+7dG51Od8Gv5cuXn/Ocl1566R+f8/TTT1e5bi3JSIs3KClRNztcvhw+/BDGjtW6IiGEqHNKSkro27cvW7duJT4+nhtuuIHjx4/z2Wef8eOPP7J161aaNm1aqdeaMmUKjz/+ODqdju7du9OwYUOSk5P5+eefWblyJc888wyvvfbaeZ978803ExIScs7x+vXrX/B6PXv2pPl5enh16tSpUvV6Cgktnq64WN3s8KefICgILrlE64qEEKJOevXVV9m6dSvdu3fnp59+Kg8O77zzDhMmTGDMmDGsXbv2oq+TkZHB008/TUBAACtXrqRXr17lj61fv55rrrmGyZMnc88995w3BL311ls0bty4SrXfe++93HXXXVV6jieS20OerLhY3eywLLAsXQq9e2tdlRBC1DmlpaV88MEHAEydOrXCSMf48eNp164d69atY9euXRd9rW3btmG1Wunbt2+FwAJw9dVXM3DgQBRFYefOne79RfgACS2eqqgIrr9enXAbHAzLlsHffnMLIYSoHZs2bSIvL49mzZpx+eWXn/P4LbfcAsAPP/xw0deqbNO+qKioqhVZB8jtIU9kt6uBZdWqs4Hlqqu0rkoIIeqsX3/9FYCOHTue9/Gy47/99ttFX6tr166Eh4ezevVq1q1bd87toRUrVtCiRQuuusDf+zNmzCArKws/Pz9atmzJ0KFDadSo0T9ec/Xq1ezZs4eSkhIaNGjAoEGDvG4+C0ho8Uz+/uqoyrZtamCRVUJCCA+iKAolNofWZVSaKaD6u1MnJSUB0KBBg/M+Xnb8xIkTF30ts9nMjBkzGDFiBH369KFHjx40aNCAkydPsnnzZnr27MmcOXMwGAznff6rr75a4ecnnniC559/nueff/6C15w7d26Fn59//nluvvlmZs2add5JvZ5KQounev55uOsuaNhQ60qEEKKCEpuDPq+t0rqMSlvzbD8CDdX7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","text/plain":["<Figure size 600x600 with 1 Axes>"]},"metadata":{},"output_type":"display_data"}],"source":["# from utils import get_roc_curve, get_pr_curve, get_confusion_matrix\n","\n","stage='test'\n","comment='patient'\n","pr_plot = get_pr_curve(probs, target, task=task)\n","pr_plot.figure.savefig(f'{output_dir}/{task}_{add_on}_pr.png', dpi=400)\n","pr_plot.figure.savefig(f'{output_dir}/{task}_{add_on}_pr.svg', format='svg')\n","plt.show()\n","\n","pr_plot.figure.clf()\n","\n","roc_plot = get_roc_curve(probs, target, task=task)\n","roc_plot.legend(loc='lower right', fontsize=15)\n","roc_plot.figure.savefig(f'{output_dir}/{task}_{add_on}_roc.png', dpi=400)\n","roc_plot.figure.savefig(f'{output_dir}/{task}_{add_on}_roc.svg', format='svg')\n","plt.show()\n","\n","roc_plot.figure.clf()"]},{"cell_type":"code","execution_count":6,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["Optimal Threshold test patient:  0.7783203125\n"]},{"data":{"image/png":"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314ff/yxbrjhhvLOCAAA4FLmNS/Dhw9XQUGBkpKSlJ6ervT0dCUlJcnpdGr48OEVkREAAMClzDMvX375pbZt26aoqCjXWFRUlN555x117NixXMMBAABcrswzL/Xq1SvxZnRFRUWqU6dOuYQCAAC4kjKXlzfeeENPPfWUdu7c6RrbuXOnRo8erTfffLNcwwEAAFzOYRiGca2dqlatKofD4Xp97tw5FRYWysvrwlmni/9dpUoVpaenV1zaUuo4dYvZEQBUkLWjbzc7AoAK4lfKxSyl2u1vf/vb74gCAABQfkpVXmJjYys6BwAAQKn85pvUSVJubq7y8/PdxoKDg39XIAAAgKsp84Ldc+fO6cknn1StWrVUpUoVVa1a1e0LAACgIpW5vDz33HNav3693nvvPfn6+uqDDz7QxIkTVadOHc2ePbsiMgIAALiU+bTR8uXLNXv2bN1xxx16+OGH1bFjR0VGRioiIkJz587V4MGDKyInAACApN8w85Kenq5GjRpJurC+5eKl0bfffrs2bdpUvukAAAAuU+by0qhRIx09elSSdOONN2rBggWSLszIXHxQIwAAQEUpc3l5+OGHtW/fPknSuHHj9I9//EN+fn4aM2aMnn322XIPCAAAcKlS3WH3av7zn/9o165dioyM1M0331xeuX4X7rAL/HFxh13gj6tc77B7NREREYqIiPi9hwEAACiVUpWXadOmlfqAo0aN+s1hAAAArqVUp40aNmxYuoM5HDpy5MjvDvV7Td+eYnYEABVkzEieXg/8UZ3f826p9ivVzMvFq4sAAADMVuarjQAAAMxEeQEAALZCeQEAALZCeQEAALZCeQEAALbym8rL5s2bNWTIELVr107Hjx+XJM2ZM0dbtnBnWwAAULHKXF4WLVqkHj16yN/fX3v27FFeXp4kKTMzU6+++mq5BwQAALhUmcvLyy+/rOnTp+v999+Xt7e3a7xDhw7avXt3uYYDAAC4XJnLS3Jysjp16lRsPCQkRBkZGeWRCQAA4IrKXF7Cw8N16NChYuNbtmxRo0aNyiUUAADAlZS5vIwYMUKjR4/Wjh075HA4dOLECc2dO1dxcXF64oknKiIjAACAS6mebXSpcePGyel06q677lJOTo46deokX19fxcXF6amnnqqIjAAAAC6leqp0SfLz83Xo0CFlZ2erWbNmCgwMLO9svxlPlQb+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AAAsyNSZl8TERG3atEnr1q1Tly5d3LatX79effv21ezZszV06FCTEgIAAKsxdeZl3rx5ev7554sVF0m68847NW7cOM2dO9eEZAAAwKpMLS/ffvutevbsecXtd999N0+VBgAAbkwtL+np6QoLC7vi9rCwMJ05c6YSEwEAAKsztbwUFRXJy+vKy248PT1VWFhYiYkAAIDVmbpg1zAMDRs2TL6+viVuz8vLq+REAADA6kwtL7GxsdfchyuNAADApUwtLzNnzjTz4wEAgA2ZuuYFAACgrCgvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVigvAADAVhyGYRhmhwB+q7y8PCUkJGj8+PHy9fU1Ow6AcsTPN66E8gJby8rKUkhIiDIzMxUcHGx2HADliJ9vXAmnjQAAgK1QXgAAgK1QXgAAgK1QXmBrvr6+eumll1jMB/wB8fONK2HBLgAAsBVmXgAAgK1QXgAAgK1QXgAAgK1QXoASbNy4UQ6HQxkZGWZHAWzN4XBo6dKlZsfAHwzlBRVu2LBhcjgceu2119zGly5dKofDYVIqAL/HxZ9rh8Mhb29vhYWFqVu3bvroo4/kdDpd+6Wlpenuu+82MSn+iCgvqBR+fn56/fXXdebMmXI7Zn5+frkdC0DZ9ezZU2lpaUpJSdHq1avVpUsXjR49Wvfee68KCwslSeHh4VzqjHJHeUGl6Nq1q8LDw5WQkHDFfRYtWqTmzZvL19dXDRo00NSpU922N2jQQJMnT9bQoUMVHBys//qv/1JiYqJCQ0O1YsUKRUVFKSAgQAMHDlROTo5mzZqlBg0aqGrVqho1apSKiopcx5ozZ47atm2roKAghYeH68EHH9TPP/9cYd8/8Efk6+ur8PBw1a1bVzExMXr++ef16aefavXq1UpMTJTkftooPz9fTz75pGrXri0/Pz9FRES4/U7IyMjQ8OHDVbNmTQUHB+vOO+/Uvn37XNsPHz6sPn36KCwsTIGBgbrlllv0xRdfuGX65z//qSZNmsjPz09hYWEaOHCga5vT6VRCQoIaNmwof39/tWzZUgsXLqy4PyBUGMoLKoWnp6deffVVvfPOOzp27Fix7bt27dKgQYP0l7/8Rfv379eECRMUHx/v+gV40ZtvvqmWLVtqz549io+PlyTl5ORo2rRp+vjjj7VmzRpt3LhR/fr106pVq7Rq1SrNmTNHM2bMcPslVVBQoMmTJ2vfvn1aunSpUlJSNGzYsIr8IwCuC3feeadatmypxYsXF9s2bdo0LVu2TAsWLFBycrLmzp2rBg0auLb/+c9/1s8//6zVq1dr165diomJ0V133aX09HRJUnZ2tnr16qV169Zpz5496tmzp+677z6lpqZKknbu3KlRo0Zp0qRJSk5O1po1a9SpUyfX8RMSEjR79mxNnz5d33//vcaMGaMhQ4boyy+/rNg/FJQ/A6hgsbGxRp8+fQzDMIzbbrvNeOSRRwzDMIwlS5YYF/8KPvjgg0a3bt3c3vfss88azZo1c72OiIgw+vbt67bPzJkzDUnGoUOHXGOPPfaYERAQYJw9e9Y11qNHD+Oxxx67YsZvvvnGkOR6z4YNGwxJxpkzZ8r+DQPXgUt/ri93//33G9HR0YZhGIYkY8mSJYZhGMZTTz1l3HnnnYbT6Sz2ns2bNxvBwcFGbm6u23jjxo2NGTNmXDFH8+bNjXfeeccwDMNYtGiRERwcbGRlZRXbLzc31wgICDC2bdvmNv7oo48aDzzwwBWPD2ti5gWV6vXXX9esWbOUlJTkNp6UlKQOHTq4jXXo0EEHDx50O93Ttm3bYscMCAhQ48aNXa/DwsLUoEEDBQYGuo1delpo165duu+++1S/fn0FBQWpc+fOkuT6FxyA384wjBIX4w8bNkx79+5VVFSURo0apc8//9y1bd++fcrOzlb16tUVGBjo+jp69KgOHz4s6cLMS1xcnKKjoxUaGqrAwEAlJSW5fm67deumiIgINWrUSA899JDmzp2rnJwcSdKhQ4eUk5Ojbt26uR1/9uzZruPDPrzMDoDrS6dOndSjRw+NHz/+N52mqVKlSrExb29vt9cXr364fOziFRDnzp1Tjx491KNHD82dO1c1a9ZUamqqevTowSJgoBwkJSWpYcOGxcZjYmJ09OhRrV69Wl988YUGDRqkrl27auHChcrOzlbt2rW1cePGYu8LDQ2VJMXFxWnt2rV68803FRkZKX9/fw0cOND1cxsUFKTdu3dr48aN+vzzz/Xiiy9qwoQJ+uabb5SdnS1JWrlyperWret2fBYU2w/lBZXutddeU6tWrRQVFeUai46O1tatW93227p1q5o2bSpPT89y/fwDBw7o119/1WuvvaZ69epJunCuHMDvt379eu3fv19jxowpcXtwcLDuv/9+3X///Ro4cKB69uyp9PR0xcTE6OTJk/Ly8nJbB3OprVu3atiwYerXr5+kCzMxKSkpbvt4eXmpa9eu6tq1q1566SWFhoZq/fr16tatm3x9fZWamuqaaYV9UV5Q6Vq0aKHBgwdr2rRprrFnnnlGt9xyiyZPnqz7779f27dv17vvvqt//vOf5f759evXl4+Pj9555x09/vjj+u677zR58uRy/xzgjy4vL08nT55UUVGRTp06pTVr1ighIUH33nuvhg4dWmz/t956S7Vr11br1q3l4eGhTz75ROHh4QoNDVXXrl3Vrl079e3bV1OmTFHTpk114sQJrVy5Uv369VPbtm3VpEkTLV68WPfdd58cDofi4+Pd7imzYsUKHTlyRJ06dVLVqlW1atUqOZ1ORUVFKSgoSHFxcRozZoycTqduv/12ZWZmauvWrQoODlZsbGxl/tHhd6K8wBSTJk3S/PnzXa9jYmK0YMECvfjii5o8ebJq166tSZMmVcgVQDVr1lRiYqKef/55TZs2TTExMXrzzTfVu3fvcv8s4I9szZo1ql27try8vFS1alW1bNlS06ZNU2xsrDw8ii+pDAoK0pQpU3Tw4EF5enrqlltu0apVq1z7rlq1Si+88IIefvhhnT59WuHh4erUqZPCwsIkXSg/jzzyiNq3b68aNWpo7NixysrKch0/NDRUixcv1oQJE5Sbm6smTZpo3rx5at68uSRp8uTJqlmzphISEnTkyBGFhoa6LvGG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","text/plain":["<Figure size 640x480 with 1 Axes>"]},"metadata":{},"output_type":"display_data"},{"data":{"text/plain":["<Figure size 640x480 with 0 Axes>"]},"metadata":{},"output_type":"display_data"}],"source":["stage = 'test'\n","comment='patient'\n","\n","cm_plot = get_confusion_matrix(probs, target, task=task, threshold_csv_path = threshold_csv_path)\n","\n","plt.show()\n","# cm_plot.figure.set(font_scale=18)\n","cm_plot.savefig(f'{output_dir}/{task}_cm.png', dpi=400)\n","cm_plot.savefig(f'{output_dir}/{task}_cm.svg', format='svg')\n","\n","# plt.savefig(f'{output_dir}/{task}_cm.png', dpi=400)\n","\n","cm_plot.clf()\n","\n","\n","\n"]},{"cell_type":"code","execution_count":7,"metadata":{},"outputs":[],"source":["# print((Path(output_dir)/task).stem)\n","# print(output_dir)\n","# model = 'vit'\n","# task = 'norm_rest'\n","# output_dir = f'/{home}/ylan/workspace/TransMIL-DeepGraft/test/results/{model}/'\n","# out_dir = Path(output_dir)/task\n","# for i in Path(out_dir).iterdir():\n","#     if i.is_file():\n","#         name = i.name.rsplit('_', 1)[1]\n","#         # print(i)\n","#         # print(i.parents[0])\n","#         new_name = Path(output_dir) / f'{task}_{name}'\n","#         print(new_name)\n","#         i.rename(new_name)\n","    # print(new_name)\n"]},{"cell_type":"code","execution_count":8,"metadata":{},"outputs":[{"ename":"NameError","evalue":"name 'patient_score' is not defined","output_type":"error","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)","\u001b[1;32m/home/ylan/workspace/TransMIL-DeepGraft/code/utils/export_metrics.ipynb Cell 8\u001b[0m in \u001b[0;36m<cell line: 3>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      <a href='vscode-notebook-cell://ssh-remote%2Bdgx2/home/ylan/workspace/TransMIL-DeepGraft/code/utils/export_metrics.ipynb#X10sdnNjb2RlLXJlbW90ZQ%3D%3D?line=0'>1</a>\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mscipy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mstats\u001b[39;00m \u001b[39mimport\u001b[39;00m bootstrap\n\u001b[1;32m      <a href='vscode-notebook-cell://ssh-remote%2Bdgx2/home/ylan/workspace/TransMIL-DeepGraft/code/utils/export_metrics.ipynb#X10sdnNjb2RlLXJlbW90ZQ%3D%3D?line=1'>2</a>\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39msklearn\u001b[39;00m\n\u001b[0;32m----> <a href='vscode-notebook-cell://ssh-remote%2Bdgx2/home/ylan/workspace/TransMIL-DeepGraft/code/utils/export_metrics.ipynb#X10sdnNjb2RlLXJlbW90ZQ%3D%3D?line=2'>3</a>\u001b[0m res \u001b[39m=\u001b[39m bootstrap((patient_score\u001b[39m.\u001b[39mcpu()\u001b[39m.\u001b[39mnumpy(), patient_target\u001b[39m.\u001b[39mcpu()\u001b[39m.\u001b[39mnumpy()), sklearn\u001b[39m.\u001b[39mmetrics\u001b[39m.\u001b[39mroc_auc_score, confidence_level\u001b[39m=\u001b[39m\u001b[39m0.95\u001b[39m, paired\u001b[39m=\u001b[39m\u001b[39mTrue\u001b[39;00m, vectorized\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m)\n\u001b[1;32m      <a href='vscode-notebook-cell://ssh-remote%2Bdgx2/home/ylan/workspace/TransMIL-DeepGraft/code/utils/export_metrics.ipynb#X10sdnNjb2RlLXJlbW90ZQ%3D%3D?line=4'>5</a>\u001b[0m \u001b[39mprint\u001b[39m(\u001b[39m'\u001b[39m\u001b[39mbootstrap AUC: \u001b[39m\u001b[39m'\u001b[39m, res)\n\u001b[1;32m      <a href='vscode-notebook-cell://ssh-remote%2Bdgx2/home/ylan/workspace/TransMIL-DeepGraft/code/utils/export_metrics.ipynb#X10sdnNjb2RlLXJlbW90ZQ%3D%3D?line=5'>6</a>\u001b[0m patient_AUC \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mAUROC(patient_score, patient_target\u001b[39m.\u001b[39msqueeze())\n","\u001b[0;31mNameError\u001b[0m: name 'patient_score' is not defined"]}],"source":["from scipy.stats import bootstrap\n","import sklearn\n","res = bootstrap((patient_score.cpu().numpy(), patient_target.cpu().numpy()), sklearn.metrics.roc_auc_score, confidence_level=0.95, paired=True, vectorized=False)\n","\n","print('bootstrap AUC: ', res)\n","patient_AUC = self.AUROC(patient_score, patient_target.squeeze())"]}],"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.9.16"},"orig_nbformat":4,"vscode":{"interpreter":{"hash":"e036a9c91377bd599a54855c8808043bcb982545d7d4bb9989918e49d09c4e97"}}},"nbformat":4,"nbformat_minor":2}
diff --git a/code/utils/export_metrics.py b/code/utils/export_metrics.py
new file mode 100644
index 0000000..2017ebf
--- /dev/null
+++ b/code/utils/export_metrics.py
@@ -0,0 +1,191 @@
+# %%
+import argparse
+from pathlib import Path
+import numpy as np
+from tqdm import tqdm
+
+import cv2
+from PIL import Image, ImageFilter
+from matplotlib import pyplot as plt
+plt.style.use('tableau-colorblind10')
+import pandas as pd
+import json
+import pprint
+import seaborn as sns
+import torch
+
+import torchmetrics
+from torchmetrics import PrecisionRecallCurve, ROC
+from torchmetrics.functional.classification import binary_auroc, multiclass_auroc, binary_precision_recall_curve, multiclass_precision_recall_curve, confusion_matrix
+from torchmetrics.utilities.compute import _auc_compute_without_check, _auc_compute
+
+
+# %%
+'''TransMIL'''
+a = 'features'
+add_on = '0'
+
+# task = 'norm_rest'
+# model = 'TransMIL'
+# version = '804'
+# epoch = '30'
+# labels = ['Normal']
+
+
+task = 'rest_rej'
+model = 'TransMIL'
+version = '63'
+epoch = '14'
+labels = ['Rejection']
+
+# task = 'norm_rej_rest'
+# model = 'TransMIL'
+# version = '53'
+# epoch = '17'
+# labels = ['Normal', 'Rejection', 'Rest']
+
+'''ViT'''
+# a = 'vit'
+
+# task = 'norm_rest'
+# model = 'vit'
+# version = '16'
+# epoch = '142'
+# labels = ['Disease']
+
+# task = 'rej_rest'
+# model = 'vit'
+# version = '1'
+# epoch = 'last'
+# labels = ['Rest']
+
+# task = 'norm_rej_rest'
+# model = 'vit'
+# version = '0'
+# epoch = '226'
+# labels = ['Normal', 'Rejection', 'Rest']
+
+'''CLAM'''
+# task = 'norm_rest'
+# model = 'CLAM'
+# labels = ['REST']
+
+# task = 'rej_rest'
+# model = 'CLAM'
+# labels = ['REST']
+
+# task = 'norm_rej_rest'
+# model = 'CLAM'
+# labels = ['NORMAL', 'REJECTION', 'REST']
+# labels = ['Normal', 'Rejection', 'Rest']
+# if task == 'norm_rest' or task == 'rej_rest':
+#     n_classes = 2
+#     PRC = torchmetrics.PrecisionRecallCurve(task='binary')
+#     ROC = torchmetrics.ROC(task='binary')
+# else: 
+#     n_classes = 3
+#     PRC = torchmetrics.PrecisionRecallCurve(task='multiclass', num_classes = n_classes)
+#     ROC = torchmetrics.ROC(task='multiclass', num_classes=n_classes)
+
+
+
+
+# %%
+'''Find Directory'''
+
+home = Path.cwd().parts[1]
+root_dir = f'/{home}/ylan/workspace/TransMIL-DeepGraft/logs/DeepGraft/{model}/{task}/_{a}_CrossEntropyLoss/lightning_logs/version_{version}/test_epoch_{epoch}'
+print(root_dir)
+patient_result_csv_path = Path(root_dir) / 'TEST_RESULT_PATIENT.csv'
+# threshold_csv_path = f'{root_dir}/val_thresholds.csv'
+
+# patient_result_csv_path = Path(f'/{home}/ylan/workspace/HIA/logs/DeepGraft_Lancet/clam_mb/DEEPGRAFT_CLAMMB_TRAINFULL_{task}/RESULTS/TEST_RESULT_PATIENT_BASED_FULL.csv')
+# threshold_csv_path = ''
+
+output_dir = f'/{home}/ylan/workspace/TransMIL-DeepGraft/test/results/{model}/'
+Path(output_dir).mkdir(parents=True, exist_ok=True)
+
+patient_result = pd.read_csv(patient_result_csv_path)
+pprint.pprint(patient_result)
+probs = torch.from_numpy(np.array(patient_result[labels]))
+# probs = probs.squeeze()
+# if task == 'rest_rej':
+    
+# probs = torch.transpose(probs, 0,1).squeeze()
+target = torch.from_numpy(np.array(patient_result.yTrue))
+if add_on == '0':
+    target = -1 * (target-1)
+
+# 
+# target = torch.stack((fake_target, target), dim=1)
+# print(target.shae)
+# print(target)
+# target = -1 * (target-1)
+# print(target)
+
+
+
+# %%
+from utils import get_roc_curve, get_pr_curve, get_confusion_matrix
+
+# %%
+from utils import get_roc_curve, get_pr_curve, get_confusion_matrix
+
+print(probs.shape)
+print(target.shape)
+
+stage='test'
+comment='patient'
+pr_plot = get_pr_curve(probs, target, task=task)
+pr_plot.figure.savefig(f'{output_dir}/{task}_{add_on}_pr.png', dpi=400)
+pr_plot.figure.savefig(f'{output_dir}/{task}_{add_on}_pr.svg', format='svg')
+plt.show()
+
+pr_plot.figure.clf()
+
+roc_plot = get_roc_curve(probs, target, task=task)
+roc_plot.figure.savefig(f'{output_dir}/{task}_{add_on}_roc.png', dpi=400)
+roc_plot.figure.savefig(f'{output_dir}/{task}_{add_on}_roc.svg', format='svg')
+plt.show()
+
+roc_plot.figure.clf()
+
+# %%
+stage = 'test'
+comment='patient'
+
+
+cm_plot = get_confusion_matrix(probs, target, task=task, threshold_csv_path = threshold_csv_path)
+
+# plt.show()
+# cm_plot.figure.set(font_scale=18)
+cm_plot.savefig(f'{output_dir}/{task}_cm.png', dpi=400)
+cm_plot.savefig(f'{output_dir}/{task}_cm.svg', format='svg')
+
+# plt.savefig(f'{output_dir}/{task}_cm.png', dpi=400)
+
+cm_plot.clf()
+
+
+
+
+
+# %%
+# print((Path(output_dir)/task).stem)
+# print(output_dir)
+# model = 'vit'
+# task = 'norm_rest'
+# output_dir = f'/{home}/ylan/workspace/TransMIL-DeepGraft/test/results/{model}/'
+# out_dir = Path(output_dir)/task
+# for i in Path(out_dir).iterdir():
+#     if i.is_file():
+#         name = i.name.rsplit('_', 1)[1]
+#         # print(i)
+#         # print(i.parents[0])
+#         new_name = Path(output_dir) / f'{task}_{name}'
+#         print(new_name)
+#         i.rename(new_name)
+    # print(new_name)
+
+
+
diff --git a/code/utils/utils.py b/code/utils/utils.py
index f7781e8..fca7597 100644
--- a/code/utils/utils.py
+++ b/code/utils/utils.py
@@ -11,13 +11,43 @@ from torchmetrics.classification.accuracy import Accuracy
 
 from pytorch_lightning import LightningDataModule, seed_everything, Trainer
 from pytorch_lightning import LightningModule
-from pytorch_lightning.loops.base import Loop
-from pytorch_lightning.loops.fit_loop import FitLoop
+# from pytorch_lightning.loops.base import Loop
+# from pytorch_lightning.loops.fit_loop import FitLoop
 from pytorch_lightning.trainer.states import TrainerFn
 from pytorch_lightning.callbacks import LearningRateMonitor
 from typing import Any, Dict, List, Optional, Type
 import shutil
 
+from matplotlib import pyplot as plt
+plt.style.use('tableau-colorblind10')
+import pandas as pd
+import json
+import pprint
+import seaborn as sns
+
+import torchmetrics
+from torchmetrics import PrecisionRecallCurve, ROC
+from torchmetrics.functional.classification import binary_auroc, multiclass_auroc, binary_precision_recall_curve, multiclass_precision_recall_curve, confusion_matrix
+from torchmetrics.utilities.compute import _auc_compute_without_check, _auc_compute
+
+LABEL_MAP = {
+    # 'bin': {'0': 0, '1': 1, '2': 1, '3': 1, '4': 1, '5': None},
+    # 'tcmr_viral': {'0': None, '1': 0, '2': None, '3': None, '4': 1, '5': None},
+    # 'no_viral': {'0': 0, '1': 1, '2': 2, '3': 3, '4': None, '5': None},
+    'no_other': {'0': 'Normal', '1': 'TCMR', '2': 'ABMR', '3': 'Mixed', '4': 'Viral'},
+    # 'no_stable': {'0': None, '1': 1, '2': 2, '3': 3, '4': None, '5': None},
+    # 'all': {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5},
+    'rejections': {'0': 'TCMR', '1': 'ABMR', '2': 'Mixed'},
+    'norm_rest': {'0': 'Normal', '1': 'Disease'},
+    'rej_rest': {'0': 'Rejection', '1': 'Rest'},
+    'rest_rej': {'0': 'Rest', '1': 'Rejection'},
+    'norm_rej_rest': {'0': 'Normal', '1': 'Rejection', '2': 'Rest'},
+
+}
+COLOR_MAP = ['#377eb8', '#ff7f00', '#4daf4a',
+                  '#f781bf', '#a65628', '#984ea3',
+                  '#999999', '#e41a1c', '#dede00']
+
 
 #---->read yaml
 import yaml
@@ -39,34 +69,53 @@ def load_loggers(cfg):
     
     
     #---->TensorBoard
-    if cfg.General.server != 'test':
+    if cfg.General.server == 'train':
+        # print(cfg.log_path)
+        if cfg.fine_tune:
+            cfg.log_path = Path(cfg.log_path)
+            print('cfg.log_path: ', cfg.log_path)
+
+            tb_logger = pl_loggers.TensorBoardLogger(cfg.log_path,
+                                                    version = cfg.version,
+                                                    sub_dir = f'ft_epoch_{cfg.epoch}',
+                                                    log_graph = True, default_hp_metric = False)
         
-        tb_logger = pl_loggers.TensorBoardLogger(cfg.log_path,
-                                                  # version = f'fold{cfg.Data.fold}'
-                                                log_graph = True, default_hp_metric = False)
+        else:
+            tb_logger = pl_loggers.TensorBoardLogger(cfg.log_path,
+                                                    # version = f'fold{cfg.Data.fold}'
+                                                    log_graph = True, default_hp_metric = False)
         # print(tb_logger.version)
         version = tb_logger.version
         #---->CSV
         csv_logger = pl_loggers.CSVLogger(cfg.log_path, version = version
                                         ) # version = f'fold{cfg.Data.fold}', 
         # print(csv_logger.version)
+        # wandb_logger = pl_loggers.WandbLogger(project=f'{cfg.Model.name}_{cfg.task}', name=f'{cfg.log_name}', save_dir=cfg.log_path)
     else:  
+        if cfg.from_finetune:
+            prefix = 'test_ft_epoch'
+        else:
+            prefix = 'test_epoch'
         cfg.log_path = Path(cfg.log_path)
         print('cfg.log_path: ', cfg.log_path)
 
         tb_logger = pl_loggers.TensorBoardLogger(cfg.log_path,
                                                 version = cfg.version,
-                                                sub_dir = f'test_e{cfg.epoch}',
+                                                sub_dir = f'{prefix}_{cfg.epoch}',
                                                 log_graph = True, default_hp_metric = False)
         #---->CSV
-        csv_logger = pl_loggers.CSVLogger(cfg.log_path,
-                                        version = cfg.version, )
-                              
+        # version = tb_logger.version
+        csv_logger_path = Path(cfg.log_path) / 'lightning_logs' / f'version_{cfg.version}' / f'test_epoch_{cfg.epoch}'
+        csv_logger = pl_loggers.CSVLogger(csv_logger_path,
+                                        version = cfg.version)
+        # wandb_logger = pl_loggers.WandbLogger(project=f'{cfg.task}_{cfg.log_name}')                      
     
     print(f'---->Log dir: {cfg.log_path}')
 
     # return tb_logger
     return [tb_logger, csv_logger]
+    # return wandb_logger
+    # return [tb_logger, csv_logger, wandb_logger]
 
 
 #---->load Callback
@@ -104,33 +153,60 @@ def load_callbacks(cfg, save_path):
     )
     Mycallbacks.append(progress_bar)
 
-    if cfg.General.server == 'train' :
+    if cfg.General.server == 'train':
         # save_path = Path(cfg.log_path) / 'lightning_logs' / f'version_{cfg.resume_version}' / last.ckpt
-        Mycallbacks.append(ModelCheckpoint(monitor = 'val_loss',
-                                         dirpath = str(output_path),
-                                         filename = '{epoch:02d}-{val_loss:.4f}-{val_auc: .4f}-{val_patient_auc:.4f}',
-                                         verbose = True,
-                                         save_last = True,
-                                         save_top_k = 2,
-                                         mode = 'min',
-                                         save_weights_only = True))
-        Mycallbacks.append(ModelCheckpoint(monitor = 'val_auc',
-                                         dirpath = str(output_path),
-                                         filename = '{epoch:02d}-{val_loss:.4f}-{val_auc:.4f}-{val_patient_auc: .4f}',
-                                         verbose = True,
-                                         save_last = True,
-                                         save_top_k = 2,
-                                         mode = 'max',
-                                         save_weights_only = True))
-        Mycallbacks.append(ModelCheckpoint(monitor = 'val_patient_auc',
-                                         dirpath = str(output_path),
-                                         filename = '{epoch:02d}-{val_loss:.4f}-{val_auc:.4f}-{val_patient_auc:.4f}',
-                                         verbose = True,
-                                         save_last = True,
-                                         save_top_k = 2,
-                                         mode = 'max',
-                                         save_weights_only = True))
-    
+        if cfg.fine_tune:
+            Mycallbacks.append(ModelCheckpoint(monitor = 'val_loss',
+                                            dirpath = str(output_path),
+                                            
+                                            filename = 'ft_{epoch:02d}-{val_loss:.4f}-{val_auc: .4f}-{val_patient_auc:.4f}',
+                                            verbose = True,
+                                            save_last = True,
+                                            save_top_k = 1,
+                                            mode = 'min',
+                                            save_weights_only = True))
+            # Mycallbacks.append(ModelCheckpoint(monitor = 'val_auc',
+            #                                 dirpath = str(output_path),
+            #                                 filename = 'ft_{epoch:02d}-{val_loss:.4f}-{val_auc:.4f}-{val_patient_auc: .4f}',
+            #                                 verbose = True,
+            #                                 save_last = True,
+            #                                 save_top_k = 1,
+            #                                 mode = 'max',
+            #                                 save_weights_only = True))
+            # Mycallbacks.append(ModelCheckpoint(monitor = 'val_patient_auc',
+            #                                 dirpath = str(output_path),
+            #                                 filename = 'ft_{epoch:02d}-{val_loss:.4f}-{val_auc:.4f}-{val_patient_auc:.4f}',
+            #                                 verbose = True,
+            #                                 save_last = True,
+            #                                 save_top_k = 1,
+            #                                 mode = 'max',
+            #                                 save_weights_only = True))
+        else:
+            Mycallbacks.append(ModelCheckpoint(monitor = 'val_loss',
+                                            dirpath = str(output_path),
+                                            filename = '{epoch:02d}-{val_loss:.4f}-{val_auc: .4f}-{val_patient_auc:.4f}',
+                                            verbose = True,
+                                            save_last = True,
+                                            save_top_k = 3,
+                                            mode = 'min',
+                                            save_weights_only = True))
+            Mycallbacks.append(ModelCheckpoint(monitor = 'val_accuracy',
+                                            dirpath = str(output_path),
+                                            filename = '{epoch:02d}-{val_loss:.4f}-{val_accuracy:.4f}-{val_patient_auc: .4f}',
+                                            verbose = True,
+                                            save_last = True,
+                                            save_top_k = 3,
+                                            mode = 'max',
+                                            save_weights_only = True))
+            Mycallbacks.append(ModelCheckpoint(monitor = 'val_patient_auc',
+                                            dirpath = str(output_path),
+                                            filename = '{epoch:02d}-{val_loss:.4f}-{val_auc:.4f}-{val_patient_auc:.4f}',
+                                            verbose = True,
+                                            save_last = True,
+                                            save_top_k = 3,
+                                            mode = 'max',
+                                            save_weights_only = True))
+
     swa = StochasticWeightAveraging(swa_lrs=1e-2)
     Mycallbacks.append(swa)
 
@@ -150,17 +226,241 @@ def cross_entropy_torch(x, y):
     return loss
 
 #-----> convert labels for task
-label_map = {
-    'bin': {'0': 0, '1': 1, '2': 1, '3': 1, '4': 1, '5': None},
-    'tcmr_viral': {'0': None, '1': 0, '2': None, '3': None, '4': 1, '5': None},
-    'no_viral': {'0': 0, '1': 1, '2': 2, '3': 3, '4': None, '5': None},
-    'no_other': {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': None},
-    'no_stable': {'0': None, '1': 1, '2': 2, '3': 3, '4': None, '5': None},
-    'all': {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5},
 
-}
+
 def convert_labels_for_task(task, label):
 
-    return label_map[task][label]
+    return LABEL_MAP[task][label]
+
+
+def get_optimal_operating_point(fpr, tpr, thresholds):
+    '''
+    Returns: 
+        optimal_fpr [Tensor]
+        optimal_tpr [Tensor]
+        optimal_threshold [Float]
+    '''
+
+    youden_j = tpr - fpr
+    optimal_idx = torch.argmax(youden_j)
+    # print(youden_j[optimal_idx])
+    optimal_threshold = thresholds[optimal_idx].item()
+    # print(optimal_threshold)
+    optimal_tpr = tpr[optimal_idx]
+    optimal_fpr = fpr[optimal_idx]
+
+    return optimal_fpr, optimal_tpr, optimal_threshold
+
+
+
+def get_roc_curve(probs, target, task):
+        
+    task_label_map = LABEL_MAP[task]
+
+    if task == 'norm_rest' or task == 'rej_rest' or task == 'rest_rej':
+
+        n_classes = 2
+        # PRC = torchmetrics.PrecisionRecallCurve(task='binary')
+        ROC = torchmetrics.ROC(task='binary')
+    else: 
+        n_classes = 3
+        # PRC = torchmetrics.PrecisionRecallCurve(task='multiclass', num_classes = n_classes)
+        ROC = torchmetrics.ROC(task='multiclass', num_classes=n_classes)
+
+    fpr_list, tpr_list, thresholds = ROC(probs, target)
+
+    # self.AUROC(out_probs, target.squeeze())
+
+    fig, ax = plt.subplots(figsize=(6,6))
+
+    if n_classes > 2:
+        auroc_score = multiclass_auroc(probs, target, num_classes=n_classes, average=None)
+        for i in range(len(fpr_list)):
+
+            class_label = task_label_map[str(i)]
+            color = COLOR_MAP[i]
+            
+            fpr = fpr_list[i].cpu().numpy()
+            tpr = tpr_list[i].cpu().numpy()
+            # ax.plot(fpr, tpr, label=f'class_{i}, AUROC={auroc_score[i]}')
+            df = pd.DataFrame(data = {'fpr': fpr, 'tpr': tpr})
+            line_plot = sns.lineplot(data=df, x='fpr', y='tpr', label=f'{class_label}={auroc_score[i]:.3f}', legend='full', color=color)
+        
+    else: 
+        auroc_score = binary_auroc(probs, target)
+        color = COLOR_MAP[0]
+        
+        optimal_fpr, optimal_tpr, optimal_threshold = get_optimal_operating_point(fpr_list, tpr_list, thresholds)
+        fpr = fpr_list.cpu().numpy()
+        tpr = tpr_list.cpu().numpy()
+        optimal_fpr = optimal_fpr.cpu().numpy()
+        optimal_tpr = optimal_tpr.cpu().numpy()
+
+        df = pd.DataFrame(data = {'fpr': fpr, 'tpr': tpr})
+        line_plot = sns.lineplot(data=df, x='fpr', y='tpr', label=f'{auroc_score:.3f}', legend='full', color=color) #AUROC
+        # ax.plot([0, 1], [optimal_tpr, optimal_tpr], linestyle='--', color='black', label=f'OOP={optimal_threshold:.3f}')
+        # ax.plot([optimal_fpr, optimal_fpr], [0, 1], linestyle='--', color='black')
+    ax.plot([0,1], [0,1], linestyle='--', color='red')
+    ax.set_xlim([0,1])
+    ax.set_ylim([0,1])
+    ax.set_xlabel('False positive rate (1-specificity)', fontsize=18)
+    ax.set_ylabel('True positive rate (sensitivity)', fontsize=18)
+    # ax.set_title('ROC curve')
+    ax.legend(loc='lower right', fontsize=15)
+
+    return line_plot
+
+def get_pr_curve(probs, target, task):
+
+    if task == 'norm_rest' or task == 'rej_rest' or task == 'rest_rej':
+        n_classes = 2 
+        PRC = torchmetrics.PrecisionRecallCurve(task='binary')
+        # ROC = torchmetrics.ROC(task='binary')
+    else: 
+        n_classes = 3
+        PRC = torchmetrics.PrecisionRecallCurve(task='multiclass', num_classes = n_classes)
+        # ROC = torchmetrics.ROC(task='multiclass', num_classes=n_classes)
+    
+    
+    fig, ax = plt.subplots(figsize=(6,6))
+
+
+    
+    if n_classes > 2:
+
+        precision, recall, thresholds = multiclass_precision_recall_curve(probs, target, num_classes=n_classes)
+        task_label_map = LABEL_MAP[task]
+        
+        for i in range(len(precision)):
+
+            class_label = task_label_map[str(i)]
+            color = COLOR_MAP[i]
+
+            re = recall[i]
+            pr = precision[i]
+            
+            partial_auc = _auc_compute(re, pr, 1.0)
+            df = pd.DataFrame(data = {'re': re.cpu().numpy(), 'pr': pr.cpu().numpy()})
+            line_plot = sns.lineplot(data=df, x='re', y='pr', label=f'{class_label}={partial_auc:.3f}', legend='full', color=color)
+
+            baseline = len(target[target==i]) / len(target)
+            ax.plot([0,1],[baseline, baseline], linestyle='--', label=f'Baseline={baseline:.3f}', color=color)
+
+    else: 
+        # print(fpr_list)
+        color = COLOR_MAP[0]
+        precision, recall, thresholds = binary_precision_recall_curve(probs, target)
+        baseline = len(target[target==1]) / len(target)
+        
+        pr = precision
+        re = recall
+        partial_auc = _auc_compute(re, pr, 1.0)
+        # ax.plot(re, pr)
+        df = pd.DataFrame(data = {'re': re.cpu().numpy(), 'pr': pr.cpu().numpy()})
+        line_plot = sns.lineplot(data=df, x='re', y='pr', label=f'{partial_auc:.3f}', legend='full', color=color)
+        
+    
+        ax.plot([0,1], [baseline, baseline], linestyle='--', label=f'Baseline={baseline:.3f}', color=color)
+
+    ax.set_xlim([0,1])
+    ax.set_ylim([0,1])
+    ax.set_xlabel('Recall', fontsize=18)
+    ax.set_ylabel('Precision', fontsize=18)
+    # ax.set_title('PR curve')
+    ax.legend(loc='lower right', fontsize=15)
+
+    return line_plot
+
+def get_confusion_matrix(probs, target, task, threshold_csv_path, comment='patient', stage='test'): # threshold
+
+        
+        if task == 'norm_rest' or task == 'rej_rest' or task == 'rest_rej':
+
+            n_classes = 2 
+            ROC = torchmetrics.ROC(task='binary')
+        else: 
+            n_classes = 3
+            ROC = torchmetrics.ROC(task='multiclass', num_classes=n_classes)
+
+
+        # preds = torch.argmax(probs, dim=1)
+        # if self.n_classes <= 2:
+        #     probs = probs[:,1] 
+
+        # read threshold file
+        # threshold_csv_path = f'{self.loggers[0].log_dir}/val_thresholds.csv'
+        # if not Path(threshold_csv_path).is_file():
+        #     # thresh_dict = {'index': ['train', 'val'], 'columns': , 'data': [[0.5, 0.5], [0.5, 0.5]]}
+        #     thresh_df = pd.DataFrame({'slide': [0.5], 'patient': [0.5]})
+        #     thresh_df.to_csv(threshold_csv_path, index=False)
+
+        # thresh_df = pd.read_csv(threshold_csv_path)
+        # if stage != 'test':
+        #     if n_classes <= 2:
+        #         fpr_list, tpr_list, thresholds = ROC(probs, target)
+        #         optimal_fpr, optimal_tpr, optimal_threshold = get_optimal_operating_point(fpr_list, tpr_list, thresholds)
+        #         # print(f'Optimal Threshold {stage} {comment}: ', optimal_threshold)
+        #         thresh_df.at[0, comment] =  optimal_threshold
+        #         thresh_df.to_csv(threshold_csv_path, index=False)
+        #     else: 
+        #         optimal_threshold = 0.5
+        # elif stage == 'test': 
+
+        if n_classes == 2:    
+            fpr_list, tpr_list, thresholds = ROC(probs, target)
+            optimal_fpr, optimal_tpr, optimal_threshold = get_optimal_operating_point(fpr_list, tpr_list, thresholds)
+        else:
+            optimal_threshold = 0.5
+        # optimal_threshold = thresh_df.at[0, comment]
+
+        print(f'Optimal Threshold {stage} {comment}: ', optimal_threshold)
+            # optimal_threshold = 0.5 # manually change to val_optimal_threshold for testing
+
+        # print(confmat)
+        # confmat = self.confusion_matrix(preds, target, threshold=optimal_threshold)
+        if n_classes == 2:
+            confmat = confusion_matrix(probs, target, task='binary', threshold=optimal_threshold)
+        elif n_classes > 2: 
+            confmat = confusion_matrix(probs, target, task='multiclass', num_classes=n_classes)
+
+        cm_labels = LABEL_MAP[task].values()
+
+        # fig, ax = plt.subplots()
+        figsize=plt.rcParams.get('figure.figsize')
+        plt.figure(figsize=figsize)
+
+        # df_cm = pd.DataFrame(confmat.cpu().numpy(), index=range(self.n_classes), columns=range(self.n_classes))
+        df_cm = pd.DataFrame(confmat.cpu().numpy(), index=cm_labels, columns=cm_labels)
+        # fig_ = sns.heatmap(df_cm, annot=True, fmt='d', cmap='Spectral').get_figure()
+        # sns.set(font_scale=1.5)
+        sns.heatmap(df_cm, annot=True, fmt='d', cmap='Blues', cbar=False, annot_kws={'fontsize': 'x-large', 'multialignment':'center'})
+
+        plt.yticks(va='center')
+        plt.ylabel('True label')
+        plt.xlabel('Predicted label')
+
+
+        
+        
+        
+        # cm_plot = 
+        # if stage == 'train':
+        #     self.loggers[0].experiment.add_figure(f'{stage}/Confusion matrix', cm_plot.figure, self.current_epoch)
+        #     if len(self.loggers) > 2:
+        #         self.loggers[2].log_image(key=f'{stage}/Confusion matrix', images=[cm_plot.figure], caption=[self.current_epoch])
+        #     # self.loggers[0].experiment.add_figure(f'{stage}/Confusion matrix', cm_plot.figure, self.current_epoch)
+        # else:
+        #     ax.set_title(f'{stage}_{comment}')
+        #     if comment: 
+        #         stage += f'_{comment}'
+        #     # fig_.savefig(f'{self.loggers[0].log_dir}/cm_{stage}.png', dpi=400)
+        #     cm_plot.figure.savefig(f'{self.loggers[0].log_dir}/{stage}_cm.png', dpi=400)
+
+        # # fig.clf()
+        # cm_plot.figure.clf()
+        return plt
+
 
+if __name__ == '__main__':
 
+    print(LABEL_MAP)
\ No newline at end of file
diff --git a/code/visualize_classic.py b/code/visualize_classic.py
new file mode 100644
index 0000000..ccbefc7
--- /dev/null
+++ b/code/visualize_classic.py
@@ -0,0 +1,382 @@
+import argparse
+from pathlib import Path
+import numpy as np
+import glob
+import re
+
+from sklearn.model_selection import KFold
+from scipy.interpolate import griddata
+from scipy.ndimage import gaussian_filter
+from models.model_interface import ModelInterface
+import models.vision_transformer as vits
+from utils.utils import *
+
+# pytorch_lightning
+import pytorch_lightning as pl
+from pytorch_lightning import Trainer
+import torch
+import torch.nn as nn
+from torch.cuda.amp import autocast
+
+from pytorch_grad_cam import GradCAM, EigenGradCAM, EigenCAM, XGradCAM, ScoreCAM, GradCAMPlusPlus
+from pytorch_grad_cam.utils.image import show_cam_on_image
+from pytorch_grad_cam.utils.model_targets import ClassifierOutputTarget
+
+import cv2
+from PIL import Image, ImageFilter
+from matplotlib import pyplot as plt
+import pandas as pd
+import json
+import pprint
+
+from models import TransMIL
+# from datasets.zarr_feature_dataloader_simple import ZarrFeatureBagLoader
+from datasets.feature_dataloader import FeatureBagLoader
+from datasets.jpg_dataloader import JPGMILDataloader
+from torch.utils.data import random_split, DataLoader
+import time
+from tqdm import tqdm
+import torchmetrics
+import models.ResNet as ResNet
+import torchvision.models as models
+import timm
+
+from torchmetrics.functional.classification import binary_auroc, multiclass_auroc, binary_precision_recall_curve, multiclass_precision_recall_curve
+
+def make_parse():
+    parser = argparse.ArgumentParser()
+    parser.add_argument('--stage', default='test', type=str)
+    parser.add_argument('--config', default='../DeepGraft/TransMIL.yaml',type=str)
+    parser.add_argument('--version', default=0,type=int)
+    parser.add_argument('--epoch', default='0',type=str)
+    parser.add_argument('--gpus', default = 0, type=int)
+    parser.add_argument('--loss', default = 'CrossEntropyLoss', type=str)
+    parser.add_argument('--fold', default = 0)
+    parser.add_argument('--bag_size', default = 10000, type=int)
+    parser.add_argument('--total_classes', default = 2, type=int)
+
+
+    args = parser.parse_args()
+    return args
+
+def check_home(cfg):
+    # replace home directory
+    
+    home = Path.cwd().parts[1]
+
+    x = cfg.General.log_path
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.General.log_path = '/' + str(new_path)
+
+    x = cfg.Data.data_dir
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.Data.data_dir = '/' + str(new_path)
+        
+    x = cfg.Data.label_file
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.Data.label_file = '/' + str(new_path)
+
+    return cfg
+
+
+
+class Visualize():
+
+    def __init__(self, checkpoint_path, task, classic=False):
+        super().__init__()
+
+        home = Path.cwd().parts[1]
+
+        self.jpg_dir = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated/Aachen_Biopsy_Slides/TEST'
+        self.roi_dir = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated/Aachen_Biopsy_Slides/ROI'
+        self.save_path = Path(f'/{home}/ylan/workspace/TransMIL-DeepGraft/test/classic_model/')
+        self.output_path = self.save_path
+        # output_path = save_path / str(target.item())
+        
+
+        checkpoint = torch.load(checkpoint_path)
+        self.hparams = checkpoint['hyper_parameters']
+        self.n_classes = self.hparams['model']['n_classes']
+        self.model_name = self.hparams['model']['name']
+        self.in_features = self.hparams['model']['in_features']
+
+        self.output_path = self.save_path / self.model_name / task
+        self.label_path = self.hparams['data']['label_file']
+        self.data_root = self.hparams['data']['data_dir']
+
+        self.model = None
+        self.cam = None
+        self.topk_dict = {}
+        self.device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
+
+        self._load_model_from_checkpoint(checkpoint)
+        self._get_cam_object(self.model_name)
+
+
+    def _load_model_from_checkpoint(self, checkpoint):
+
+        if self.model_name == 'resnet18':
+            self.model = models.resnet18(weights='IMAGENET1K_V1')
+            self.model.fc = nn.Sequential(nn.Linear(self.model.fc.in_features, self.n_classes))
+        elif self.model_name == 'resnet50':
+            self.model = models.resnet50(weights='IMAGENET1K_V1')
+            self.model.fc = nn.Sequential(nn.Linear(self.model.fc.in_features, self.n_classes),)
+        elif self.model_name == 'vit':
+            home = Path.cwd().parts[1]
+            self.model = timm.create_model('vit_base_patch16_224', pretrained=True, num_classes=self.n_classes)
+            # model = timm.create_model(“vit_base_patch16_224”, pretrained=True)
+            outputs_attrs = self.n_classes
+            num_inputs = self.model.head.in_features
+            last_layer = nn.Linear(num_inputs, outputs_attrs)
+            self.model.head = last_layer
+
+        model_weights = checkpoint['state_dict']
+
+        for key in list(model_weights):
+            model_weights[key.replace('model.', '')] = model_weights.pop(key)
+        
+        self.model.load_state_dict(model_weights)
+        # self.model.eval()
+        
+    
+
+    # def _reshape_transform(self, tensor):
+    #     H = tensor.shape[1]
+    #     _H, _W = int(np.ceil(np.sqrt(H))), int(np.ceil(np.sqrt(H)))
+    #     add_length = _H * _W - H
+    #     tensor = torch.cat([tensor, tensor[:,:add_length,:]],dim = 1)
+    #     result = tensor[:, :, :].reshape(tensor.size(0), _H, _W, tensor.size(2))
+    #     result = result.transpose(2,3).transpose(1,2)
+    #     return result
+    def _reshape_transform(self, tensor, height=14, width=14):
+        result = tensor[:, 1 :  , :].reshape(tensor.size(0),
+            height, width, tensor.size(2))
+    
+        # Bring the channels to the first dimension,
+        # like in CNNs.
+        result = result.transpose(2, 3).transpose(1, 2)
+        return result
+    
+    def _get_position_dict(self, batch_coords):
+        coords = []
+        position_dict = {}
+        batch_coords = batch_coords.squeeze(0)
+        for i in range(batch_coords.shape[0]): 
+            c = batch_coords[i, :]
+            x = c[0]
+            y = c[1]
+            coords.append((int(x),int(y)))
+
+        for i, (x,y) in enumerate(coords):
+            if x not in position_dict.keys():
+                position_dict[x] = [(y, i)]
+            else: position_dict[x].append((y, i))
+        return position_dict, coords
+        # return coords
+
+    def _get_cam_object(self, model_name):
+        if model_name == 'resnet18' or model_name == 'resnet50':
+            target_layers = [self.model.layer4[-1]]
+            self.cam = GradCAM(model=self.model, target_layers=target_layers, use_cuda=True)
+        elif model_name == 'vit':
+            target_layers = [self.model.blocks[-1].norm1]
+            self.cam = GradCAM(model=self.model, target_layers=target_layers, use_cuda=True, reshape_transform=self._reshape_transform)
+
+    def _get_topk(self):
+
+        for n in range(self.n_classes):
+            tpk_csv_path = Path(cfg.log_path) / f'test_epoch_{cfg.epoch}' / f'test_c{n}_top_patients.csv'
+            tpk_df = pd.read_csv(tpk_csv_path)
+            self.topk_dict[str(n)] = {'patients': list(tpk_df.head(5)['Patient']), 'labels': [n] * len(list(tpk_df.head(5)['Patient']))}
+
+    def _save_attention_map(self, wsi_name, batch_coords, grayscale_cam, input_h=224):
+
+        position_dict, coords = self._get_position_dict(batch_coords)
+        x_max = max([x[0] for x in coords])
+        y_max = max([x[1] for x in coords])
+        wsi = torch.ones([(y_max+1)*input_h, (x_max+1)*input_h, 3])
+
+        roi = torch.zeros([(y_max+1)*input_h, (x_max+1)*input_h])
+        mask = torch.zeros(roi.shape)
+        for i in range(x_max+1):
+            if i in position_dict.keys():
+                for j in position_dict[i]:
+                    y_coord = int(j[0])
+                    x_coord = int(i)
+                    co = coords[j[1]]
+                    tile_path =  Path(self.jpg_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(tile_path)).astype(np.uint8)
+                    img = img / 255.0
+                    img = torch.from_numpy(img)
+                    wsi[y_coord*input_h:(y_coord+1)*input_h, x_coord*input_h:(x_coord+1)*input_h, :] = img
+
+                    roi_path =  Path(self.roi_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(roi_path)).astype(np.uint8)
+                    img = img / 255.0
+                    img = torch.from_numpy(img)
+
+                    roi[y_coord*input_h:(y_coord+1)*input_h, x_coord*input_h:(x_coord+1)*input_h] = img
+        W, H = wsi.shape[0], wsi.shape[1]
+        #----------------------------------------------
+        # Get mask from gradcam
+        #----------------------------------------------
+        
+        # attention_map = (attention_map-attention_map.min()) / (attention_map.max() - attention_map.min())
+        print(W, H)
+        if self.model_name == 'vit':
+            # attention_map = torch.from_numpy(grayscale_cam)
+            print(grayscale_cam.shape)
+            attention_map = torch.from_numpy(grayscale_cam[0, :, :].squeeze())
+            input_h = 44
+            mask = torch.zeros(( int(W/input_h), int(H/input_h)))
+            print(mask.shape)
+            print(attention_map.shape)
+            for i, (x,y) in enumerate(coords):
+                mask[y][x] = attention_map[i]
+            mask = mask.unsqueeze(0).unsqueeze(0)
+
+            mask = F.interpolate(mask, (W,H), mode='bilinear')
+            mask = mask.squeeze(0).permute(1,2,0)
+
+            mask = (mask - mask.min())/(mask.max()-mask.min())
+            mask = mask.numpy()
+            #     wsi_cam = show_cam_on_image(wsi.numpy(), mask)
+        #     wsi_cam = ((wsi_cam-wsi_cam.min())/(wsi_cam.max()-wsi_cam.min()) * 255.0).astype(np.uint8)
+            
+        #     size = (20000, 20000)
+
+        #     img = Image.fromarray(wsi_cam)
+        #     img = img.convert('RGB')
+        #     img.thumbnail(size, Image.Resampling.LANCZOS)
+        else:
+            attention_map = torch.from_numpy(grayscale_cam)
+            mask = torch.zeros(roi.shape)
+            for i, (x,y) in enumerate(coords):
+                # print(attention_map[i, :, :].shape)
+                mask[y*input_h:(y+1)*input_h, x*input_h:(x+1)*input_h] = attention_map[i]
+            # if attention_map[i].mean() != 0:
+            #     print(i)
+            mask = mask.unsqueeze(0).unsqueeze(0)
+
+            # mask = F.interpolate(mask, (W,H), mode='bilinear')
+            mask = mask.squeeze(0).permute(1,2,0)
+
+            mask = (mask - mask.min())/(mask.max()-mask.min())
+            mask = mask.numpy()
+        # mask = gaussian_filter(mask, sigma=15)
+
+        wsi_cam = show_cam_on_image(wsi.numpy(), mask, use_rgb=True, image_weight=0.6)
+
+        #----------------------------------------------
+        # Use ROI to filter image
+        #----------------------------------------------
+        # roi_idx = (roi==0)
+        # wsi_cam[roi_idx] = 255
+        
+        size = (30000, 30000)
+
+        print('Save GradCAM overlay.')
+        img = Image.fromarray(wsi_cam)
+        img = img.convert('RGB')
+        img.save(f'{self.output_path}/{wsi_name}_gradcam.jpg')
+
+
+    def run(self, target_label):
+
+        patient_slide_dict_path = f'/{home}/ylan/data/DeepGraft/training_tables/patient_slide_dict.json'
+        
+        self._get_topk()
+        
+
+        with open(patient_slide_dict_path, 'r') as f:
+            patient_slide_dict = json.load(f)
+        slides = []
+        for p in self.topk_dict[str(target_label)]['patients']: 
+            slides += patient_slide_dict[p]
+        self.output_path = self.output_path / str(target_label)
+        self.output_path.mkdir(parents=True, exist_ok=True)
+
+        # print(slides)
+
+        test_dataset = JPGMILDataloader(file_path=self.data_root, label_path=self.label_path, mode='test', cache=False, n_classes=self.n_classes, model=self.model_name, slides=slides)
+        dl = DataLoader(test_dataset, batch_size=1, num_workers=4, pin_memory=True)
+
+        for item in tqdm(dl):
+            
+            bag, label, (name, batch_coords, patient) = item
+            label = torch.Tensor(label)
+            # idx = top_patients.index(patient[0])
+
+            slide_name = name[0]
+            # print(slide_name)
+
+            bag = bag.to(self.device).squeeze(0)
+            # for i in bag.shape[1]:
+
+            # with torch.cuda.amp.autocast():
+            #     features = self.feature_model(bag.squeeze())
+            # instance_count = bag.size(0)
+            # bag = bag.detach()
+            cam_target = [ClassifierOutputTarget(target_label)]
+            self.cam.batch_size = bag.size(0)
+            grayscale_cam = self.cam(input_tensor=bag.squeeze(0), targets=cam_target) #
+            # print(grayscale_cam.max())
+            # print(target_label)
+            self._save_attention_map(slide_name, batch_coords, grayscale_cam)
+
+    # for t in test_dataset:
+
+
+if __name__ == '__main__':
+
+    # device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
+
+    args = make_parse()
+    cfg = read_yaml(args.config)
+
+    #---->update
+    cfg.config = args.config
+    cfg.General.gpus = [args.gpus]
+    cfg.General.server = args.stage
+    cfg.Data.fold = args.fold
+    cfg.Loss.base_loss = args.loss
+    cfg.Data.bag_size = args.bag_size
+    cfg.version = args.version
+    cfg.epoch = args.epoch
+
+    cfg = check_home(cfg)
+
+    config_path = '/'.join(Path(cfg.config).parts[1:])
+    log_path = Path(cfg.General.log_path) / str(Path(config_path).parent)
+
+    Path(cfg.General.log_path).mkdir(exist_ok=True, parents=True)
+    log_name =  f'_{cfg.Model.backbone}' + f'_{cfg.Loss.base_loss}'
+    task = '_'.join(Path(cfg.config).name[:-5].split('_')[2:])
+    # task = Path(cfg.config).name[:-5].split('_')[2:][0]
+    cfg.task = task
+    cfg.log_path = log_path / f'{cfg.Model.name}' / task / log_name / 'lightning_logs' / f'version_{cfg.version}' 
+    
+    home = Path.cwd().parts[1]
+
+    ckpt_pth = Path(cfg.log_path) / 'checkpoints'
+    model_paths = list(ckpt_pth.glob('*.ckpt'))
+    
+    if cfg.epoch == 'last':
+        epoch = 'last'
+        # model_paths = [str(model_path) for model_path in model_paths if f'last' in str(model_path)]
+
+    elif int(cfg.epoch) < 10:
+        epoch = f'epoch=0{cfg.epoch}'
+    else:
+        epoch = f'epoch={cfg.epoch}' 
+    model_paths = [str(model_path) for model_path in model_paths if epoch in str(model_path)]
+    # print(model_paths)
+    # for i in range(args.total_classes):
+
+    target_label = 1
+
+    visualizer = Visualize(checkpoint_path=model_paths[0], task=cfg.task)
+    visualizer.run(target_label)
diff --git a/code/visualize_dff.py b/code/visualize_dff.py
new file mode 100644
index 0000000..8740e39
--- /dev/null
+++ b/code/visualize_dff.py
@@ -0,0 +1,521 @@
+import argparse
+from pathlib import Path
+import numpy as np
+import glob
+import re
+
+from sklearn.model_selection import KFold
+from scipy.interpolate import griddata
+from scipy.ndimage import gaussian_filter
+from models.model_interface import ModelInterface
+import models.vision_transformer as vits
+from utils.utils import *
+
+# pytorch_lightning
+import pytorch_lightning as pl
+from pytorch_lightning import Trainer
+import torch
+import torch.nn as nn
+from torch.cuda.amp import autocast
+
+from pytorch_grad_cam.utils.image import show_factorization_on_image
+from pytorch_grad_cam import GradCAM, EigenGradCAM, EigenCAM, XGradCAM, ScoreCAM, GradCAMPlusPlus, HiResCAM, DeepFeatureFactorization
+from pytorch_grad_cam.utils.image import show_cam_on_image, preprocess_image, deprocess_image
+from pytorch_grad_cam.utils.model_targets import ClassifierOutputTarget
+
+import cv2
+from PIL import Image, ImageFilter
+from matplotlib import pyplot as plt
+import pandas as pd
+import json
+import pprint
+
+from models import TransMIL
+# from datasets.zarr_feature_dataloader_simple import ZarrFeatureBagLoader
+from datasets.feature_dataloader import FeatureBagLoader
+from datasets.jpg_dataloader import JPGMILDataloader
+from torch.utils.data import random_split, DataLoader
+import time
+from tqdm import tqdm
+import torchmetrics
+import models.ResNet as ResNet
+
+from torchmetrics.functional.classification import binary_auroc, multiclass_auroc, binary_precision_recall_curve, multiclass_precision_recall_curve
+
+
+
+def check_home(cfg):
+    # replace home directory
+    
+    home = Path.cwd().parts[1]
+
+    x = cfg.General.log_path
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.General.log_path = '/' + str(new_path)
+
+    x = cfg.Data.data_dir
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.Data.data_dir = '/' + str(new_path)
+        
+    x = cfg.Data.label_file
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.Data.label_file = '/' + str(new_path)
+
+    return cfg
+
+
+
+class Visualize():
+
+    def __init__(self, checkpoint_path, task):
+        super().__init__()
+
+        home = Path.cwd().parts[1]
+
+        self.jpg_dir = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated/Aachen_Biopsy_Slides_extended/BLOCKS'
+        self.roi_dir = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated/Aachen_Biopsy_Slides_extended/ROI'
+        self.save_path = Path(f'/{home}/ylan/workspace/TransMIL-DeepGraft/test/mil_model_features/')
+        
+
+        self.checkpoint = torch.load(checkpoint_path)
+        self.hparams = self.checkpoint['hyper_parameters']
+        self.n_classes = self.hparams['model']['n_classes']
+        self.model_name = self.hparams['model']['name']
+        self.in_features = self.hparams['model']['in_features']
+
+        self.output_path = self.save_path / self.model_name / task
+        self.label_path = self.hparams['data']['label_file']
+        # print(Path(self.label_path).parts[3])
+        if Path(self.label_path).parts[3] != 'data':
+            new_path = Path('/' + '/'.join(Path(self.label_path).parts[1:3])) / 'data' / Path('/'.join(Path(self.label_path).parts[3:]))
+            a, b = str(new_path).split('.')
+            # new_path = a + '_ext.' + b
+            self.label_path = new_path
+        # else: self.label_path = 
+            # print(Path(new_path))
+            # Path(home).joinpath(*Path(x).parts[2:])
+            # cfg.General.log_path = '/' + str(new_path)
+        
+
+        # Add '_extended' to label file
+        a, b = str(self.label_path).split('.')
+
+
+        self.label_path = a + '_ext.' + b
+        print(self.label_path)
+        # self.label_path = '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_norm_rej_rest_ext.json'
+
+        # self.label_path = new_path
+        self.data_root = self.hparams['data']['data_dir']
+
+        self.mil_model = None
+        self.feat_model = None
+        self.cam = None
+        self.feature_cam = None
+        self.topk_dict = {}
+        self.device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
+
+        # self._load_model_from_checkpoint(checkpoint)
+        # self._load_feature_model()
+        
+
+
+    def _load_model_from_checkpoint(self, checkpoint):
+
+        if self.model_name == 'TransMIL':
+            mil_model = TransMIL(n_classes=self.n_classes, in_features=self.in_features)
+
+        model_weights = checkpoint['state_dict']
+
+        for key in list(model_weights):
+            model_weights[key.replace('model.', '')] = model_weights.pop(key)
+        
+        mil_model.load_state_dict(model_weights)
+        return mil_model
+        # self.mil_model =     mil_model
+    
+    def _load_feature_model(self, model_name='RetCCL'):
+
+        if model_name == 'RetCCL':
+            feature_model = ResNet.resnet50(num_classes=128, mlp=False, two_branch=False, normlinear=True)
+            feature_model.load_state_dict(torch.load(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth'), strict=False)
+            feature_model.fc = torch.nn.Identity()
+
+        feature_model.to(self.device)
+        feature_model.eval()
+
+        return feature_model
+        # self.feature_model = feature_model
+
+    def _reshape_transform(self, tensor):
+        H = tensor.shape[1]
+        _H, _W = int(np.ceil(np.sqrt(H))), int(np.ceil(np.sqrt(H)))
+        add_length = _H * _W - H
+        tensor = torch.cat([tensor, tensor[:,:add_length,:]],dim = 1)
+        result = tensor[:, :, :].reshape(tensor.size(0), _H, _W, tensor.size(2))
+        result = result.transpose(2,3).transpose(1,2)
+        return result
+    
+    def _get_position_dict(self, batch_coords):
+        coords = []
+        position_dict = {}
+        batch_coords = batch_coords.squeeze(0)
+        for i in range(batch_coords.shape[0]): 
+            c = batch_coords[i, :]
+            x = c[0]
+            y = c[1]
+            coords.append((int(x),int(y)))
+
+        
+
+        for i, (x,y) in enumerate(coords):
+            if x not in position_dict.keys():
+                position_dict[x] = [(y, i)]
+            else: position_dict[x].append((y, i))
+        return position_dict, coords
+        # return coords
+
+    def _get_cam_object(self, model_name, model):
+        if model_name == 'TransMIL':
+            target_layers = [model.norm]
+            self.cam = GradCAM(model=model, target_layers = target_layers, use_cuda=True, reshape_transform=self._reshape_transform)
+        else:
+            target_layers = [model[0].layer4[-1]]
+            self.feature_cam = GradCAM(model=model, target_layers=target_layers, use_cuda=True)
+
+    def _get_topk(self):
+
+        for n in range(self.n_classes):
+            tpk_csv_path = Path(cfg.log_path) / f'test_epoch_{cfg.epoch}' / f'test_c{n}_top_patients.csv'
+            tpk_df = pd.read_csv(tpk_csv_path)
+            self.topk_dict[str(n)] = {'patients': list(tpk_df.head(5)['Patient']), 'labels': [n] * len(list(tpk_df.head(5)['Patient']))}
+
+
+    def assemble(self, wsi_name, batch_coords, grayscale_cam, mil_grayscale_cam, input_h=224):
+
+        position_dict, coords = self._get_position_dict(batch_coords)
+        x_max = max([x[0] for x in coords])
+        y_max = max([x[1] for x in coords])
+
+        mean_cam = torch.mean(mil_grayscale_cam, dim=2)
+        # print(mean_cam.shape)
+        _, topk_indices = torch.topk(mean_cam, 20, dim=1)
+        batch_coords = torch.index_select(batch_coords.squeeze(), 0, topk_indices[0])
+        grayscale_cam = torch.index_select(grayscale_cam.squeeze(), 0, topk_indices[0])
+
+        feature_cam = torch.zeros([(y_max+1)*224, (x_max+1)*224])
+        # print('batch_coords:', batch_coords.shape)
+        # print(coords.shape)
+        for i,( c, img) in enumerate(zip(batch_coords.squeeze(0), grayscale_cam)):
+            c = c.squeeze()
+            x = c[0].item()
+            y = c[1].item()
+            # print(x, y)
+            
+            # print(img.shape)
+            # if i in topk_indices:
+            feature_cam[y*224:y*224+224, x*224:x*224+224] = img 
+        feature_cam = (feature_cam - feature_cam.min())/(feature_cam.max()-feature_cam.min())
+        wsi = torch.ones([(y_max+1)*224, (x_max+1)*224, 3])
+        roi = np.zeros([(y_max+1)*224, (x_max+1)*224])
+        for i in range(x_max+1):
+            if i in position_dict.keys():
+                for j in position_dict[i]:
+                    y_coord = int(j[0])
+                    x_coord = int(i)
+                    co = coords[j[1]]
+                    tile_path =  Path(self.jpg_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(tile_path)).astype(np.uint8)
+                    img = img / 255.0
+                    img = torch.from_numpy(img)
+                    wsi[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224, :] = img
+
+                    roi_path =  Path(self.roi_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(roi_path)).astype(np.uint8)
+                    img = img / 255.0
+                    # img = torch.from_numpy(img)
+                    roi[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224] = img
+        W, H = wsi.shape[0], wsi.shape[1]
+
+
+        
+        # mil_attention_map = mil_grayscale_cam[:, :, 1].squeeze()
+        # mil_attention_map = (mil_attention_map-mil_attention_map.min()) / (mil_attention_map.max() - mil_attention_map.min())
+        # mask = torch.zeros(( int(W/input_h), int(H/input_h)))
+        # for i, (x,y) in enumerate(coords):
+        #     mask[y][x] = mil_attention_map[i]
+        # mask = mask.unsqueeze(0).unsqueeze(0)
+
+        # mask = F.interpolate(mask, (W,H), mode='bilinear')
+        # mask = mask.squeeze()
+
+        # mask = (mask - mask.min())/(mask.max()-mask.min())
+        # # mask[mask<0.1] = 0
+
+        # feature_cam[mask==0] = 0
+
+        # mask = mask + feature_cam
+
+        # mask = (mask - mask.min())/(mask.max()-mask.min())
+
+
+
+        mask = gaussian_filter(feature_cam, sigma=15)
+
+        wsi_cam = show_cam_on_image(wsi.numpy(), mask, use_rgb=True, image_weight=0.6)
+
+
+        roi_idx = (roi==0)
+        wsi_cam[roi_idx] = 255
+        
+        size = (30000, 30000)
+
+        print('Save GradCAM overlay.')
+        img = Image.fromarray(wsi_cam)
+        img = img.convert('RGB')
+        img.save(f'{self.output_path}/{wsi_name}_gradcam.jpg')
+
+
+    def _save_attention_map(self, wsi_name, batch_coords, mil_grayscale_cam, input_h=224):
+
+        position_dict, coords = self._get_position_dict(batch_coords)
+        x_max = max([x[0] for x in coords])
+        y_max = max([x[1] for x in coords])
+        wsi = torch.ones([(y_max+1)*224, (x_max+1)*224, 3])
+        roi = np.zeros([(y_max+1)*224, (x_max+1)*224])
+        for i in range(x_max+1):
+            if i in position_dict.keys():
+                for j in position_dict[i]:
+                    y_coord = int(j[0])
+                    x_coord = int(i)
+                    co = coords[j[1]]
+                    tile_path =  Path(self.jpg_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(tile_path)).astype(np.uint8)
+                    img = img / 255.0
+                    img = torch.from_numpy(img)
+                    wsi[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224, :] = img
+
+                    roi_path =  Path(self.roi_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(roi_path)).astype(np.uint8)
+                    img = img / 255.0
+                    # img = torch.from_numpy(img)
+                    roi[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224] = img
+        W, H = wsi.shape[0], wsi.shape[1]
+        #----------------------------------------------
+        # Get mask from gradcam
+        #----------------------------------------------
+        mil_attention_map = mil_grayscale_cam[:, :, 1].squeeze()
+        mil_attention_map = (mil_attention_map-mil_attention_map.min()) / (mil_attention_map.max() - mil_attention_map.min())
+        mask = torch.zeros(( int(W/input_h), int(H/input_h)))
+        for i, (x,y) in enumerate(coords):
+            mask[y][x] = mil_attention_map[i]
+        mask = mask.unsqueeze(0).unsqueeze(0)
+
+        mask = F.interpolate(mask, (W,H), mode='bilinear')
+        mask = mask.squeeze(0).permute(1,2,0)
+
+        mask = (mask - mask.min())/(mask.max()-mask.min())
+        mask = mask.numpy()
+        mask = gaussian_filter(mask, sigma=15)
+
+        wsi_cam = show_cam_on_image(wsi.numpy(), mask, use_rgb=True, image_weight=0.6)
+
+        #----------------------------------------------
+        # Use ROI to filter image
+        #----------------------------------------------
+        roi_idx = (roi==0)
+        wsi_cam[roi_idx] = 255
+        
+        size = (30000, 30000)
+
+        print('Save GradCAM overlay.')
+        img = Image.fromarray(wsi_cam)
+        img = img.convert('RGB')
+        img.save(f'{self.output_path}/{wsi_name}_gradcam.jpg')
+
+    def create_labels(self, concept_scores, top_k=2):
+    
+        labels = {0: 'Normal', 1: 'Disease'}
+        # labels = eval(requests.get(imagenet_categories_url).text)
+        concept_categories = np.argsort(concept_scores, axis=1)[:, ::-1][:, :top_k]
+        concept_labels_topk = []
+        for concept_index in range(concept_categories.shape[0]):
+            categories = concept_categories[concept_index, :]    
+            concept_labels = []
+            for category in categories:
+                score = concept_scores[concept_index, category]
+                label = f"{labels[category].split(',')[0]}:{score:.2f}"
+                concept_labels.append(label)
+            concept_labels_topk.append("\n".join(concept_labels))
+        return concept_labels_topk
+
+    def run(self, target_label):
+
+        patient_slide_dict_path = f'/{home}/ylan/data/DeepGraft/training_tables/patient_slide_dict_ext.json'
+        
+        self._get_topk()
+        
+        
+        feature_model = self._load_feature_model()
+        mil_model = self._load_model_from_checkpoint(self.checkpoint)
+
+        
+
+
+        model = torch.nn.Sequential(feature_model, mil_model).to(self.device)
+        # print(model)    
+        # self._get_cam_object(self.model_name, model[1])
+        # self._get_cam_object('Resnet50', model)
+        n_components = 2
+        topk = 2
+        classifier = model[1]._fc
+        # print(classifier)
+        dff = DeepFeatureFactorization(model=model, target_layer=model[0].layer4, 
+                                   computation_on_concepts=mil_model._fc.to(self.device))
+        
+
+        with open(patient_slide_dict_path, 'r') as f:
+            patient_slide_dict = json.load(f)
+        slides = []
+        for p in self.topk_dict[str(target_label)]['patients']: 
+            slides += patient_slide_dict[p]
+        self.output_path = self.output_path / str(target_label)
+        self.output_path.mkdir(parents=True, exist_ok=True)
+
+        # # print(slides)
+
+        test_dataset = JPGMILDataloader(file_path=self.data_root, label_path=self.label_path, mode='test', cache=False, n_classes=self.n_classes, model=self.model_name, slides=slides)
+        dl = DataLoader(test_dataset, batch_size=1, num_workers=4)
+        cam_target = [ClassifierOutputTarget(target_label)]
+
+        for item in tqdm(dl):
+
+            bag, label, (name, batch_coords, patient) = item
+            bag = bag.squeeze(0)
+            # print(bag.shape)
+            # rgb_bag_floag = bag/255.0
+            # input_tensor = preprocess_image(bag,
+            #                        mean=[0.485, 0.456, 0.406],
+            #                        std=[0.229, 0.224, 0.225])
+            concepts, batch_explanations, concept_outputs = dff(bag, n_components)
+            concept_outputs = torch.softmax(torch.from_numpy(concept_outputs), axis=-1).numpy()
+            concept_label_strings = create_labels(concept_outputs, top_k=top_k)
+            visualization = show_factorization_on_image(bag, 
+                                                    batch_explanations[0],
+                                                    image_weight=0.3,
+                                                    concept_labels=concept_label_strings)
+            result = np.hstack((bag, visualization))
+            print(result.shape)
+            # if result.shape[0] > 500:
+            #     result = cv2.resize(result, (result.shape[1]//4, result.shape[0]//4))
+            # img = Image.fromarray(result)
+            # img = img.convert('RGB')
+            # img.save(f'{self.output_path}/{wsi_name}_dff.jpg')
+        #     bag, label, (name, batch_coords, patient) = item
+        #     # label = torch.Tensor(label)
+        #     # # idx = top_patients.index(patient[0])
+
+        #     slide_name = name[0]
+        #     print(slide_name)
+        #     # if slide_name != 'Aachen_KiBiDatabase_KiBiAcRLKM530_01_006_HE':
+        #     # #     continue
+        #     # # else:
+            
+
+        #     bag = bag.float().squeeze(0).to(self.device)
+        #     # features = model[0](bag.squeeze())
+        #     with torch.no_grad():
+        #         features = model[0](bag.squeeze())
+        #         # scores = model[1](features)
+        #     # print(scores)
+        #     instance_count = bag.size(0)
+        #     bag = bag.detach()    
+        #     features = features.detach()
+        #     #     
+        #         # with torch.cuda.amp.autocast():
+        #         #     pred = model(bag)
+        #         # print(pred.shape)
+
+        #     grayscale_cam = self.feature_cam(input_tensor=bag.squeeze(0), targets=cam_target, eigen_smooth=True)
+        #     grayscale_cam = torch.Tensor(grayscale_cam)
+
+
+        #     mil_grayscale_cam = self.cam(input_tensor=features.unsqueeze(0), targets=cam_target)
+        #     mil_grayscale_cam = torch.Tensor(mil_grayscale_cam)[:instance_count, :]
+        #     # print(mil_grayscale_cam.shape)
+           
+        #         # print(grayscale_cam.shape)
+            
+        #         # # bag = bag.detach()
+        #         # # print(target_label)
+        #         # # self._save_attention_map(slide_name, batch_coords, grayscale_cam)
+        #         # print(grayscale_cam.max())
+        #         # print(grayscale_cam.min())
+        #     self.assemble(slide_name, batch_coords, grayscale_cam, mil_grayscale_cam)
+
+    # for t in test_dataset:
+
+def make_parse():
+    parser = argparse.ArgumentParser()
+    parser.add_argument('--stage', default='test', type=str)
+    parser.add_argument('--config', default='../DeepGraft/TransMIL_feat_norm_rest.yaml',type=str)
+    parser.add_argument('--version', default=0,type=int)
+    parser.add_argument('--epoch', default='0',type=str)
+    parser.add_argument('--gpus', default = 0, type=int)
+    parser.add_argument('--loss', default = 'CrossEntropyLoss', type=str)
+    parser.add_argument('--fold', default = 0)
+    parser.add_argument('--bag_size', default = 10000, type=int)
+    parser.add_argument('--total_classes', default = 2, type=int)
+
+
+    args = parser.parse_args()
+    return args
+
+if __name__ == '__main__':
+
+    # device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
+
+    args = make_parse()
+    cfg = read_yaml(args.config)
+
+    #---->update
+    cfg.config = args.config
+    cfg.General.gpus = [args.gpus]
+    cfg.General.server = args.stage
+    cfg.Data.fold = args.fold
+    cfg.Loss.base_loss = args.loss
+    cfg.Data.bag_size = args.bag_size
+    cfg.version = args.version
+    cfg.epoch = args.epoch
+
+    cfg = check_home(cfg)
+
+    config_path = '/'.join(Path(cfg.config).parts[1:])
+    log_path = Path(cfg.General.log_path) / str(Path(config_path).parent)
+
+    Path(cfg.General.log_path).mkdir(exist_ok=True, parents=True)
+    log_name =  f'_{cfg.Model.backbone}' + f'_{cfg.Loss.base_loss}'
+    task = '_'.join(Path(cfg.config).name[:-5].split('_')[2:])
+    # task = Path(cfg.config).name[:-5].split('_')[2:][0]
+    cfg.task = task
+    cfg.log_path = log_path / f'{cfg.Model.name}' / task / log_name / 'lightning_logs' / f'version_{cfg.version}' 
+    
+    home = Path.cwd().parts[1]
+
+    ckpt_pth = Path(cfg.log_path) / 'checkpoints'
+    model_paths = list(ckpt_pth.glob('*.ckpt'))
+    if cfg.epoch == 'last':
+        model_paths = [str(model_path) for model_path in model_paths if f'last' in str(model_path)]
+    else:
+        model_paths = [str(model_path) for model_path in model_paths if f'epoch={cfg.epoch}' in str(model_path)]
+        
+    # for i in range(args.total_classes):
+
+    target_label = 1
+    
+    # for target_label in range(args.total_classes):
+    visualizer = Visualize(checkpoint_path=model_paths[0], task=cfg.task)
+    visualizer.run(target_label)
diff --git a/code/visualize_feature.py b/code/visualize_feature.py
new file mode 100644
index 0000000..ec3c3a8
--- /dev/null
+++ b/code/visualize_feature.py
@@ -0,0 +1,551 @@
+import argparse
+from pathlib import Path
+import numpy as np
+import glob
+import re
+
+# from sklearn.model_selection import KFold
+# from scipy.interpolate import griddata
+from scipy.ndimage import gaussian_filter
+# from models.model_interface import ModelInterface
+# import models.vision_transformer as vits
+from utils.utils import *
+
+# pytorch_lightning
+import pytorch_lightning as pl
+from pytorch_lightning import Trainer
+import torch
+import torch.nn as nn
+from torch.cuda.amp import autocast
+
+from pytorch_grad_cam import GradCAM, EigenGradCAM, EigenCAM, XGradCAM, ScoreCAM, GradCAMPlusPlus, HiResCAM
+from pytorch_grad_cam.utils.image import show_cam_on_image
+from pytorch_grad_cam.utils.model_targets import ClassifierOutputTarget
+
+import cv2
+from PIL import Image, ImageFilter
+from matplotlib import pyplot as plt
+import pandas as pd
+import json
+import pprint
+
+from models import TransMIL
+# from datasets.zarr_feature_dataloader_simple import ZarrFeatureBagLoader
+from datasets.feature_dataloader import FeatureBagLoader
+from datasets.jpg_dataloader import JPGMILDataloader
+from torch.utils.data import random_split, DataLoader
+import time
+from tqdm import tqdm
+import torchmetrics
+import models.ResNet as ResNet
+
+from torchmetrics.functional.classification import binary_auroc, multiclass_auroc, binary_precision_recall_curve, multiclass_precision_recall_curve
+
+
+
+def check_home(cfg):
+    # replace home directory
+    
+    home = Path.cwd().parts[1]
+
+    x = cfg.General.log_path
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.General.log_path = '/' + str(new_path)
+
+    x = cfg.Data.data_dir
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.Data.data_dir = '/' + str(new_path)
+        
+    x = cfg.Data.label_file
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.Data.label_file = '/' + str(new_path)
+
+    return cfg
+
+
+
+class Visualize():
+
+    def __init__(self, checkpoint_path, task):
+        super().__init__()
+
+        home = Path.cwd().parts[1]
+
+        self.jpg_dir = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated/Aachen_Biopsy_Slides_extended/BLOCKS'
+        self.roi_dir = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated/Aachen_Biopsy_Slides_extended/ROI'
+        self.save_path = Path(f'/{home}/ylan/workspace/TransMIL-DeepGraft/test/mil_model_features/')
+        
+
+        self.checkpoint = torch.load(checkpoint_path)
+        self.hparams = self.checkpoint['hyper_parameters']
+        self.n_classes = self.hparams['model']['n_classes']
+        self.model_name = self.hparams['model']['name']
+        self.in_features = self.hparams['model']['in_features']
+
+        self.output_path = self.save_path / self.model_name / task
+        self.label_path = self.hparams['data']['label_file']
+        
+        # print(Path(self.label_path).parts[3])
+        if Path(self.label_path).parts[3] != 'data':
+            new_path = Path('/' + '/'.join(Path(self.label_path).parts[1:3])) / 'data' / Path('/'.join(Path(self.label_path).parts[3:]))
+            a, b = str(new_path).split('.')
+            # new_path = a + '_ext.' + b
+            self.label_path = new_path
+        # else: self.label_path = 
+            # print(Path(new_path))
+            # Path(home).joinpath(*Path(x).parts[2:])
+            # cfg.General.log_path = '/' + str(new_path)
+        
+
+        # Add '_extended' to label file
+        a, b = str(self.label_path).split('.')
+        if a.rsplit('_', 1)[1] != 'ext':
+
+            self.label_path = a + '_ext.' + b
+        # print(self.label_path)
+        if task == 'norm_rej_rest':
+            self.label_path = '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_norm_rej_rest_ext.json'
+
+        # self.label_path = new_path
+        self.data_root = self.hparams['data']['data_dir']
+
+        self.mil_model = None
+        self.feat_model = None
+        self.cam = None
+        self.feature_cam = None
+        self.topk_dict = {}
+        self.device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
+
+        
+
+        # self._load_model_from_checkpoint(checkpoint)
+        # self._load_feature_model()
+        
+
+
+    def _load_model_from_checkpoint(self, checkpoint):
+
+        if self.model_name == 'TransMIL':
+            mil_model = TransMIL(n_classes=self.n_classes, in_features=self.in_features)
+
+        model_weights = checkpoint['state_dict']
+
+        for key in list(model_weights):
+            model_weights[key.replace('model.', '')] = model_weights.pop(key)
+        
+        mil_model.load_state_dict(model_weights)
+        return mil_model
+        # self.mil_model =     mil_model
+    
+    def _load_feature_model(self, model_name='RetCCL'):
+
+        if model_name == 'RetCCL':
+            feature_model = ResNet.resnet50(num_classes=128, mlp=False, two_branch=False, normlinear=True)
+            feature_model.load_state_dict(torch.load(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth'), strict=False)
+            feature_model.fc = torch.nn.Identity()
+
+        # feature_model.to(self.device)
+        feature_model.eval()
+
+        return feature_model
+        # self.feature_model = feature_model
+
+    def _reshape_transform(self, tensor):
+        H = tensor.shape[1]
+        _H, _W = int(np.ceil(np.sqrt(H))), int(np.ceil(np.sqrt(H)))
+        add_length = _H * _W - H
+        tensor = torch.cat([tensor, tensor[:,:add_length,:]],dim = 1)
+        result = tensor[:, :, :].reshape(tensor.size(0), _H, _W, tensor.size(2))
+        result = result.transpose(2,3).transpose(1,2)
+        return result
+    
+    def _get_position_dict(self, batch_coords):
+        coords = []
+        position_dict = {}
+        batch_coords = batch_coords.squeeze(0)
+        for i in range(batch_coords.shape[0]): 
+            c = batch_coords[i, :]
+            x = c[0]
+            y = c[1]
+            coords.append((int(x),int(y)))
+
+        
+
+        for i, (x,y) in enumerate(coords):
+            if x not in position_dict.keys():
+                position_dict[x] = [(y, i)]
+            else: position_dict[x].append((y, i))
+        return position_dict, coords
+        # return coords
+
+    def _get_cam_object(self, model_name, model):
+        
+        if model_name == 'TransMIL':
+            target_layers = [model.norm]
+            cam = GradCAM(model=model, target_layers = target_layers, use_cuda=True, reshape_transform=self._reshape_transform)
+        else:
+            target_layers = [model[0].layer4[-1]]
+            cam = GradCAM(model=model, target_layers=target_layers, use_cuda=True)
+
+        return cam
+
+    def _get_topk(self):
+
+        for n in range(self.n_classes):
+            tpk_csv_path = Path(cfg.log_path) / f'test_epoch_{cfg.epoch}' / f'test_c{n}_top_patients.csv'
+            tpk_df = pd.read_csv(tpk_csv_path)
+            self.topk_dict[str(n)] = {'patients': list(tpk_df.head(5)['Patient']), 'labels': [n] * len(list(tpk_df.head(5)['Patient']))}
+
+
+    def assemble(self, wsi_name, batch_coords, grayscale_cam, mil_grayscale_cam, input_h=224):
+
+        Path(f'{self.output_path}/tiles/{wsi_name}').mkdir(parents=True, exist_ok=True)
+        position_dict, coords = self._get_position_dict(batch_coords)
+        x_max = max([x[0] for x in coords])
+        y_max = max([x[1] for x in coords])
+
+        mean_cam = torch.mean(mil_grayscale_cam, dim=2)
+        # print(mean_cam.shape)
+        # print(mean_cam.shape)
+        percentage_shown = 0.4
+        topk = int(mean_cam.shape[1] * percentage_shown) #
+        print(topk)
+
+        _, topk_indices = torch.topk(mean_cam, topk, dim=1)
+        batch_coords = torch.index_select(batch_coords.squeeze(), 0, topk_indices[0])
+        grayscale_cam = torch.index_select(grayscale_cam.squeeze(), 0, topk_indices[0])
+
+        feature_cam = torch.zeros([(y_max+1)*224, (x_max+1)*224])
+        # print('batch_coords:', batch_coords.shape)
+        # print(coords.shape)
+        for i,( c, img) in enumerate(zip(batch_coords.squeeze(0), grayscale_cam)):
+            c = c.squeeze()
+            x = c[0].item()
+            y = c[1].item()
+            # print(x, y)
+            
+            # print(img.shape)
+            # if i in topk_indices:
+            feature_cam[y*224:y*224+224, x*224:x*224+224] = img 
+        # feature_cam = (feature_cam - feature_cam.min())/(feature_cam.max()-feature_cam.min())
+        wsi = torch.ones([(y_max+1)*224, (x_max+1)*224, 3])
+        roi = np.zeros([(y_max+1)*224, (x_max+1)*224])
+        for i in range(x_max+1):
+            if i in position_dict.keys():
+                for j in position_dict[i]:
+                    y_coord = int(j[0])
+                    x_coord = int(i)
+                    co = coords[j[1]]
+                    tile_path =  Path(self.jpg_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(tile_path)).astype(np.uint8)
+                    img = img / 255.0
+                    img = torch.from_numpy(img)
+                    
+                    wsi[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224, :] = img
+
+                    # save tile level gradcam
+                    tile_features = feature_cam[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224]
+                    mask = gaussian_filter(tile_features, sigma=15)
+                    tile_cam = show_cam_on_image(img.numpy(), tile_features, use_rgb=True, image_weight=0.6, colormap=cv2.COLORMAP_JET)
+                    img_cam = Image.fromarray(tile_cam)
+                    img_cam = img_cam.convert('RGB')
+                    img_cam.save(f'{self.output_path}/tiles/{wsi_name}/{wsi_name}_({co[0]}-{co[1]})_gradcam.jpg')
+
+
+
+                    roi_path =  Path(self.roi_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(roi_path)).astype(np.uint8)
+                    img = img / 255.0
+                    # img = torch.from_numpy(img)
+                    roi[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224] = img
+        W, H = wsi.shape[0], wsi.shape[1]
+
+        
+
+        
+        
+        # mil_attention_map = mil_grayscale_cam[:, :, 1].squeeze()
+        # mil_attention_map = (mil_attention_map-mil_attention_map.min()) / (mil_attention_map.max() - mil_attention_map.min())
+        # mask = torch.zeros(( int(W/input_h), int(H/input_h)))
+        # for i, (x,y) in enumerate(coords):
+        #     mask[y][x] = mil_attention_map[i]
+        # mask = mask.unsqueeze(0).unsqueeze(0)
+
+        # mask = F.interpolate(mask, (W,H), mode='bilinear')
+        # mask = mask.squeeze()
+
+        # mask = (mask - mask.min())/(mask.max()-mask.min())
+        # # mask[mask<0.1] = 0
+
+        # feature_cam[mask==0] = 0
+
+        # mask = mask + feature_cam
+
+        # mask = (mask - mask.min())/(mask.max()-mask.min())
+
+        mask = gaussian_filter(feature_cam, sigma=15)
+        mask = (mask - mask.min())/(mask.max()-mask.min())
+
+        wsi_cam = show_cam_on_image(wsi.numpy(), mask, use_rgb=True, image_weight=0.6, colormap=cv2.COLORMAP_JET)
+
+        roi_idx = (roi==0)
+        wsi_cam[roi_idx] = 255
+        
+        size = (30000, 30000)
+
+        print('Save GradCAM overlay.')
+        img = Image.fromarray(wsi_cam)
+        img = img.convert('RGB')
+        img.save(f'{self.output_path}/{wsi_name}_gradcam.jpg')
+
+        del wsi_cam
+        del mask
+        del wsi
+        del roi
+
+
+    def _save_attention_map(self, wsi_name, batch_coords, mil_grayscale_cam, input_h=224):
+
+        position_dict, coords = self._get_position_dict(batch_coords)
+        x_max = max([x[0] for x in coords])
+        y_max = max([x[1] for x in coords])
+        wsi = torch.ones([(y_max+1)*224, (x_max+1)*224, 3])
+        roi = np.zeros([(y_max+1)*224, (x_max+1)*224])
+        for i in range(x_max+1):
+            if i in position_dict.keys():
+                for j in position_dict[i]:
+                    y_coord = int(j[0])
+                    x_coord = int(i)
+                    co = coords[j[1]]
+                    tile_path =  Path(self.jpg_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(tile_path)).astype(np.uint8)
+                    img = img / 255.0
+                    img = torch.from_numpy(img)
+                    wsi[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224, :] = img
+
+                    roi_path =  Path(self.roi_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(roi_path)).astype(np.uint8)
+                    img = img / 255.0
+                    # img = torch.from_numpy(img)
+                    roi[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224] = img
+        W, H = wsi.shape[0], wsi.shape[1]
+        #----------------------------------------------
+        # Get mask from gradcam
+        #----------------------------------------------
+        mil_attention_map = mil_grayscale_cam[:, :, 1].squeeze()
+        mil_attention_map = (mil_attention_map-mil_attention_map.min()) / (mil_attention_map.max() - mil_attention_map.min())
+        mask = torch.zeros(( int(W/input_h), int(H/input_h)))
+        for i, (x,y) in enumerate(coords):
+            mask[y][x] = mil_attention_map[i]
+        mask = mask.unsqueeze(0).unsqueeze(0)
+
+        mask = F.interpolate(mask, (W,H), mode='bilinear')
+        mask = mask.squeeze(0).permute(1,2,0)
+
+        mask = (mask - mask.min())/(mask.max()-mask.min())
+        mask = mask.numpy()
+        mask = gaussian_filter(mask, sigma=15)
+
+        wsi_cam = show_cam_on_image(wsi.numpy(), mask, use_rgb=True, image_weight=0.6)
+
+        #----------------------------------------------
+        # Use ROI to filter image
+        #----------------------------------------------
+        roi_idx = (roi==0)
+        wsi_cam[roi_idx] = 255
+        
+        size = (30000, 30000)
+
+        print('Save GradCAM overlay.')
+        img = Image.fromarray(wsi_cam)
+        img = img.convert('RGB')
+        img.save(f'{self.output_path}/{wsi_name}_gradcam.jpg')
+
+
+    def run(self, target_label):
+
+        patient_slide_dict_path = f'/{home}/ylan/data/DeepGraft/training_tables/patient_slide_dict_ext.json'
+        
+        self._get_topk()
+        
+        feature_model = self._load_feature_model().to(self.device)
+        mil_model = self._load_model_from_checkpoint(self.checkpoint).to(self.device)
+
+        model = torch.nn.Sequential(feature_model, mil_model).to(self.device) 
+        # print(model)    
+        # print(self.model_name)
+        mil_cam = self._get_cam_object(self.model_name, mil_model)
+        feature_cam = self._get_cam_object('Resnet50', model)
+
+        with open(patient_slide_dict_path, 'r') as f:
+            patient_slide_dict = json.load(f)
+        slides = []
+        for p in self.topk_dict[str(target_label)]['patients']: 
+            slides += list(set(patient_slide_dict[p]))
+        # print(slides)
+        self.output_path = self.output_path / str(target_label)
+        self.output_path.mkdir(parents=True, exist_ok=True)
+        slides_done = [x.stem.rsplit('_', 1)[0] for x in list(self.output_path.iterdir()) if Path(x).suffix == '.jpg']
+        slides_done += ['29.61s/it]Aachen_KiBiDatabase_KiBiAcDKIK860_01_018_PAS', 'Aachen_KiBiDatabase_KiBiAcDKIK860_01_018_PAS', 'Aachen_KiBiDatabase_KiBiAcLAXK110_01_007_PAS']
+        # slides_done += ['Aachen_KiBiDatabase_KiBiAcZXRC970_01_018_PAS', 'Aachen_KiBiDatabase_KiBiAcZXRC970_01_006_HE', 'Aachen_KiBiDatabase_KiBiAcSVXX412_01_006_HE', 'Aachen_KiBiDatabase_KiBiAcUAYM660_01_008_Jones']
+        # slides_done += ['Aachen_KiBiDatabase_KiBiAcDKIK860_01_018_PAS', 'Aachen_KiBiDatabase_KiBiAcLAXK110_01_007_PAS', 'Aachen_KiBiDatabase_KiBiAcLAXK110_01_008_Jones']
+        # slides_done += ['Aachen_KiBiDatabase_KiBiAcFLGQ191_01_018_PAS', 'Aachen_KiBiDatabase_KiBiAcFLGQ191_01_004_PAS', 'Aachen_KiBiDatabase_KiBiAcFLGQ191_01_008_Jones', ]
+        # slides_done += ['Aachen_KiBiDatabase_KiBiAcLAXK110_01_007_PAS', 'Aachen_KiBiDatabase_KiBiAcLAXK110_01_008_Jones', 'Aachen_KiBiDatabase_KiBiAcZXRC970_01_018_PAS', 'Aachen_KiBiDatabase_KiBiAcDKIK860_01_018_PAS']
+        slides = [s for s in slides if s not in slides_done]
+
+        try:
+            len(slides) != 0
+        except:
+            print('No Slides available. Please check directory.')
+        # print(slides)
+        # self.slides_done += ['Aachen_KiBiDatabase_KiBiAcRLKM530_01_006_HE', 'Aachen_KiBiDatabase_KiBiAcRLKM530_01_008_Jones', 'Aachen_KiBiDatabase_KiBiAcRLKM530_01_018_PAS', 'Aachen_KiBiDatabase_KiBiAcUAYM660_01_008_Jones',
+        # 'Aachen_KiBiDatabase_KiBiAcUAYM660_01_014_PAS',]
+        
+        # print('Slides already processed: ', slides_done)
+        # self.slides_done.append(['Aachen_KiBiDatabase_KiBiAcDKIK860_01_018_PAS','Aachen_KiBiDatabase_KiBiAcDOST921_01_008_Jones'])
+
+        #skip for norm_rej_rest:
+
+        # print(slides)
+
+        test_dataset = JPGMILDataloader(file_path=self.data_root, label_path=self.label_path, mode='test', cache=False, n_classes=self.n_classes, model=self.model_name, slides=slides)
+        dl = DataLoader(test_dataset, batch_size=1, num_workers=4)
+        cam_target = [ClassifierOutputTarget(target_label)]
+
+
+        c = 0
+        for item in tqdm(dl):
+
+            bag, label, (name, batch_coords, patient) = item
+            
+            # label = torch.Tensor(label)
+            # # idx = top_patients.index(patient[0])
+
+            slide_name = name[0]
+            print(slide_name)
+            # if slide_name != 'Aachen_KiBiDatabase_KiBiAcRLKM530_01_006_HE':
+            # #     continue
+            # # else:
+            # if slide_name in self.slides_done:
+            #     continue
+
+
+            bag = bag.float().squeeze(0).to(self.device)
+            # features = model[0](bag.squeeze())
+            # with torch.no_grad():
+            #     features = feature_model(bag.squeeze())
+                # scores = model[1](features)
+            # print(scores)
+            instance_count = bag.size(0)
+            # bag = bag.detach()    
+            # features = features.detach()
+            #     
+                # with torch.cuda.amp.autocast():
+                #     pred = model(bag)
+                # print(pred.shape)
+            # target_layers = [feature_model.layer4[-1]]
+            # with GradCAM(model=feature_model, target_layers=target_layers, use_cuda=True) as cam:
+                # cam    = self._get_cam_object('Resnet50', model)
+            grayscale_cam = feature_cam(input_tensor=bag.detach(), targets=cam_target)
+            grayscale_cam = torch.Tensor(grayscale_cam)
+            
+            with torch.no_grad():
+                features = feature_model(bag.squeeze())
+
+            
+
+
+            # mil_cam = self._get_cam_object(self.model_name, model[1])
+
+            # mil_grayscale_cam = mil_cam(input_tensor=features.unsqueeze(0), targets=cam_target)
+            # mil_grayscale_cam = torch.Tensor(mil_grayscale_cam)[:instance_count, :]
+            # target_layers = [mil_model.norm]
+            # cam = GradCAM(model=model, target_layers = target_layers, use_cuda=True, reshape_transform=self._reshape_transform)
+            # with GradCAM(model=mil_model, target_layers = target_layers, use_cuda=True, reshape_transform=self._reshape_transform) as cam:
+
+            mil_grayscale_cam = mil_cam(input_tensor=features.unsqueeze(0), targets=cam_target)
+            mil_grayscale_cam = torch.Tensor(mil_grayscale_cam)[:instance_count, :]
+            
+            # del mil_cam
+            # del bag
+            # del features
+            # torch.cuda.empty_cache()
+            
+            # print(mil_grayscale_cam.shape)
+           
+                # print(grayscale_cam.shape)
+            
+                # # bag = bag.detach()
+                # # print(target_label)
+                # # self._save_attention_map(slide_name, batch_coords, grayscale_cam)
+                # print(grayscale_cam.max())
+                # print(grayscale_cam.min())
+            self.assemble(slide_name, batch_coords, grayscale_cam, mil_grayscale_cam)
+
+    # for t in test_dataset:
+
+def make_parse():
+    parser = argparse.ArgumentParser()
+    parser.add_argument('--stage', default='test', type=str)
+    parser.add_argument('--config', default='../DeepGraft/TransMIL_feat_norm_rest.yaml',type=str)
+    parser.add_argument('--version', default=0,type=int)
+    parser.add_argument('--epoch', default='0',type=str)
+    parser.add_argument('--gpus', default = 0, type=int)
+    parser.add_argument('--loss', default = 'CrossEntropyLoss', type=str)
+    parser.add_argument('--fold', default = 0)
+    parser.add_argument('--bag_size', default = 10000, type=int)
+    parser.add_argument('--target_label', default = 1, type=int)
+
+
+    args = parser.parse_args()
+    return args
+
+if __name__ == '__main__':
+
+    # device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
+
+    args = make_parse()
+    cfg = read_yaml(args.config)
+
+    #---->update
+    cfg.config = args.config
+    cfg.General.gpus = [args.gpus]
+    cfg.General.server = args.stage
+    cfg.Data.fold = args.fold
+    cfg.Loss.base_loss = args.loss
+    cfg.Data.bag_size = args.bag_size
+    cfg.version = args.version
+    cfg.epoch = args.epoch
+
+    cfg = check_home(cfg)
+
+    config_path = '/'.join(Path(cfg.config).parts[1:])
+    log_path = Path(cfg.General.log_path) / str(Path(config_path).parent)
+
+    Path(cfg.General.log_path).mkdir(exist_ok=True, parents=True)
+    log_name =  f'_{cfg.Model.backbone}' + f'_{cfg.Loss.base_loss}'
+    task = '_'.join(Path(cfg.config).name[:-5].split('_')[2:])
+    # task = Path(cfg.config).name[:-5].split('_')[2:][0]
+    cfg.task = task
+    cfg.log_path = log_path / f'{cfg.Model.name}' / task / log_name / 'lightning_logs' / f'version_{cfg.version}' 
+    
+    home = Path.cwd().parts[1]
+
+    ckpt_pth = Path(cfg.log_path) / 'checkpoints'
+    model_paths = list(ckpt_pth.glob('*.ckpt'))
+    if cfg.epoch == 'last':
+        model_paths = [str(model_path) for model_path in model_paths if f'last' in str(model_path)]
+    else:
+        model_paths = [str(model_path) for model_path in model_paths if f'epoch={cfg.epoch}' in str(model_path)]
+        
+    # for i in range(args.total_classes):
+
+    target_label = args.target_label
+    print(task)
+    
+    # for target_label in range(args.total_classes):
+    visualizer = Visualize(checkpoint_path=model_paths[0], task=cfg.task)
+    visualizer.run(target_label)
diff --git a/code/visualize_mil.py b/code/visualize_mil.py
new file mode 100644
index 0000000..822df65
--- /dev/null
+++ b/code/visualize_mil.py
@@ -0,0 +1,374 @@
+import argparse
+from pathlib import Path
+import numpy as np
+import glob
+import re
+
+from sklearn.model_selection import KFold
+from scipy.interpolate import griddata
+from scipy.ndimage import gaussian_filter
+from models.model_interface import ModelInterface
+import models.vision_transformer as vits
+from utils.utils import *
+
+# pytorch_lightning
+import pytorch_lightning as pl
+from pytorch_lightning import Trainer
+import torch
+import torch.nn as nn
+from torch.cuda.amp import autocast
+
+from pytorch_grad_cam import GradCAM, EigenGradCAM, EigenCAM, XGradCAM, ScoreCAM, GradCAMPlusPlus
+from pytorch_grad_cam.utils.image import show_cam_on_image
+from pytorch_grad_cam.utils.model_targets import ClassifierOutputTarget
+
+import cv2
+from PIL import Image, ImageFilter
+from matplotlib import pyplot as plt
+import pandas as pd
+import json
+import pprint
+
+from models import TransMIL
+# from datasets.zarr_feature_dataloader_simple import ZarrFeatureBagLoader
+from datasets.feature_dataloader import FeatureBagLoader
+from datasets.jpg_dataloader import JPGMILDataloader
+from torch.utils.data import random_split, DataLoader
+import time
+from tqdm import tqdm
+import torchmetrics
+import models.ResNet as ResNet
+
+from torchmetrics.functional.classification import binary_auroc, multiclass_auroc, binary_precision_recall_curve, multiclass_precision_recall_curve
+
+
+
+def check_home(cfg):
+    # replace home directory
+    
+    home = Path.cwd().parts[1]
+
+    x = cfg.General.log_path
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.General.log_path = '/' + str(new_path)
+
+    x = cfg.Data.data_dir
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.Data.data_dir = '/' + str(new_path)
+        
+    x = cfg.Data.label_file
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.Data.label_file = '/' + str(new_path)
+
+    return cfg
+
+
+
+class Visualize():
+
+    def __init__(self, checkpoint_path, task):
+        super().__init__()
+
+        home = Path.cwd().parts[1]
+
+        self.jpg_dir = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated/Aachen_Biopsy_Slides_extended/TEST'
+        self.roi_dir = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated/Aachen_Biopsy_Slides_extended/ROI'
+        self.save_path = Path(f'/{home}/ylan/workspace/TransMIL-DeepGraft/test/mil_model_extended/')
+        
+
+        self.checkpoint = torch.load(checkpoint_path)
+        self.hparams = self.checkpoint['hyper_parameters']
+        self.n_classes = self.hparams['model']['n_classes']
+        self.model_name = self.hparams['model']['name']
+        self.in_features = self.hparams['model']['in_features']
+
+        self.output_path = self.save_path / self.model_name / task
+        self.label_path = self.hparams['data']['label_file']
+        # print(Path(self.label_path).parts[3])
+        if Path(self.label_path).parts[3] != 'data':
+            new_path = Path('/' + '/'.join(Path(self.label_path).parts[1:3])) / 'data' / Path('/'.join(Path(self.label_path).parts[3:]))
+            a, b = str(new_path).split('.')
+            self.label_path = new_path
+        # else: self.label_path = 
+            # print(Path(new_path))
+            # Path(home).joinpath(*Path(x).parts[2:])
+            # cfg.General.log_path = '/' + str(new_path)
+        
+
+        # Add '_extended' to label file
+        a, b = str(self.label_path).split('.')
+        # self.label_path = a + '_ext.' + b
+        if a.rsplit('_', 1)[1] != 'ext':
+            self.label_path = a + '_ext.' + b
+        if task == 'norm_rej_rest':
+            self.label_path = '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_norm_rej_rest_ext.json'
+        print(self.label_path)
+        # self.label_path = '/home/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_Grocott_norm_rej_rest_ext.json'
+
+        # self.label_path = new_path
+        self.data_root = self.hparams['data']['data_dir']
+
+        self.mil_model = None
+        self.feat_model = None
+        self.cam = None
+        self.topk_dict = {}
+        self.device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
+
+        # self._load_model_from_checkpoint(checkpoint)
+        # self._load_feature_model()
+        
+
+
+    def _load_model_from_checkpoint(self, checkpoint):
+
+        if self.model_name == 'TransMIL':
+            mil_model = TransMIL(n_classes=self.n_classes, in_features=self.in_features)
+
+        model_weights = checkpoint['state_dict']
+
+        for key in list(model_weights):
+            model_weights[key.replace('model.', '')] = model_weights.pop(key)
+        
+        mil_model.load_state_dict(model_weights)
+        return mil_model
+        # self.mil_model =     mil_model
+    
+    def _load_feature_model(self, model_name='RetCCL'):
+
+        if model_name == 'RetCCL':
+            feature_model = ResNet.resnet50(num_classes=128, mlp=False, two_branch=False, normlinear=True)
+            feature_model.load_state_dict(torch.load(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth'), strict=False)
+            feature_model.fc = torch.nn.Identity()
+
+        feature_model.to(self.device)
+        feature_model.eval()
+
+        return feature_model
+        # self.feature_model = feature_model
+
+    def _reshape_transform(self, tensor):
+        H = tensor.shape[1]
+        _H, _W = int(np.ceil(np.sqrt(H))), int(np.ceil(np.sqrt(H)))
+        add_length = _H * _W - H
+        tensor = torch.cat([tensor, tensor[:,:add_length,:]],dim = 1)
+        result = tensor[:, :, :].reshape(tensor.size(0), _H, _W, tensor.size(2))
+        result = result.transpose(2,3).transpose(1,2)
+        return result
+    
+    def _get_position_dict(self, batch_coords):
+        coords = []
+        position_dict = {}
+        batch_coords = batch_coords.squeeze(0)
+        for i in range(batch_coords.shape[0]): 
+            c = batch_coords[i, :]
+            x = c[0]
+            y = c[1]
+            coords.append((int(x),int(y)))
+
+        
+
+        for i, (x,y) in enumerate(coords):
+            if x not in position_dict.keys():
+                position_dict[x] = [(y, i)]
+            else: position_dict[x].append((y, i))
+        return position_dict, coords
+        # return coords
+
+    def _get_cam_object(self, model_name, model):
+        if model_name == 'TransMIL':
+            target_layers = [model.norm]
+            self.cam = GradCAM(model=model, target_layers = target_layers, use_cuda=True, reshape_transform=self._reshape_transform)
+            # target_layers = [model.layer4[-1]]
+            # self.cam = GradCAM(model=model, target_layers=target_layers, use_cuda=True)
+
+    def _get_topk(self):
+
+        for n in range(self.n_classes):
+            tpk_csv_path = Path(cfg.log_path) / f'test_epoch_{cfg.epoch}' / f'test_c{n}_top_patients.csv'
+            tpk_df = pd.read_csv(tpk_csv_path)
+            self.topk_dict[str(n)] = {'patients': list(tpk_df.head(5)['Patient']), 'labels': [n] * len(list(tpk_df.head(5)['Patient']))}
+
+    def _save_attention_map(self, wsi_name, batch_coords, mil_grayscale_cam, input_h=224):
+
+        position_dict, coords = self._get_position_dict(batch_coords)
+        x_max = max([x[0] for x in coords])
+        y_max = max([x[1] for x in coords])
+        wsi = torch.ones([(y_max+1)*224, (x_max+1)*224, 3])
+        roi = np.zeros([(y_max+1)*224, (x_max+1)*224])
+        for i in range(x_max+1):
+            if i in position_dict.keys():
+                for j in position_dict[i]:
+                    y_coord = int(j[0])
+                    x_coord = int(i)
+                    co = coords[j[1]]
+                    tile_path =  Path(self.jpg_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(tile_path)).astype(np.uint8)
+                    img = img / 255.0
+                    img = torch.from_numpy(img)
+                    wsi[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224, :] = img
+
+                    roi_path =  Path(self.roi_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                    img = np.asarray(Image.open(roi_path)).astype(np.uint8)
+                    img = img / 255.0
+                    # img = torch.from_numpy(img)
+                    roi[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224] = img
+        W, H = wsi.shape[0], wsi.shape[1]
+        #----------------------------------------------
+        # Get mask from gradcam
+        #----------------------------------------------
+        mil_attention_map = mil_grayscale_cam[:, :, 1].squeeze()
+        mil_attention_map = (mil_attention_map-mil_attention_map.min()) / (mil_attention_map.max() - mil_attention_map.min())
+        mask = torch.zeros(( int(W/input_h), int(H/input_h)))
+        for i, (x,y) in enumerate(coords):
+            mask[y][x] = mil_attention_map[i]
+        mask = mask.unsqueeze(0).unsqueeze(0)
+
+        mask = F.interpolate(mask, (W,H), mode='bilinear')
+        mask = mask.squeeze(0).permute(1,2,0)
+
+        mask = (mask - mask.min())/(mask.max()-mask.min())
+        mask = mask.numpy()
+        # mask = gaussian_filter(mask, sigma=15)
+
+        wsi_cam = show_cam_on_image(wsi.numpy(), mask, use_rgb=True, image_weight=0.6, colormap=cv2.COLORMAP_JET)
+
+        #----------------------------------------------
+        # Use ROI to filter image
+        #----------------------------------------------
+        roi_idx = (roi==0)
+        wsi_cam[roi_idx] = 255
+        
+        size = (30000, 30000)
+
+        print('Save GradCAM overlay.')
+        img = Image.fromarray(wsi_cam)
+        img = img.convert('RGB')
+        img.save(f'{self.output_path}/{wsi_name}_gradcam.jpg')
+
+
+    def run(self, target_label):
+
+        patient_slide_dict_path = f'/{home}/ylan/data/DeepGraft/training_tables/patient_slide_dict_ext.json'
+        
+        self._get_topk()
+        
+        feature_model = self._load_feature_model()
+        mil_model = self._load_model_from_checkpoint(self.checkpoint)
+        self._get_cam_object(self.model_name, mil_model)
+
+        with open(patient_slide_dict_path, 'r') as f:
+            patient_slide_dict = json.load(f)
+        slides = []
+        for p in self.topk_dict[str(target_label)]['patients']: 
+            slides += patient_slide_dict[p]
+        self.output_path = self.output_path / str(target_label)
+        self.output_path.mkdir(parents=True, exist_ok=True)
+        skip_slides = [x.stem.rsplit('_', 1)[0] for x in list(self.output_path.iterdir()) if Path(x).suffix == '.jpg']
+        skip_slides += ['Aachen_KiBiDatabase_KiBiAcDKIK860_01_006_HE']
+        slides = [s for s in slides if s not in skip_slides]
+
+        try:
+            len(slides) != 0
+        except:
+            print('No Slides available. Please check directory.')
+
+        # print(slides)
+
+        test_dataset = JPGMILDataloader(file_path=self.data_root, label_path=self.label_path, mode='test', cache=False, n_classes=self.n_classes, model=self.model_name, slides=slides)
+        dl = DataLoader(test_dataset, batch_size=1, num_workers=4, pin_memory=True)
+
+        for item in tqdm(dl):
+            
+            bag, label, (name, batch_coords, patient) = item
+            label = torch.Tensor(label)
+            # idx = top_patients.index(patient[0])
+
+            slide_name = name[0]
+            print(slide_name)
+            if slide_name != 'Aachen_KiBiDatabase_KiBiAcRLKM530_01_006_HE':
+            #     continue
+            # else:
+            
+
+                bag = bag.float().to(self.device)
+                with torch.cuda.amp.autocast():
+                    features = feature_model(bag.squeeze())
+                instance_count = bag.size(0)
+                bag = bag.detach()
+                cam_target = [ClassifierOutputTarget(target_label)]
+                
+                mil_grayscale_cam = self.cam(input_tensor=features.unsqueeze(0), targets=cam_target)
+                mil_grayscale_cam = torch.Tensor(mil_grayscale_cam)[:instance_count, :]
+                features = features.detach()
+                bag = bag.detach()
+                # print(target_label)
+                self._save_attention_map(slide_name, batch_coords, mil_grayscale_cam)
+
+    # for t in test_dataset:
+
+def make_parse():
+    parser = argparse.ArgumentParser()
+    parser.add_argument('--stage', default='test', type=str)
+    parser.add_argument('--config', default='../DeepGraft/TransMIL_feat_norm_rest.yaml',type=str)
+    parser.add_argument('--version', default=0,type=int)
+    parser.add_argument('--epoch', default='0',type=str)
+    parser.add_argument('--gpus', default = 0, type=int)
+    parser.add_argument('--loss', default = 'CrossEntropyLoss', type=str)
+    parser.add_argument('--fold', default = 0)
+    parser.add_argument('--bag_size', default = 10000, type=int)
+    parser.add_argument('--total_classes', default = 2, type=int)
+    parser.add_argument('--target_label', default = 1, type=int)
+
+
+    args = parser.parse_args()
+    return args
+
+if __name__ == '__main__':
+
+    # device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
+
+    args = make_parse()
+    cfg = read_yaml(args.config)
+
+    #---->update
+    cfg.config = args.config
+    cfg.General.gpus = [args.gpus]
+    cfg.General.server = args.stage
+    cfg.Data.fold = args.fold
+    cfg.Loss.base_loss = args.loss
+    cfg.Data.bag_size = args.bag_size
+    cfg.version = args.version
+    cfg.epoch = args.epoch
+
+    cfg = check_home(cfg)
+
+    config_path = '/'.join(Path(cfg.config).parts[1:])
+    log_path = Path(cfg.General.log_path) / str(Path(config_path).parent)
+
+    Path(cfg.General.log_path).mkdir(exist_ok=True, parents=True)
+    log_name =  f'_{cfg.Model.backbone}' + f'_{cfg.Loss.base_loss}'
+    task = '_'.join(Path(cfg.config).name[:-5].split('_')[2:])
+    # task = Path(cfg.config).name[:-5].split('_')[2:][0]
+    cfg.task = task
+    cfg.log_path = log_path / f'{cfg.Model.name}' / task / log_name / 'lightning_logs' / f'version_{cfg.version}' 
+    
+    home = Path.cwd().parts[1]
+
+    ckpt_pth = Path(cfg.log_path) / 'checkpoints'
+    model_paths = list(ckpt_pth.glob('*.ckpt'))
+    if cfg.epoch == 'last':
+        model_paths = [str(model_path) for model_path in model_paths if f'last' in str(model_path)]
+    else:
+        model_paths = [str(model_path) for model_path in model_paths if f'epoch={cfg.epoch}' in str(model_path)]
+        
+    # for i in range(args.total_classes):
+
+    # target_label = 1
+    target_label = args.target_label
+    
+    # for target_label in range(args.total_classes):
+    visualizer = Visualize(checkpoint_path=model_paths[0], task=cfg.task)
+    visualizer.run(target_label)
diff --git a/code/visualize_old.py b/code/visualize_old.py
new file mode 100644
index 0000000..e8f4c47
--- /dev/null
+++ b/code/visualize_old.py
@@ -0,0 +1,555 @@
+import argparse
+from pathlib import Path
+import numpy as np
+import glob
+import re
+
+from sklearn.model_selection import KFold
+from scipy.interpolate import griddata
+from scipy.ndimage import gaussian_filter
+
+# from datasets.data_interface import DataInterface, MILDataModule, CrossVal_MILDataModule
+# from datasets import JPGMILDataloader, MILDataModule, FeatureBagLoader
+from models.model_interface import ModelInterface
+import models.vision_transformer as vits
+from utils.utils import *
+
+# pytorch_lightning
+import pytorch_lightning as pl
+from pytorch_lightning import Trainer
+import torch
+import torch.nn as nn
+from torch.cuda.amp import autocast
+
+from pytorch_grad_cam import GradCAM, EigenGradCAM, EigenCAM, XGradCAM, ScoreCAM, GradCAMPlusPlus
+from pytorch_grad_cam.utils.image import show_cam_on_image
+from pytorch_grad_cam.utils.model_targets import ClassifierOutputTarget
+
+import cv2
+from PIL import Image, ImageFilter
+from matplotlib import pyplot as plt
+import pandas as pd
+import json
+import pprint
+
+from models import TransMIL
+# from datasets.zarr_feature_dataloader_simple import ZarrFeatureBagLoader
+from datasets.feature_dataloader import FeatureBagLoader
+from datasets.jpg_dataloader import JPGMILDataloader
+from torch.utils.data import random_split, DataLoader
+import time
+from tqdm import tqdm
+import torchmetrics
+import models.ResNet as ResNet
+
+from torchmetrics.functional.classification import binary_auroc, multiclass_auroc, binary_precision_recall_curve, multiclass_precision_recall_curve
+
+
+#--->Setting parameters
+def make_parse():
+    parser = argparse.ArgumentParser()
+    parser.add_argument('--stage', default='test', type=str)
+    parser.add_argument('--config', default='../DeepGraft/TransMIL.yaml',type=str)
+    parser.add_argument('--version', default=0,type=int)
+    parser.add_argument('--epoch', default='0',type=str)
+    parser.add_argument('--gpus', default = 0, type=int)
+    parser.add_argument('--loss', default = 'CrossEntropyLoss', type=str)
+    parser.add_argument('--fold', default = 0)
+    parser.add_argument('--bag_size', default = 10000, type=int)
+
+    args = parser.parse_args()
+    return args
+
+class InferenceModel(nn.Module):
+    def __init__(self, feature_model, mil_model):
+        super(InferenceModel, self).__init__()
+
+        self.feature_model = feature_model
+        self.mil_model = mil_model
+
+    def forward(self, x):
+
+        
+        # batch_size = x.shape[0]
+        bag_size = x.shape[0]
+        # bag = x.view(batch_size*bag_size, x.shape[2], x.shape[3], x.shape[4])
+
+        x = x.squeeze()
+        feats = self.feature_model(x)
+        # feats = feats.view(batch_size, bag_size, -1)
+        logits = self.mil_model(feats.unsqueeze(0))
+
+        return logits
+
+
+class RETCCL_FE(pl.LightningModule):
+    def __init__(self):
+        self.model_ft = ResNet.resnet50(num_classes=128, mlp=False, two_branch=False, normlinear=True)
+        home = Path.cwd().parts[1]
+        # pre_model = 
+        # self.model_ft.fc = nn.Identity()
+        # self.model_ft.load_from_checkpoint(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth', strict=False)
+        self.model_ft.load_state_dict(torch.load(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth'), strict=False)
+        for param in self.model_ft.parameters():
+            param.requires_grad = False
+        self.model_ft.fc = torch.nn.Identity()
+        # self.model_ft.to(self.device)
+    
+    def forward(self, x):
+        return self.model_ft(x)
+        
+# def reshape_transform(tensor, height=14, width=14):
+#     result = tensor[:, 1 :  , :].reshape(tensor.size(0),
+#         height, width, tensor.size(2))
+
+#     # Bring the channels to the first dimension,
+#     # like in CNNs.
+#     result = result.transpose(2, 3).transpose(1, 2)
+#     return result
+
+def reshape_transform(tensor):
+    # print('reshape_transform')
+    # print(tensor.shape)
+    H = tensor.shape[1]
+    _H, _W = int(np.ceil(np.sqrt(H))), int(np.ceil(np.sqrt(H)))
+    # print(_H, _W)
+    add_length = _H * _W - H
+    tensor = torch.cat([tensor, tensor[:,:add_length,:]],dim = 1)
+    # print(tensor.shape)
+    result = tensor[:, :, :].reshape(tensor.size(0), _H, _W, tensor.size(2))
+    # print(result.shape)
+    result = result.transpose(2,3).transpose(1,2)
+    # print(result.shape)
+    # print('----------')
+    return result
+
+
+def save_attention_map(wsi_name, batch_names, mil_grayscale_cam, target, task='norm_rest', device='cpu', input_h=224):
+
+    # def get_coords(batch_names): #ToDO: Change function for precise coords
+    #     coords = []
+        
+    #     for tile_name in batch_names: 
+    #         # print(tile_name)
+    #         pos = re.findall(r'\((.*?)\)', tile_name)
+    #         # print(pos)
+    #         x, y = pos[-1].split('-')
+    #         # print(x, y)
+    #         coords.append((int(x),int(y)))
+
+    #     return coords
+    
+
+    def get_coords(batch_names):
+        coords = []
+        batch_names = batch_names.squeeze(0)
+        for i in range(batch_names.shape[0]): 
+            c = batch_names[i, :]
+            # print(c)
+            x = c[0]
+            y = c[1]
+            coords.append((int(x),int(y)))
+        return coords
+
+    home = Path.cwd().parts[1]
+    jpg_dir = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated/Aachen_Biopsy_Slides/TEST'
+    roi_dir = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated/Aachen_Biopsy_Slides/ROI'
+    save_path = Path(f'/{home}/ylan/workspace/TransMIL-DeepGraft/test/mil_model/{task}')
+
+    output_path = save_path / str(target)
+    # output_path = save_path / str(target.item())
+    output_path.mkdir(parents=True, exist_ok=True)
+
+    coords = get_coords(batch_names)
+    data = []
+
+    # print('Assembled: ')
+
+    position_dict = {}
+    assembled = []
+    # for tile in self.predictions:
+    count = 0
+    white_value = 0
+    x_max = max([x[0] for x in coords])
+    y_max = max([x[1] for x in coords])
+
+    for i, (x,y) in enumerate(coords):
+        if x not in position_dict.keys():
+
+            position_dict[x] = [(y, i)]
+        else: position_dict[x].append((y, i))
+
+    wsi = torch.ones([(y_max+1)*224, (x_max+1)*224, 3])
+    roi = np.zeros([(y_max+1)*224, (x_max+1)*224])
+    for i in range(x_max+1):
+        if i in position_dict.keys():
+            for j in position_dict[i]:
+                y_coord = int(j[0])
+                x_coord = int(i)
+                # sample_idx = j[1]
+                # print(coords[j[1]])
+                co = coords[j[1]]
+                tile_path =  Path(jpg_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                img = np.asarray(Image.open(tile_path)).astype(np.uint8)
+                img = img / 255.0
+                img = torch.from_numpy(img)
+                wsi[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224, :] = img
+
+                roi_path =  Path(roi_dir) / wsi_name / f'{wsi_name}_({co[0]}-{co[1]}).png'
+                img = np.asarray(Image.open(roi_path)).astype(np.uint8)
+                img = img / 255.0
+                # img = torch.from_numpy(img)
+                roi[y_coord*224:(y_coord+1)*224, x_coord*224:(x_coord+1)*224] = img
+    
+    
+    # roi = torch.stack((roi, roi, roi), dim=2)
+    W, H = wsi.shape[0], wsi.shape[1]
+    # test mil_model attention map
+    mil_attention_map = mil_grayscale_cam[:, :, 1].squeeze()
+    mil_attention_map = (mil_attention_map-mil_attention_map.min()) / (mil_attention_map.max() - mil_attention_map.min())
+
+    input_h = 224
+    # print(input_h)
+        
+    mil_mask = torch.zeros(( int(W/input_h), int(H/input_h)))
+    # print('mil_mask: ', mil_mask.shape)
+    # print(len(coords))
+    for i, (x,y) in enumerate(coords):
+        mil_mask[y][x] = mil_attention_map[i]
+    mil_mask = mil_mask.unsqueeze(0).unsqueeze(0)
+
+    mil_mask = F.interpolate(mil_mask, (W,H), mode='bilinear')
+    mil_mask = mil_mask.squeeze(0).permute(1,2,0)
+
+    mil_mask = (mil_mask - mil_mask.min())/(mil_mask.max()-mil_mask.min())
+    mil_mask = mil_mask.numpy()
+    mil_mask = gaussian_filter(mil_mask, sigma=15)
+    # mil_mask = mil_mask.unsqueeze(0).unsqueeze(0)
+    # print(mil_mask)
+    # print(mil_mask.max(), mil_mask.min())
+
+    # Save original
+    # print('Save Original.')
+    # wsi_out = ((wsi-wsi.min())/(wsi.max()-wsi.min()) * 255.0).numpy().astype(np.uint8)
+    # img = Image.fromarray(wsi_out)
+    # img = img.convert('RGB')
+    # size = (30000, 30000)
+    # img.thumbnail(size, Image.Resampling.LANCZOS)
+    # output_path = save_path / str(target)
+    # # output_path = save_path / str(target.item())
+    # output_path.mkdir(parents=True, exist_ok=True)
+    # img.save(f'{output_path}/{wsi_name}.png')
+    # del wsi_out
+    #--> Get interpolated mask from GradCam
+    # W, H = wsi.shape[0], wsi.shape[1]
+    # mask = torch.zeros((W,H))
+    # for i, (x,y) in enumerate(coords):
+    #     mask[y*224:(y+1)*224, x*224:(x+1)*224] = grayscale_cam[i] #* mil_attention_map[i]
+    
+    # mask = mask.unsqueeze(0).unsqueeze(0)
+    # mask = mask.squeeze(0).permute(1,2,0)
+    # # print(mask)
+    # # mask = 255 * (mask / mask.max())
+    # mask = mask.numpy()
+    # mask = gaussian_filter(mask, sigma=15)
+    #------------------------------------------
+    # heatmap = cv2.applyColorMap(np.uint8(255 * mask), cv2.COLORMAP_PLASMA)
+    # img = Image.fromarray(255 - np.uint8(heatmap))
+    # img.save(f'{output_path}/{wsi_name}_attention.png')
+
+    # mask_img = Image.fromarray(mask.unsqueeze(0))
+    # mask_img = mask_img.filter(ImageFilter.MORE_SMOOTH)
+
+    # print('mask: ', mask.shape)
+    
+    # def show_cam_on_image(img, mask):
+    #     heatmap = cv2.applyColorMap(np.uint8(255*mask), cv2.COLORMAP_JET)
+    #     heatmap = cv2.applyColorMap(np.uint8(255 * mask), cv2.COLORMAP_JET)
+    #     heatmap = np.float32(heatmap) / 255
+    #     cam = heatmap*0.4 + np.float32(img)
+    #     cam = cam / np.max(cam)
+        # return cam
+
+    wsi_cam = show_cam_on_image(wsi.numpy(), mil_mask, use_rgb=True, image_weight=0.6)
+
+    print('Filter with ROI Mask.')
+    roi_idx = (roi==0)
+    wsi_cam[roi_idx] = 255
+    # print(wsi_cam)
+    # wsi_cam = ((wsi_cam-wsi_cam.min())/(wsi_cam.max()-wsi_cam.min()) * 255.0).astype(np.uint8)
+    
+    size = (30000, 30000)
+
+    print('Save GradCAM overlay.')
+    img = Image.fromarray(wsi_cam)
+    img = img.convert('RGB')
+    # img.thumbnail(size, Image.Resampling.LANCZOS)
+    # img.resize(size, resample=Image.Resampling.LANCZOS)
+    # img = img.filter(ImageFilter.MORE_SMOOTH)
+    # output_path = save_path / str(target.item())
+    # output_path.mkdir(parents=True, exist_ok=True)
+    img.save(f'{output_path}/{wsi_name}_gradcam.jpg')
+
+
+#---->main
+def check_home(cfg):
+    # replace home directory
+    
+    home = Path.cwd().parts[1]
+
+    x = cfg.General.log_path
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.General.log_path = '/' + str(new_path)
+
+    x = cfg.Data.data_dir
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.Data.data_dir = '/' + str(new_path)
+        
+    x = cfg.Data.label_file
+    if Path(x).parts[1] != home:
+        new_path = Path(home).joinpath(*Path(x).parts[2:])
+        cfg.Data.label_file = '/' + str(new_path)
+
+    return cfg
+
+if __name__ == '__main__':
+
+    args = make_parse()
+    cfg = read_yaml(args.config)
+
+    #---->update
+    cfg.config = args.config
+    cfg.General.gpus = [args.gpus]
+    cfg.General.server = args.stage
+    cfg.Data.fold = args.fold
+    cfg.Loss.base_loss = args.loss
+    cfg.Data.bag_size = args.bag_size
+    cfg.version = args.version
+    cfg.epoch = args.epoch
+
+    cfg = check_home(cfg)
+
+    config_path = '/'.join(Path(cfg.config).parts[1:])
+    log_path = Path(cfg.General.log_path) / str(Path(config_path).parent)
+
+    Path(cfg.General.log_path).mkdir(exist_ok=True, parents=True)
+    log_name =  f'_{cfg.Model.backbone}' + f'_{cfg.Loss.base_loss}'
+    task = '_'.join(Path(cfg.config).name[:-5].split('_')[2:])
+    # task = Path(cfg.config).name[:-5].split('_')[2:][0]
+    cfg.task = task
+    cfg.log_path = log_path / f'{cfg.Model.name}' / task / log_name / 'lightning_logs' / f'version_{cfg.version}' 
+    
+    # cfg.model_path = cfg.log_patth / 'code' / 'models' / 
+    
+    
+
+    #---->main
+    # main(cfg)
+
+    
+
+    device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
+    scaler = torch.cuda.amp.GradScaler()
+    
+    home = Path.cwd().parts[1]
+    ckpt_pth = Path(cfg.log_path) / 'checkpoints'
+    model_paths = list(ckpt_pth.glob('*.ckpt'))
+
+    # print(model_paths)
+    if cfg.epoch == 'last':
+        model_paths = [str(model_path) for model_path in model_paths if f'last' in str(model_path)]
+    else:
+        model_paths = [str(model_path) for model_path in model_paths if f'epoch={cfg.epoch}' in str(model_path)]
+
+    # checkpoint = torch.load(f'{cfg.log_path}/checkpoints/epoch=04-val_loss=0.4243-val_auc=0.8243-val_patient_auc=0.8282244801521301.ckpt')
+    # checkpoint = torch.load(f'{cfg.log_path}/checkpoints/epoch=73-val_loss=0.8574-val_auc=0.9682-val_patient_auc=0.9724310636520386.ckpt')
+    # print(model_paths)
+    checkpoint = torch.load(model_paths[0])
+
+    hyper_parameters = checkpoint['hyper_parameters']
+    n_classes = hyper_parameters['model']['n_classes']
+    # batch_size = 5
+
+
+    feature_model = ResNet.resnet50(num_classes=128, mlp=False, two_branch=False, normlinear=True)
+    feature_model.load_state_dict(torch.load(f'/{home}/ylan/workspace/TransMIL-DeepGraft/code/models/ckpt/retccl_best_ckpt.pth'), strict=False)
+    feature_model.fc = torch.nn.Identity()
+    feature_model.to(device)
+    feature_model.eval()
+
+    mil_model = TransMIL(n_classes=n_classes, in_features=2048).to(device)
+    model_weights = checkpoint['state_dict']
+
+    for key in list(model_weights):
+        model_weights[key.replace('model.', '')] = model_weights.pop(key)
+    
+    mil_model.load_state_dict(model_weights)
+    # mil_model.eval()
+
+
+    big_model = InferenceModel(feature_model, mil_model).to(device)
+    big_model.eval()
+    count = 0
+    
+    # for param in big_model.parameters():
+    #     param.requires_grad = False
+    
+
+
+    home = Path.cwd().parts[1]
+    data_root = f'/{home}/ylan/data/DeepGraft/224_256uM_annotated'
+    label_path = hyper_parameters['data']['label_path']
+    # label_path = f'/{home}/ylan/data/DeepGraft/training_tables/dg_split_PAS_HE_Jones_norm_rej_rest_val_1.json'
+    
+    # if self.model_name == 'TransMIL':
+        # print(self.model.layer2.norm)
+    # print(big_model)
+    target_layers = [big_model.feature_model.layer4[-1]] # 32x32
+    # target_layers = [big_model.mil_model.layer2.norm] # 32x32
+    # target_layers = [mil_model.layer2.norm] # 32x32
+    # target_layers = [self.model_ft[0].features[-1]] # 32x32
+    cam = GradCAM(model=big_model, target_layers = target_layers, use_cuda=True) #, reshape_transform=self.reshape_transform
+    mil_cam = GradCAM(model=mil_model, target_layers = [mil_model.norm], use_cuda=True, reshape_transform=reshape_transform) #, reshape_transform=self.reshape_transform
+        # self.cam_ft = GradCAM(model=self.model, target_layers = target_layers_ft, use_cuda=True) #, reshape_transform=self.reshape_transform
+    # elif self.model_name == 'TransformerMIL':
+    #     target_layers = [self.model.layer1.norm]
+    #     self.cam = EigenCAM(model=self.model, target_layers = target_layers, use_cuda=True, reshape_transform=self.reshape_transform)
+    #     # self.cam = GradCAM(model=self.model, target_layers = target_layers, use_cuda=True, reshape_transform=self.reshape_transform)
+    # else:
+    #     target_layers = [self.model.attention_weights]
+    #     self.cam = GradCAM(model = self.model, target_layers = target_layers, use_cuda=True)
+
+    start = time.time()
+    test_logits = []
+    test_probs = []
+    test_labels = []
+    test_topk_data = []
+    data = [{"count": 0, "correct": 0} for i in range(n_classes)]
+    count = 0
+
+    # print(len(dl))
+
+    test_patient_dict = {}
+
+    top_patients = []
+    target_labels = []
+    # for n in range(n_classes):
+
+        #------------------------------------------------------------------------------------------------
+        # Get Scores for class 1 
+    n = 0
+    tpk_csv_path = Path(cfg.log_path) / f'test_epoch_{cfg.epoch}' / f'test_c{n}_top_patients.csv'
+    tpk_df = pd.read_csv(tpk_csv_path)
+    top_patients += list(tpk_df.head(5)['Patient'])
+    target_labels += [n] * len(list(tpk_df.head(5)['Patient']))
+            #------------------------------------------------------------------------------------------------
+    patient_slide_dict_path = f'/{home}/ylan/data/DeepGraft/training_tables/patient_slide_dict.json'
+    with open(patient_slide_dict_path, 'r') as f:
+        patient_slide_dict = json.load(f)
+    slides = []
+    for p in top_patients: 
+        slides += patient_slide_dict[p]
+    # slides = ['Aachen_KiBiDatabase_KiBiAcSVXX411_01_001_PAS']
+    # slides = ['Aachen_KiBiDatabase_KiBiAcWBSS520_01_001_PAS']
+    # slides = ['Aachen_KiBiDatabase_KiBiAcTTVB560_01_002_HE']
+    # print(slides)
+    test_dataset = JPGMILDataloader(data_root, label_path=label_path, mode='test', cache=False, n_classes=n_classes, model='TransMIL', slides=slides)
+    # for t in test_dataset:
+    #     print(t)
+    # test_dataset = FeatureBagLoader(data_root, label_path=label_path, mode='test', n_classes=n_classes, cache=False, model='TransMIL')
+
+    dl = DataLoader(test_dataset, batch_size=1, num_workers=1, pin_memory=True)
+
+
+    print('top_patients: ')
+    print(top_patients)
+    print('target_labels: ')
+    print(target_labels)
+
+    c = 0
+    # for slide in slides:
+    #     test_dataset = JPGMILDataloader(data_root, label_path=label_path, mode='test', cache=False, n_classes=n_classes, model='TransMIL', slides=[slide])
+    for item in tqdm(dl): 
+        
+        bag, label, (name, batch_coords, patient) = item
+
+        label = torch.Tensor(label)
+        if patient[0] not in top_patients:
+            continue
+        idx = top_patients.index(patient[0])
+
+        name = name[0]
+
+        bag = bag.float().to(device)
+        # bag = bag.unsqueeze(0) 
+        print(bag.shape)
+        with torch.cuda.amp.autocast():
+            features = feature_model(bag.squeeze())
+        # features = feature_model(bag.squeeze())
+        # logits = self.mil_model(feats.unsqueeze(0))
+
+        # logits = mil_model(bag)
+        # with torch.autocast(device_type='cuda', dtype=torch.float16):
+        #     logits = big_model(bag.squeeze())
+        
+        # Y_hat = torch.argmax(logits, dim=1)
+        # Y_prob = F.softmax(logits, dim = 1)
+        instance_count = bag.size(0)
+        # Y = torch.argmax(label)
+
+        target = [ClassifierOutputTarget(target_labels[idx])]
+        # target = [ClassifierOutputTarget(1)]
+        # print(features.shape)
+        mil_grayscale_cam = mil_cam(input_tensor=features.unsqueeze(0), targets=target)
+        # mil_grayscale_cam = mil_cam(input_tensor=features, targets=target)
+        print('mil_grayscale_cam: ', mil_grayscale_cam.shape)
+        mil_grayscale_cam = torch.Tensor(mil_grayscale_cam)[:instance_count, :]
+        
+        
+
+        # print('GradCAM')
+        # grayscale_cam = cam(input_tensor=bag, targets=target)
+        
+        # # print(grayscale_cam.shape)
+        # grayscale_cam = torch.from_numpy(grayscale_cam)
+        # grayscale_cam = torch.Tensor(grayscale_cam)[:instance_count, :]
+        
+        bag = bag.detach()
+        print(name)
+        save_attention_map(name, batch_coords, mil_grayscale_cam, target=target_labels[idx], device=device)
+
+        torch.cuda.empty_cache()
+            # for y, y_hat in zip(label, Y_hat):
+            #     y = int(y)
+            #     # print(Y_hat)
+            #     data[y]["count"] += 1
+            #     data[y]["correct"] += (int(y_hat) == y)
+
+    # test_logits = torch.cat(test_logits, dim=0)
+    # probs = torch.cat(test_probs).detach().cpu()
+    # if n_classes <=2:
+    #     out_probs = probs[:,1] 
+    # else: out_probs = probs
+    # targets = torch.cat(test_labels).squeeze().detach().cpu()
+    
+    # for c in range(n_classes):
+    #     count = data[c]['count']
+    #     correct = data[c]['correct']
+    #     if count == 0:
+    #         acc = None
+    #     else: 
+    #         acc = float(correct) / count
+    #     print('class {}: acc {}, correct {}/{}'.format(c, acc, correct, count))
+
+
+
+    # auroc = AUROC(probs, targets)
+    # auroc = binary_auroc(out_probs, targets)
+    # print(auroc)
+    end = time.time()
+    print('Bag Time: ', end-start)
+
+
+
diff --git a/cufile.log b/cufile.log
new file mode 100644
index 0000000..d8ebe6f
--- /dev/null
+++ b/cufile.log
@@ -0,0 +1,14 @@
+ 21-02-2023 13:46:41:172 [pid=2003721 tid=2003721] NOTICE  cufio-drv:625 running in compatible mode
+ 21-02-2023 13:49:21:420 [pid=2005112 tid=2005112] NOTICE  cufio-drv:625 running in compatible mode
+ 21-02-2023 13:52:32:784 [pid=2006559 tid=2006559] NOTICE  cufio-drv:625 running in compatible mode
+ 21-02-2023 13:54:32:164 [pid=2007693 tid=2007693] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 10:01:11:560 [pid=2409640 tid=2409640] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 10:04:08:864 [pid=2411115 tid=2411115] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 10:13:36:148 [pid=2414719 tid=2414719] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 10:16:03:296 [pid=2415931 tid=2415931] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 10:20:31:112 [pid=2417865 tid=2417865] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 10:22:39:388 [pid=2419078 tid=2419078] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 10:29:40:356 [pid=2421559 tid=2421559] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 11:18:11:96 [pid=2436804 tid=2436804] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 11:19:03:724 [pid=2437137 tid=2437137] NOTICE  cufio-drv:625 running in compatible mode
+ 22-02-2023 11:20:24:248 [pid=2437678 tid=2437678] NOTICE  cufio-drv:625 running in compatible mode
diff --git a/nohup.out b/nohup.out
new file mode 100644
index 0000000..ec6ae06
--- /dev/null
+++ b/nohup.out
@@ -0,0 +1,24 @@
+[I 2023-04-28 11:39:32.857 ServerApp] jupyterlab | extension was successfully linked.
+[I 2023-04-28 11:39:32.863 ServerApp] Writing notebook server cookie secret to /home/ylan/.local/share/jupyter/runtime/jupyter_cookie_secret
+[I 2023-04-28 11:39:33.312 ServerApp] nbclassic | extension was successfully linked.
+[I 2023-04-28 11:39:33.480 ServerApp] The port 9000 is already in use, trying another port.
+[I 2023-04-28 11:39:33.480 ServerApp] The port 9001 is already in use, trying another port.
+[I 2023-04-28 11:39:33.481 ServerApp] The port 9002 is already in use, trying another port.
+[I 2023-04-28 11:39:33.481 ServerApp] The port 9003 is already in use, trying another port.
+[I 2023-04-28 11:39:33.481 ServerApp] The port 9004 is already in use, trying another port.
+[I 2023-04-28 11:39:33.541 LabApp] JupyterLab extension loaded from /home/ylan/miniconda3/envs/pytorch/lib/python3.9/site-packages/jupyterlab
+[I 2023-04-28 11:39:33.541 LabApp] JupyterLab application directory is /home/ylan/miniconda3/envs/pytorch/share/jupyter/lab
+[I 2023-04-28 11:39:33.544 ServerApp] jupyterlab | extension was successfully loaded.
+[I 2023-04-28 11:39:33.608 ServerApp] nbclassic | extension was successfully loaded.
+[I 2023-04-28 11:39:33.609 ServerApp] Serving notebooks from local directory: /home/ylan/workspace/TransMIL-DeepGraft
+[I 2023-04-28 11:39:33.609 ServerApp] Jupyter Server 1.4.1 is running at:
+[I 2023-04-28 11:39:33.609 ServerApp] http://localhost:8912/lab?token=74acb08968b367118f6702623072af075627ef97ee8b150f
+[I 2023-04-28 11:39:33.609 ServerApp]  or http://127.0.0.1:8912/lab?token=74acb08968b367118f6702623072af075627ef97ee8b150f
+[I 2023-04-28 11:39:33.609 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
+[C 2023-04-28 11:39:33.621 ServerApp] 
+    
+    To access the server, open this file in a browser:
+        file:///home/ylan/.local/share/jupyter/runtime/jpserver-1770462-open.html
+    Or copy and paste one of these URLs:
+        http://localhost:8912/lab?token=74acb08968b367118f6702623072af075627ef97ee8b150f
+     or http://127.0.0.1:8912/lab?token=74acb08968b367118f6702623072af075627ef97ee8b150f
diff --git a/paper_structure.md b/paper_structure.md
index c674719..c6f76cc 100644
--- a/paper_structure.md
+++ b/paper_structure.md
@@ -4,32 +4,67 @@
 
 ## Introduction
 
+Why do we do this
+
 ## Methods
 
-    - Fig 1: Model/Workflow
+    - Fig: Study design
+        * Choosing the data
+        * Model workflow 
+    
+    Groud truth
+    DL Analyses
+
+    - 
 
 ## Dataset
 
-    - Fig: cohorts, data selection
-    - Fig: Preprocessing
+    - Fig: cohorts, data selection, Train/Val/Test Split
+    - Fig: Preprocessing, Annotations
 
 ## Results
 
-    - Fig: Metrics on Testset for each task:
+Compare models on Normal vs Rest and then choose best Model.
+
+    - Fig: Metrics on Testset for Normal vs Rejection vs Rest:
+
 
 | Model        | Accuracy | Precision | Recall | AUROC |
 | ------------ | -------- | --------- | ------ | ----- |
-| Resnet18     |          |           |        |       |
+|              |          |           |        |       |
 | ViT          |          |           |        |       |
 | CLAM         |          |           |        |       |
 | AttentionMIL |          |           |        |       |
 | TransMIL     |          |           |        |       |
+
+    - Fig: Metrics on Testset for Normal vs Rest + Rejections vs Rest:
+
+| Model        | Accuracy | Precision | Recall | AUROC |
+| ------------ | -------- | --------- | ------ | ----- |
 |              |          |           |        |       |
+| ViT          |          |           |        |       |
+| CLAM         |          |           |        |       |
+| AttentionMIL |          |           |        |       |
+| TransMIL     |          |           |        |       |
 
+ - Two step Models are still better
     - Fig: AUROC Curves (Best Model, Rest in Appendix)
-
     - Fig: Attention Maps (Best Model, Rest in Appendix)
 
+- Single Model: 
+    AUROC Curves for each class
+    Prediction Maps on slide + Scale
+    Predictive tiles with Original and GradCam + Scale
+
+- Two step Model: 
+    AUROC Curves for each class
+    Prediction Maps on slide + Scale
+    Predictive tiles with Original and GradCam + Scale
+
 ## Discussion
 
 ## Appendix
+
+### Sustainability Study
+
+### Fine Tuning on Test Set
diff --git a/project_plan.md b/project_plan.md
index 0fde7bc..bbc36ca 100644
--- a/project_plan.md
+++ b/project_plan.md
@@ -26,10 +26,8 @@ With this project, we aim to esatablish a benchmark for weakly supervised deep l
 For our Benchmark, we chose the following models: 
 
 - AttentionMIL
-- Resnet18/50
 - ViT
 - CLAM
-- TransMIL
 - Monai MIL (optional)
 
 Resnet18 and Resnet50 are basic CNNs that can be applied for a variety of tasks. Although domain or task specific architectures mostly outperform them, they remain a good baseline for comparison. 
@@ -75,6 +73,8 @@ These experiments may vary depending on the results from previous experiments
 - (4) Normal vs TCMR vs Mixed vs ABMR vs Viral vs Others
 - (5) TCMR vs Mixed vs ABMR
 
+- use structural Segmentations to guide attention
+
 ## Plan:
 
 1. Train models for current tasks on AMS+Utrecht -> Validate on Aachen
@@ -100,3 +100,27 @@ Notes:
     - (mixing in 10 slides from Aachen increases auc performance from 0.7 to 0.89)
 - AttentionMIL: WIP
 - Monai MIL: WIP
+
+# Figure Parts: 
+
+- TransMIL:
+    * norm_rest: 
+        * AUROC, PR-AUROC, ConfMatrix, 
+        * GradCAM Slides of TopK Patients
+    * rej_rest: 
+        * AUROC, PR-AUROC, ConfMatrix, 
+        * GradCAM Slides of TopK Patients
+    * norm_rej_rest: 
+        * AUROC, PR-AUROC, ConfMatrix, 
+        * GradCAM Slides of TopK Patients
+
+
+
+# Future Ideas:
+
+- merge with segmentation models (let model only see glomerulus in WSI?)
+- cam guided loss (for example focus on glomerulus structures) 
+- use cTransPath or other feature extractors? 
+- are end to end methods better than Feature Extractor + Pooling? 
+- rejections: multilabel problem? 
+    - separately train two models for TCMR and ABMR each. Use Mixed in both datasets as positive?
\ No newline at end of file
-- 
GitLab