diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 417fcffa5adb61384aeab4895e7ca0f580a08b95..ef5834e1f053f446fadfb9ed920643123289e6ff 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -41,8 +41,10 @@ stages:
   - level2
   - test-gstlal
   - test-gstlal-only-ugly
-  - test-inspiral
+  - test-gstlal-ugly
   - test-burst
+  - test-calibration
+  - test-inspiral
   - test-offline
   - docker
   - docker-latest
@@ -219,13 +221,44 @@ test:gstlal-inspiral:
     - export GSTLAL_FIR_WHITEN=0
     - gst-inspect-1.0
 
+    # Get the necessary ROM data:
+    - git clone https://git.ligo.org/alexander.pace/gstlal-testing-data.git ${GSTLAL_DIR}/gstlal-testing-data
+    - export LAL_DATA_PATH=${GSTLAL_DIR}/gstlal-testing-data/
+
+    # Run doctests
     - cd gstlal-inspiral
-    - python3 -m pytest -v --doctest-modules --ignore gst/python --ignore tests --ignore python/snglinspiraltable.py --ignore python/spawaveform.py --ignore python/imr_utils.py --ignore python/stats/inspiral_extrinsics.py --ignore python/templates.py --ignore python/inspiral_pipe.py --ignore python/p_astro_gstlal.py --ignore python/rio.py
+    - python3 -m pytest -c pytest.ini
+  only:
+    - schedules
+    - pushes
+  allow_failure: true
+
+test:gstlal-ugly:
+  interruptible: true
+  image: containers.ligo.org/alexander.pace/gstlal-dev/gstlal-dev:el7
+  stage: test-gstlal-ugly
+  needs:
+    - level0:rpm:gstlal
+    - level1:rpm:gstlal-ugly
+  script:
+    # Install RPMs and set up the test environment:
+    - if [ -d rpmbuild ]; then yum -y install rpmbuild/RPMS/x86_64/*.rpm; fi
+    - export GSTLAL_FIR_WHITEN=0
+    - gst-inspect-1.0
+
+    # Get the necessary ROM data:
+    - git clone https://git.ligo.org/alexander.pace/gstlal-testing-data.git ${GSTLAL_DIR}/gstlal-testing-data
+    - export LAL_DATA_PATH=${GSTLAL_DIR}/gstlal-testing-data/
+
+    # Run doctests
+    - cd gstlal-ugly
+    - python3 -m pytest -c pytest.ini
   only:
     - schedules
     - pushes
   allow_failure: true
 
+
 test:gstlal-burst:
   interruptible: true
   image: containers.ligo.org/alexander.pace/gstlal-dev/gstlal-dev:el7
@@ -240,7 +273,28 @@ test:gstlal-burst:
     - export GSTLAL_FIR_WHITEN=0
     - gst-inspect-1.0
     - cd gstlal-burst
-    - python3 -m pytest -v --doctest-modules --ignore python/excesspower --ignore python/string --ignore tests/trigger_test_01.py
+    - python3 -m pytest -c pytest.ini
+  only:
+    - schedules
+    - pushes
+  allow_failure: true
+
+
+test:gstlal-calibration:
+  interruptible: true
+  image: containers.ligo.org/alexander.pace/gstlal-dev/gstlal-dev:el7
+  stage: test-calibration
+  needs:
+    - level0:rpm:gstlal
+    - level1:rpm:gstlal-ugly
+    - level2:rpm:gstlal-calibration
+  script:
+    # Install RPMs and set up the test environment:
+    - if [ -d rpmbuild ]; then yum -y install rpmbuild/RPMS/x86_64/*.rpm; fi
+    - export GSTLAL_FIR_WHITEN=0
+    - gst-inspect-1.0
+    - cd gstlal-calibration
+    - python3 -m pytest -c pytest.ini
   only:
     - schedules
     - pushes
diff --git a/gstlal-burst/pytest.ini b/gstlal-burst/pytest.ini
new file mode 100644
index 0000000000000000000000000000000000000000..e58acb27b358b95df74abe47f59ffd9f7dba91ae
--- /dev/null
+++ b/gstlal-burst/pytest.ini
@@ -0,0 +1,10 @@
+# Configuration file for pytest within gstlal-burst
+[pytest]
+norecursedirs = gst/python share
+testpaths = tests/tests_pytest python
+addopts =
+    -v
+    --doctest-modules
+    --ignore python/excesspower
+    --ignore python/string
+    --ignore tests/test_trigger_01.py
diff --git a/gstlal-burst/tests/tests_pytest/peak_test_01a_control.dump b/gstlal-burst/tests/tests_pytest/peak_test_01a_control.dump
new file mode 100644
index 0000000000000000000000000000000000000000..6a153cc89829401dac50e1375268359876ada89f
--- /dev/null
+++ b/gstlal-burst/tests/tests_pytest/peak_test_01a_control.dump
@@ -0,0 +1,4096 @@
+0.000000000	0.00030679617
+0.000488281	0.00061359227
+0.000976563	0.00092038832
+0.001464844	0.0012271843
+0.001953125	0.0015339801
+0.002441406	0.0018407759
+0.002929688	0.0021475714
+0.003417969	0.0024543668
+0.003906250	0.0027611619
+0.004394531	0.0030679568
+0.004882813	0.0033747514
+0.005371094	0.0036815456
+0.005859375	0.0039883396
+0.006347656	0.0042951331
+0.006835938	0.0046019261
+0.007324219	0.0049087186
+0.007812500	0.0052155112
+0.008300781	0.0055223028
+0.008789063	0.005829094
+0.009277344	0.0061358847
+0.009765625	0.0064426749
+0.010253906	0.0067494642
+0.010742188	0.007056253
+0.011230469	0.0073630414
+0.011718750	0.0076698288
+0.012207031	0.0079766158
+0.012695313	0.0082834018
+0.013183594	0.0085901869
+0.013671875	0.0088969711
+0.014160156	0.0092037544
+0.014648438	0.0095105376
+0.015136719	0.009817319
+0.015625000	0.0101241
+0.016113281	0.01043088
+0.016601563	0.010737659
+0.017089844	0.011044437
+0.017578125	0.011351214
+0.018066406	0.01165799
+0.018554688	0.011964764
+0.019042969	0.012271538
+0.019531250	0.01257831
+0.020019531	0.012885083
+0.020507813	0.013191852
+0.020996094	0.013498621
+0.021484375	0.013805388
+0.021972656	0.014112155
+0.022460938	0.01441892
+0.022949219	0.014725683
+0.023437500	0.015032445
+0.023925781	0.015339206
+0.024414063	0.015645966
+0.024902344	0.015952723
+0.025390625	0.01625948
+0.025878906	0.016566236
+0.026367188	0.016872987
+0.026855469	0.017179739
+0.027343750	0.01748649
+0.027832031	0.017793238
+0.028320313	0.018099984
+0.028808594	0.01840673
+0.029296875	0.018713472
+0.029785156	0.019020215
+0.030273438	0.019326955
+0.030761719	0.019633692
+0.031250000	0.019940428
+0.031738281	0.020247163
+0.032226563	0.020553894
+0.032714844	0.020860625
+0.033203125	0.021167355
+0.033691406	0.02147408
+0.034179688	0.021780804
+0.034667969	0.022087527
+0.035156250	0.022394247
+0.035644531	0.022700965
+0.036132813	0.023007682
+0.036621094	0.023314396
+0.037109375	0.023621107
+0.037597656	0.023927817
+0.038085938	0.024234524
+0.038574219	0.024541229
+0.039062500	0.02484793
+0.039550781	0.025154632
+0.040039063	0.025461329
+0.040527344	0.025768025
+0.041015625	0.026074719
+0.041503906	0.026381409
+0.041992188	0.026688097
+0.042480469	0.026994782
+0.042968750	0.027301466
+0.043457031	0.027608145
+0.043945313	0.027914824
+0.044433594	0.028221499
+0.044921875	0.028528173
+0.045410156	0.028834842
+0.045898438	0.029141508
+0.046386719	0.029448174
+0.046875000	0.029754834
+0.047363281	0.030061495
+0.047851563	0.030368149
+0.048339844	0.030674804
+0.048828125	0.030981453
+0.049316406	0.031288102
+0.049804688	0.031594746
+0.050292969	0.031901386
+0.050781250	0.032208025
+0.051269531	0.032514662
+0.051757813	0.032821294
+0.052246094	0.033127923
+0.052734375	0.033434547
+0.053222656	0.033741172
+0.053710938	0.03404779
+0.054199219	0.034354407
+0.054687500	0.034661021
+0.055175781	0.034967631
+0.055664063	0.035274237
+0.056152344	0.035580844
+0.056640625	0.035887443
+0.057128906	0.036194041
+0.057617188	0.036500633
+0.058105469	0.036807224
+0.058593750	0.037113808
+0.059082031	0.037420392
+0.059570313	0.037726972
+0.060058594	0.038033549
+0.060546875	0.038340122
+0.061035156	0.038646691
+0.061523438	0.038953256
+0.062011719	0.039259817
+0.062500000	0.039566375
+0.062988281	0.039872926
+0.063476563	0.040179476
+0.063964844	0.040486023
+0.064453125	0.040792566
+0.064941406	0.041099105
+0.065429688	0.041405641
+0.065917969	0.041712172
+0.066406250	0.0420187
+0.066894531	0.042325221
+0.067382813	0.042631742
+0.067871094	0.042938258
+0.068359375	0.043244768
+0.068847656	0.043551274
+0.069335938	0.043857779
+0.069824219	0.044164278
+0.070312500	0.044470772
+0.070800781	0.044777263
+0.071289063	0.04508375
+0.071777344	0.04539023
+0.072265625	0.045696709
+0.072753906	0.046003181
+0.073242188	0.04630965
+0.073730469	0.046616115
+0.074218750	0.046922576
+0.074707031	0.047229033
+0.075195313	0.047535483
+0.075683594	0.047841933
+0.076171875	0.048148375
+0.076660156	0.048454814
+0.077148438	0.048761245
+0.077636719	0.049067676
+0.078125000	0.0493741
+0.078613281	0.04968052
+0.079101563	0.049986932
+0.079589844	0.050293345
+0.080078125	0.05059975
+0.080566406	0.050906152
+0.081054688	0.051212545
+0.081542969	0.051518936
+0.082031250	0.051825322
+0.082519531	0.052131705
+0.083007813	0.05243808
+0.083496094	0.052744452
+0.083984375	0.05305082
+0.084472656	0.05335718
+0.084960938	0.053663537
+0.085449219	0.05396989
+0.085937500	0.054276235
+0.086425781	0.054582577
+0.086914063	0.054888912
+0.087402344	0.055195246
+0.087890625	0.055501569
+0.088378906	0.055807892
+0.088867188	0.056114208
+0.089355469	0.056420516
+0.089843750	0.056726821
+0.090332031	0.057033122
+0.090820313	0.057339415
+0.091308594	0.057645705
+0.091796875	0.057951987
+0.092285156	0.058258265
+0.092773438	0.058564536
+0.093261719	0.058870804
+0.093750000	0.059177063
+0.094238281	0.05948332
+0.094726563	0.059789572
+0.095214844	0.060095817
+0.095703125	0.060402054
+0.096191406	0.060708288
+0.096679688	0.061014514
+0.097167969	0.061320737
+0.097656250	0.061626952
+0.098144531	0.061933164
+0.098632813	0.062239368
+0.099121094	0.062545568
+0.099609375	0.062851757
+0.100097656	0.063157946
+0.100585938	0.063464127
+0.101074219	0.063770302
+0.101562500	0.064076468
+0.102050781	0.064382628
+0.102539063	0.064688787
+0.103027344	0.064994939
+0.103515625	0.065301083
+0.104003906	0.06560722
+0.104492188	0.065913349
+0.104980469	0.066219479
+0.105468750	0.066525601
+0.105957031	0.066831715
+0.106445313	0.067137823
+0.106933594	0.067443922
+0.107421875	0.067750014
+0.107910156	0.068056099
+0.108398438	0.068362184
+0.108886719	0.068668261
+0.109375000	0.068974331
+0.109863281	0.069280393
+0.110351563	0.069586448
+0.110839844	0.069892496
+0.111328125	0.070198536
+0.111816406	0.070504576
+0.112304688	0.070810601
+0.112792969	0.071116626
+0.113281250	0.071422644
+0.113769531	0.071728654
+0.114257813	0.07203465
+0.114746094	0.072340652
+0.115234375	0.07264664
+0.115722656	0.072952621
+0.116210938	0.073258594
+0.116699219	0.073564567
+0.117187500	0.073870525
+0.117675781	0.074176483
+0.118164063	0.074482426
+0.118652344	0.074788369
+0.119140625	0.075094298
+0.119628906	0.075400226
+0.120117188	0.075706147
+0.120605469	0.07601206
+0.121093750	0.076317966
+0.121582031	0.076623864
+0.122070313	0.076929756
+0.122558594	0.077235632
+0.123046875	0.077541508
+0.123535156	0.077847376
+0.124023438	0.078153245
+0.124511719	0.078459099
+0.125000000	0.078764945
+0.125488281	0.079070784
+0.125976563	0.079376616
+0.126464844	0.07968244
+0.126953125	0.079988256
+0.127441406	0.080294065
+0.127929688	0.080599867
+0.128417969	0.080905661
+0.128906250	0.081211448
+0.129394531	0.081517227
+0.129882813	0.081822999
+0.130371094	0.082128763
+0.130859375	0.08243452
+0.131347656	0.082740262
+0.131835938	0.083046004
+0.132324219	0.083351739
+0.132812500	0.083657458
+0.133300781	0.083963178
+0.133789063	0.08426889
+0.134277344	0.084574588
+0.134765625	0.084880285
+0.135253906	0.085185967
+0.135742188	0.085491642
+0.136230469	0.08579731
+0.136718750	0.08610297
+0.137207031	0.086408623
+0.137695313	0.086714268
+0.138183594	0.087019905
+0.138671875	0.087325536
+0.139160156	0.087631159
+0.139648438	0.087936766
+0.140136719	0.088242367
+0.140625000	0.088547967
+0.141113281	0.088853553
+0.141601563	0.089159131
+0.142089844	0.089464702
+0.142578125	0.089770265
+0.143066406	0.090075813
+0.143554688	0.090381362
+0.144042969	0.090686895
+0.144531250	0.090992428
+0.145019531	0.091297947
+0.145507813	0.091603458
+0.145996094	0.091908954
+0.146484375	0.09221445
+0.146972656	0.092519931
+0.147460938	0.092825413
+0.147949219	0.093130879
+0.148437500	0.093436338
+0.148925781	0.093741782
+0.149414063	0.094047226
+0.149902344	0.094352655
+0.150390625	0.094658084
+0.150878906	0.094963498
+0.151367188	0.095268898
+0.151855469	0.095574297
+0.152343750	0.095879681
+0.152832031	0.096185066
+0.153320313	0.096490428
+0.153808594	0.09679579
+0.154296875	0.097101144
+0.154785156	0.097406484
+0.155273438	0.097711816
+0.155761719	0.098017141
+0.156250000	0.098322451
+0.156738281	0.098627761
+0.157226563	0.098933056
+0.157714844	0.099238344
+0.158203125	0.099543616
+0.158691406	0.099848889
+0.159179688	0.10015415
+0.159667969	0.1004594
+0.160156250	0.10076463
+0.160644531	0.10106986
+0.161132813	0.10137508
+0.161621094	0.10168029
+0.162109375	0.10198549
+0.162597656	0.10229069
+0.163085938	0.10259587
+0.163574219	0.10290104
+0.164062500	0.1032062
+0.164550781	0.10351136
+0.165039063	0.1038165
+0.165527344	0.10412163
+0.166015625	0.10442676
+0.166503906	0.10473187
+0.166992188	0.10503697
+0.167480469	0.10534207
+0.167968750	0.10564715
+0.168457031	0.10595223
+0.168945313	0.10625729
+0.169433594	0.10656235
+0.169921875	0.10686739
+0.170410156	0.10717242
+0.170898438	0.10747745
+0.171386719	0.10778246
+0.171875000	0.10808747
+0.172363281	0.10839246
+0.172851563	0.10869744
+0.173339844	0.10900242
+0.173828125	0.10930738
+0.174316406	0.10961233
+0.174804688	0.10991728
+0.175292969	0.11022221
+0.175781250	0.11052713
+0.176269531	0.11083204
+0.176757813	0.11113694
+0.177246094	0.11144183
+0.177734375	0.11174671
+0.178222656	0.11205158
+0.178710938	0.11235644
+0.179199219	0.11266129
+0.179687500	0.11296613
+0.180175781	0.11327095
+0.180664063	0.11357577
+0.181152344	0.11388057
+0.181640625	0.11418537
+0.182128906	0.11449015
+0.182617188	0.11479492
+0.183105469	0.11509969
+0.183593750	0.11540444
+0.184082031	0.11570918
+0.184570313	0.11601391
+0.185058594	0.11631863
+0.185546875	0.11662334
+0.186035156	0.11692803
+0.186523438	0.11723273
+0.187011719	0.11753739
+0.187500000	0.11784206
+0.187988281	0.11814672
+0.188476563	0.11845136
+0.188964844	0.11875599
+0.189453125	0.11906061
+0.189941406	0.11936522
+0.190429688	0.11966981
+0.190917969	0.1199744
+0.191406250	0.12027897
+0.191894531	0.12058353
+0.192382813	0.12088808
+0.192871094	0.12119263
+0.193359375	0.12149715
+0.193847656	0.12180167
+0.194335938	0.12210618
+0.194824219	0.12241068
+0.195312500	0.12271516
+0.195800781	0.12301963
+0.196289063	0.12332409
+0.196777344	0.12362854
+0.197265625	0.12393297
+0.197753906	0.1242374
+0.198242188	0.12454181
+0.198730469	0.12484621
+0.199218750	0.12515061
+0.199707031	0.12545498
+0.200195313	0.12575935
+0.200683594	0.1260637
+0.201171875	0.12636805
+0.201660156	0.12667237
+0.202148438	0.1269767
+0.202636719	0.12728101
+0.203125000	0.12758529
+0.203613281	0.12788959
+0.204101563	0.12819386
+0.204589844	0.12849811
+0.205078125	0.12880236
+0.205566406	0.1291066
+0.206054688	0.12941082
+0.206542969	0.12971503
+0.207031250	0.13001922
+0.207519531	0.13032341
+0.208007813	0.13062759
+0.208496094	0.13093175
+0.208984375	0.1312359
+0.209472656	0.13154003
+0.209960938	0.13184415
+0.210449219	0.13214827
+0.210937500	0.13245237
+0.211425781	0.13275646
+0.211914063	0.13306053
+0.212402344	0.13336459
+0.212890625	0.13366863
+0.213378906	0.13397267
+0.213867188	0.1342767
+0.214355469	0.1345807
+0.214843750	0.1348847
+0.215332031	0.1351887
+0.215820313	0.13549267
+0.216308594	0.13579662
+0.216796875	0.13610058
+0.217285156	0.13640451
+0.217773438	0.13670844
+0.218261719	0.13701235
+0.218750000	0.13731624
+0.219238281	0.13762012
+0.219726563	0.13792399
+0.220214844	0.13822785
+0.220703125	0.1385317
+0.221191406	0.13883552
+0.221679688	0.13913934
+0.222167969	0.13944314
+0.222656250	0.13974695
+0.223144531	0.14005072
+0.223632813	0.14035448
+0.224121094	0.14065824
+0.224609375	0.14096197
+0.225097656	0.14126571
+0.225585938	0.14156942
+0.226074219	0.14187312
+0.226562500	0.14217681
+0.227050781	0.14248048
+0.227539063	0.14278413
+0.228027344	0.14308777
+0.228515625	0.14339142
+0.229003906	0.14369503
+0.229492188	0.14399864
+0.229980469	0.14430223
+0.230468750	0.14460582
+0.230957031	0.14490937
+0.231445313	0.14521292
+0.231933594	0.14551646
+0.232421875	0.14581999
+0.232910156	0.1461235
+0.233398438	0.14642699
+0.233886719	0.14673047
+0.234375000	0.14703394
+0.234863281	0.14733739
+0.235351563	0.14764084
+0.235839844	0.14794427
+0.236328125	0.14824767
+0.236816406	0.14855108
+0.237304688	0.14885446
+0.237792969	0.14915784
+0.238281250	0.14946119
+0.238769531	0.14976454
+0.239257813	0.15006787
+0.239746094	0.15037118
+0.240234375	0.15067448
+0.240722656	0.15097776
+0.241210938	0.15128104
+0.241699219	0.1515843
+0.242187500	0.15188754
+0.242675781	0.15219077
+0.243164063	0.15249398
+0.243652344	0.15279719
+0.244140625	0.15310037
+0.244628906	0.15340355
+0.245117188	0.1537067
+0.245605469	0.15400985
+0.246093750	0.15431297
+0.246582031	0.15461609
+0.247070313	0.15491919
+0.247558594	0.15522227
+0.248046875	0.15552534
+0.248535156	0.1558284
+0.249023438	0.15613143
+0.249511719	0.15643446
+0.250000000	0.15673748
+0.250488281	0.15704048
+0.250976563	0.15734346
+0.251464844	0.15764642
+0.251953125	0.15794937
+0.252441406	0.15825231
+0.252929688	0.15855524
+0.253417969	0.15885815
+0.253906250	0.15916103
+0.254394531	0.15946391
+0.254882813	0.15976678
+0.255371094	0.16006963
+0.255859375	0.16037245
+0.256347656	0.16067527
+0.256835938	0.16097808
+0.257324219	0.16128087
+0.257812500	0.16158363
+0.258300781	0.16188639
+0.258789063	0.16218914
+0.259277344	0.16249186
+0.259765625	0.16279458
+0.260253906	0.16309726
+0.260742188	0.16339995
+0.261230469	0.16370261
+0.261718750	0.16400526
+0.262207031	0.16430789
+0.262695313	0.16461052
+0.263183594	0.16491312
+0.263671875	0.1652157
+0.264160156	0.16551828
+0.264648438	0.16582084
+0.265136719	0.16612338
+0.265625000	0.1664259
+0.266113281	0.16672841
+0.266601563	0.1670309
+0.267089844	0.16733338
+0.267578125	0.16763584
+0.268066406	0.16793829
+0.268554688	0.16824073
+0.269042969	0.16854315
+0.269531250	0.16884553
+0.270019531	0.16914792
+0.270507813	0.1694503
+0.270996094	0.16975264
+0.271484375	0.17005497
+0.271972656	0.1703573
+0.272460938	0.1706596
+0.272949219	0.17096189
+0.273437500	0.17126416
+0.273925781	0.17156641
+0.274414063	0.17186865
+0.274902344	0.17217088
+0.275390625	0.17247309
+0.275878906	0.17277527
+0.276367188	0.17307745
+0.276855469	0.1733796
+0.277343750	0.17368175
+0.277832031	0.17398387
+0.278320313	0.17428598
+0.278808594	0.17458807
+0.279296875	0.17489015
+0.279785156	0.17519221
+0.280273438	0.17549425
+0.280761719	0.17579629
+0.281250000	0.17609829
+0.281738281	0.17640029
+0.282226563	0.17670226
+0.282714844	0.17700422
+0.283203125	0.17730616
+0.283691406	0.17760809
+0.284179688	0.17791
+0.284667969	0.1782119
+0.285156250	0.17851377
+0.285644531	0.17881563
+0.286132813	0.17911747
+0.286621094	0.17941929
+0.287109375	0.1797211
+0.287597656	0.1800229
+0.288085938	0.18032467
+0.288574219	0.18062644
+0.289062500	0.18092817
+0.289550781	0.1812299
+0.290039063	0.18153161
+0.290527344	0.1818333
+0.291015625	0.18213497
+0.291503906	0.18243663
+0.291992188	0.18273826
+0.292480469	0.18303989
+0.292968750	0.18334149
+0.293457031	0.18364307
+0.293945313	0.18394464
+0.294433594	0.1842462
+0.294921875	0.18454774
+0.295410156	0.18484925
+0.295898438	0.18515076
+0.296386719	0.18545224
+0.296875000	0.1857537
+0.297363281	0.18605515
+0.297851563	0.18635659
+0.298339844	0.18665799
+0.298828125	0.18695939
+0.299316406	0.18726076
+0.299804688	0.18756212
+0.300292969	0.18786347
+0.300781250	0.1881648
+0.301269531	0.1884661
+0.301757813	0.18876739
+0.302246094	0.18906866
+0.302734375	0.18936992
+0.303222656	0.18967116
+0.303710938	0.18997237
+0.304199219	0.19027357
+0.304687500	0.19057475
+0.305175781	0.19087592
+0.305664063	0.19117707
+0.306152344	0.19147819
+0.306640625	0.1917793
+0.307128906	0.19208039
+0.307617188	0.19238147
+0.308105469	0.19268253
+0.308593750	0.19298357
+0.309082031	0.19328459
+0.309570313	0.19358559
+0.310058594	0.19388658
+0.310546875	0.19418754
+0.311035156	0.19448848
+0.311523438	0.19478941
+0.312011719	0.19509032
+0.312500000	0.19539121
+0.312988281	0.19569209
+0.313476563	0.19599295
+0.313964844	0.19629379
+0.314453125	0.1965946
+0.314941406	0.19689539
+0.315429688	0.19719619
+0.315917969	0.19749694
+0.316406250	0.19779769
+0.316894531	0.19809841
+0.317382813	0.19839911
+0.317871094	0.1986998
+0.318359375	0.19900048
+0.318847656	0.19930112
+0.319335938	0.19960175
+0.319824219	0.19990237
+0.320312500	0.20020297
+0.320800781	0.20050354
+0.321289063	0.2008041
+0.321777344	0.20110464
+0.322265625	0.20140515
+0.322753906	0.20170565
+0.323242188	0.20200613
+0.323730469	0.2023066
+0.324218750	0.20260704
+0.324707031	0.20290746
+0.325195313	0.20320787
+0.325683594	0.20350826
+0.326171875	0.20380862
+0.326660156	0.20410897
+0.327148438	0.2044093
+0.327636719	0.2047096
+0.328125000	0.20500989
+0.328613281	0.20531017
+0.329101563	0.20561041
+0.329589844	0.20591064
+0.330078125	0.20621085
+0.330566406	0.20651105
+0.331054688	0.20681122
+0.331542969	0.20711137
+0.332031250	0.20741151
+0.332519531	0.20771162
+0.333007813	0.20801172
+0.333496094	0.2083118
+0.333984375	0.20861185
+0.334472656	0.2089119
+0.334960938	0.2092119
+0.335449219	0.20951191
+0.335937500	0.20981188
+0.336425781	0.21011184
+0.336914063	0.21041177
+0.337402344	0.21071169
+0.337890625	0.21101159
+0.338378906	0.21131147
+0.338867188	0.21161133
+0.339355469	0.21191117
+0.339843750	0.21221098
+0.340332031	0.21251078
+0.340820313	0.21281056
+0.341308594	0.21311031
+0.341796875	0.21341006
+0.342285156	0.21370977
+0.342773438	0.21400948
+0.343261719	0.21430916
+0.343750000	0.21460882
+0.344238281	0.21490845
+0.344726563	0.21520807
+0.345214844	0.21550766
+0.345703125	0.21580724
+0.346191406	0.2161068
+0.346679688	0.21640633
+0.347167969	0.21670584
+0.347656250	0.21700534
+0.348144531	0.21730483
+0.348632813	0.21760428
+0.349121094	0.2179037
+0.349609375	0.21820313
+0.350097656	0.21850252
+0.350585938	0.21880189
+0.351074219	0.21910124
+0.351562500	0.21940057
+0.352050781	0.21969989
+0.352539063	0.21999918
+0.353027344	0.22029844
+0.353515625	0.22059768
+0.354003906	0.22089691
+0.354492188	0.22119613
+0.354980469	0.22149532
+0.355468750	0.22179447
+0.355957031	0.22209363
+0.356445313	0.22239274
+0.356933594	0.22269185
+0.357421875	0.22299093
+0.357910156	0.22329
+0.358398438	0.22358903
+0.358886719	0.22388805
+0.359375000	0.22418705
+0.359863281	0.22448602
+0.360351563	0.22478497
+0.360839844	0.22508392
+0.361328125	0.22538282
+0.361816406	0.22568172
+0.362304688	0.22598058
+0.362792969	0.22627944
+0.363281250	0.22657827
+0.363769531	0.22687706
+0.364257813	0.22717586
+0.364746094	0.22747461
+0.365234375	0.22777337
+0.365722656	0.22807208
+0.366210938	0.22837079
+0.366699219	0.22866946
+0.367187500	0.22896811
+0.367675781	0.22926675
+0.368164063	0.22956537
+0.368652344	0.22986396
+0.369140625	0.23016253
+0.369628906	0.23046108
+0.370117188	0.23075961
+0.370605469	0.23105811
+0.371093750	0.23135659
+0.371582031	0.23165505
+0.372070313	0.23195349
+0.372558594	0.23225191
+0.373046875	0.23255031
+0.373535156	0.23284867
+0.374023438	0.23314704
+0.374511719	0.23344536
+0.375000000	0.23374367
+0.375488281	0.23404196
+0.375976563	0.23434022
+0.376464844	0.23463847
+0.376953125	0.23493668
+0.377441406	0.23523489
+0.377929688	0.23553306
+0.378417969	0.23583122
+0.378906250	0.23612934
+0.379394531	0.23642746
+0.379882813	0.23672554
+0.380371094	0.23702361
+0.380859375	0.23732165
+0.381347656	0.23761967
+0.381835938	0.23791766
+0.382324219	0.23821564
+0.382812500	0.23851359
+0.383300781	0.23881152
+0.383789063	0.23910943
+0.384277344	0.23940732
+0.384765625	0.23970518
+0.385253906	0.24000302
+0.385742188	0.24030083
+0.386230469	0.24059863
+0.386718750	0.2408964
+0.387207031	0.24119416
+0.387695313	0.24149188
+0.388183594	0.24178959
+0.388671875	0.24208727
+0.389160156	0.24238493
+0.389648438	0.24268256
+0.390136719	0.24298018
+0.390625000	0.24327777
+0.391113281	0.24357533
+0.391601563	0.24387288
+0.392089844	0.2441704
+0.392578125	0.2444679
+0.393066406	0.24476537
+0.393554688	0.24506283
+0.394042969	0.24536026
+0.394531250	0.24565767
+0.395019531	0.24595505
+0.395507813	0.24625242
+0.395996094	0.24654974
+0.396484375	0.24684706
+0.396972656	0.24714436
+0.397460938	0.24744162
+0.397949219	0.24773887
+0.398437500	0.24803609
+0.398925781	0.24833328
+0.399414063	0.24863045
+0.399902344	0.24892761
+0.400390625	0.24922474
+0.400878906	0.24952184
+0.401367188	0.24981892
+0.401855469	0.25011596
+0.402343750	0.250413
+0.402832031	0.25071001
+0.403320313	0.25100699
+0.403808594	0.25130397
+0.404296875	0.25160089
+0.404785156	0.25189781
+0.405273438	0.2521947
+0.405761719	0.25249156
+0.406250000	0.25278842
+0.406738281	0.25308526
+0.407226563	0.25338203
+0.407714844	0.2536788
+0.408203125	0.25397557
+0.408691406	0.25427228
+0.409179688	0.25456899
+0.409667969	0.25486565
+0.410156250	0.2551623
+0.410644531	0.25545895
+0.411132813	0.25575554
+0.411621094	0.25605214
+0.412109375	0.25634867
+0.412597656	0.2566452
+0.413085938	0.25694174
+0.413574219	0.25723821
+0.414062500	0.25753465
+0.414550781	0.2578311
+0.415039063	0.25812751
+0.415527344	0.25842389
+0.416015625	0.25872025
+0.416503906	0.2590166
+0.416992188	0.25931293
+0.417480469	0.25960919
+0.417968750	0.25990546
+0.418457031	0.26020172
+0.418945313	0.26049793
+0.419433594	0.2607941
+0.419921875	0.26109028
+0.420410156	0.26138642
+0.420898438	0.26168254
+0.421386719	0.26197863
+0.421875000	0.26227471
+0.422363281	0.26257074
+0.422851563	0.26286677
+0.423339844	0.26316276
+0.423828125	0.26345873
+0.424316406	0.26375467
+0.424804688	0.2640506
+0.425292969	0.26434648
+0.425781250	0.26464236
+0.426269531	0.26493821
+0.426757813	0.26523402
+0.427246094	0.26552981
+0.427734375	0.2658256
+0.428222656	0.26612133
+0.428710938	0.26641706
+0.429199219	0.26671275
+0.429687500	0.26700842
+0.430175781	0.26730406
+0.430664063	0.2675997
+0.431152344	0.26789528
+0.431640625	0.26819086
+0.432128906	0.26848641
+0.432617188	0.26878193
+0.433105469	0.26907742
+0.433593750	0.26937288
+0.434082031	0.26966831
+0.434570313	0.26996374
+0.435058594	0.27025914
+0.435546875	0.27055451
+0.436035156	0.27084985
+0.436523438	0.27114516
+0.437011719	0.27144045
+0.437500000	0.27173573
+0.437988281	0.27203095
+0.438476563	0.27232617
+0.438964844	0.27262136
+0.439453125	0.27291653
+0.439941406	0.27321166
+0.440429688	0.27350676
+0.440917969	0.27380186
+0.441406250	0.27409691
+0.441894531	0.27439195
+0.442382813	0.27468696
+0.442871094	0.27498195
+0.443359375	0.2752769
+0.443847656	0.27557182
+0.444335938	0.27586672
+0.444824219	0.27616161
+0.445312500	0.27645645
+0.445800781	0.27675128
+0.446289063	0.27704608
+0.446777344	0.27734086
+0.447265625	0.2776356
+0.447753906	0.27793032
+0.448242188	0.27822503
+0.448730469	0.27851969
+0.449218750	0.27881435
+0.449707031	0.27910894
+0.450195313	0.27940354
+0.450683594	0.2796981
+0.451171875	0.27999264
+0.451660156	0.28028715
+0.452148438	0.28058165
+0.452636719	0.2808761
+0.453125000	0.28117052
+0.453613281	0.28146493
+0.454101563	0.28175932
+0.454589844	0.28205368
+0.455078125	0.28234801
+0.455566406	0.2826423
+0.456054688	0.28293657
+0.456542969	0.28323081
+0.457031250	0.28352505
+0.457519531	0.28381923
+0.458007813	0.28411341
+0.458496094	0.28440753
+0.458984375	0.28470165
+0.459472656	0.28499573
+0.459960938	0.28528979
+0.460449219	0.28558382
+0.460937500	0.28587782
+0.461425781	0.28617182
+0.461914063	0.28646576
+0.462402344	0.2867597
+0.462890625	0.28705359
+0.463378906	0.28734747
+0.463867188	0.28764132
+0.464355469	0.28793511
+0.464843750	0.2882289
+0.465332031	0.28852266
+0.465820313	0.28881642
+0.466308594	0.28911012
+0.466796875	0.2894038
+0.467285156	0.28969744
+0.467773438	0.28999108
+0.468261719	0.29028466
+0.468750000	0.29057825
+0.469238281	0.2908718
+0.469726563	0.29116532
+0.470214844	0.29145882
+0.470703125	0.29175225
+0.471191406	0.29204571
+0.471679688	0.29233912
+0.472167969	0.29263249
+0.472656250	0.29292583
+0.473144531	0.29321915
+0.473632813	0.29351246
+0.474121094	0.29380572
+0.474609375	0.29409897
+0.475097656	0.2943922
+0.475585938	0.29468536
+0.476074219	0.29497853
+0.476562500	0.29527166
+0.477050781	0.29556477
+0.477539063	0.29585785
+0.478027344	0.29615089
+0.478515625	0.29644391
+0.479003906	0.2967369
+0.479492188	0.29702985
+0.479980469	0.29732281
+0.480468750	0.29761571
+0.480957031	0.29790857
+0.481445313	0.29820144
+0.481933594	0.29849425
+0.482421875	0.29878706
+0.482910156	0.29907984
+0.483398438	0.29937255
+0.483886719	0.29966527
+0.484375000	0.29995796
+0.484863281	0.30025062
+0.485351563	0.30054325
+0.485839844	0.30083585
+0.486328125	0.30112842
+0.486816406	0.30142096
+0.487304688	0.30171347
+0.487792969	0.30200595
+0.488281250	0.3022984
+0.488769531	0.30259085
+0.489257813	0.30288324
+0.489746094	0.3031756
+0.490234375	0.30346796
+0.490722656	0.30376026
+0.491210938	0.30405253
+0.491699219	0.3043448
+0.492187500	0.30463704
+0.492675781	0.30492923
+0.493164063	0.30522141
+0.493652344	0.30551353
+0.494140625	0.30580565
+0.494628906	0.30609775
+0.495117188	0.30638981
+0.495605469	0.30668181
+0.496093750	0.30697381
+0.496582031	0.30726579
+0.497070313	0.30755773
+0.497558594	0.30784965
+0.498046875	0.30814153
+0.498535156	0.30843338
+0.499023438	0.30872521
+0.499511719	0.309017
+0.500000000	0.30930877
+0.500488281	0.3096005
+0.500976563	0.30989221
+0.501464844	0.31018388
+0.501953125	0.31047553
+0.502441406	0.31076714
+0.502929688	0.31105873
+0.503417969	0.31135032
+0.503906250	0.31164184
+0.504394531	0.31193334
+0.504882813	0.31222481
+0.505371094	0.31251627
+0.505859375	0.31280768
+0.506347656	0.31309906
+0.506835938	0.3133904
+0.507324219	0.31368175
+0.507812500	0.31397304
+0.508300781	0.3142643
+0.508789063	0.31455556
+0.509277344	0.31484675
+0.509765625	0.31513792
+0.510253906	0.31542909
+0.510742188	0.3157202
+0.511230469	0.31601128
+0.511718750	0.31630236
+0.512207031	0.31659338
+0.512695313	0.31688437
+0.513183594	0.31717536
+0.513671875	0.31746629
+0.514160156	0.31775719
+0.514648438	0.31804809
+0.515136719	0.31833893
+0.515625000	0.31862974
+0.516113281	0.31892055
+0.516601563	0.3192113
+0.517089844	0.31950203
+0.517578125	0.31979272
+0.518066406	0.32008341
+0.518554688	0.32037404
+0.519042969	0.32066464
+0.519531250	0.32095525
+0.520019531	0.32124579
+0.520507813	0.3215363
+0.520996094	0.32182679
+0.521484375	0.32211724
+0.521972656	0.32240769
+0.522460938	0.32269809
+0.522949219	0.32298845
+0.523437500	0.32327878
+0.523925781	0.32356909
+0.524414063	0.32385936
+0.524902344	0.32414961
+0.525390625	0.32443982
+0.525878906	0.32473001
+0.526367188	0.32502016
+0.526855469	0.32531029
+0.527343750	0.32560039
+0.527832031	0.32589045
+0.528320313	0.32618049
+0.528808594	0.32647049
+0.529296875	0.32676044
+0.529785156	0.32705039
+0.530273438	0.3273403
+0.530761719	0.32763019
+0.531250000	0.32792002
+0.531738281	0.32820985
+0.532226563	0.32849962
+0.532714844	0.32878938
+0.533203125	0.32907912
+0.533691406	0.3293688
+0.534179688	0.32965845
+0.534667969	0.3299481
+0.535156250	0.33023769
+0.535644531	0.33052728
+0.536132813	0.33081681
+0.536621094	0.33110631
+0.537109375	0.33139578
+0.537597656	0.33168522
+0.538085938	0.33197463
+0.538574219	0.33226401
+0.539062500	0.33255336
+0.539550781	0.33284268
+0.540039063	0.33313197
+0.540527344	0.33342123
+0.541015625	0.33371046
+0.541503906	0.33399966
+0.541992188	0.33428881
+0.542480469	0.33457795
+0.542968750	0.33486703
+0.543457031	0.33515611
+0.543945313	0.33544514
+0.544433594	0.33573416
+0.544921875	0.33602312
+0.545410156	0.33631206
+0.545898438	0.33660099
+0.546386719	0.33688986
+0.546875000	0.33717871
+0.547363281	0.33746752
+0.547851563	0.33775631
+0.548339844	0.33804506
+0.548828125	0.33833376
+0.549316406	0.33862245
+0.549804688	0.33891112
+0.550292969	0.33919972
+0.550781250	0.33948833
+0.551269531	0.33977687
+0.551757813	0.34006542
+0.552246094	0.34035391
+0.552734375	0.34064236
+0.553222656	0.34093079
+0.553710938	0.34121922
+0.554199219	0.34150758
+0.554687500	0.34179589
+0.555175781	0.3420842
+0.555664063	0.34237248
+0.556152344	0.34266073
+0.556640625	0.34294891
+0.557128906	0.3432371
+0.557617188	0.34352523
+0.558105469	0.34381336
+0.558593750	0.34410143
+0.559082031	0.34438947
+0.559570313	0.34467748
+0.560058594	0.34496546
+0.560546875	0.34525341
+0.561035156	0.34554133
+0.561523438	0.34582922
+0.562011719	0.34611705
+0.562500000	0.34640488
+0.562988281	0.34669265
+0.563476563	0.34698042
+0.563964844	0.34726813
+0.564453125	0.34755582
+0.564941406	0.34784347
+0.565429688	0.34813109
+0.565917969	0.34841868
+0.566406250	0.34870625
+0.566894531	0.34899375
+0.567382813	0.34928125
+0.567871094	0.34956869
+0.568359375	0.34985614
+0.568847656	0.35014352
+0.569335938	0.35043088
+0.569824219	0.3507182
+0.570312500	0.35100549
+0.570800781	0.35129276
+0.571289063	0.35157999
+0.571777344	0.35186717
+0.572265625	0.35215434
+0.572753906	0.35244146
+0.573242188	0.35272855
+0.573730469	0.3530156
+0.574218750	0.35330266
+0.574707031	0.35358962
+0.575195313	0.35387659
+0.575683594	0.35416353
+0.576171875	0.3544504
+0.576660156	0.35473728
+0.577148438	0.3550241
+0.577636719	0.35531089
+0.578125000	0.35559767
+0.578613281	0.3558844
+0.579101563	0.35617107
+0.579589844	0.35645774
+0.580078125	0.35674438
+0.580566406	0.35703096
+0.581054688	0.35731751
+0.581542969	0.35760406
+0.582031250	0.35789055
+0.582519531	0.35817701
+0.583007813	0.35846341
+0.583496094	0.35874981
+0.583984375	0.35903618
+0.584472656	0.35932249
+0.584960938	0.35960877
+0.585449219	0.35989505
+0.585937500	0.36018127
+0.586425781	0.36046743
+0.586914063	0.3607536
+0.587402344	0.36103973
+0.587890625	0.3613258
+0.588378906	0.36161184
+0.588867188	0.36189789
+0.589355469	0.36218387
+0.589843750	0.36246982
+0.590332031	0.36275572
+0.590820313	0.36304161
+0.591308594	0.36332744
+0.591796875	0.36361328
+0.592285156	0.36389905
+0.592773438	0.3641848
+0.593261719	0.36447051
+0.593750000	0.36475617
+0.594238281	0.36504182
+0.594726563	0.36532742
+0.595214844	0.36561298
+0.595703125	0.36589855
+0.596191406	0.36618403
+0.596679688	0.3664695
+0.597167969	0.36675495
+0.597656250	0.36704034
+0.598144531	0.36732572
+0.598632813	0.36761105
+0.599121094	0.36789635
+0.599609375	0.36818162
+0.600097656	0.36846682
+0.600585938	0.36875203
+0.601074219	0.36903718
+0.601562500	0.3693223
+0.602050781	0.36960739
+0.602539063	0.36989245
+0.603027344	0.37017748
+0.603515625	0.37046245
+0.604003906	0.37074739
+0.604492188	0.37103233
+0.604980469	0.37131721
+0.605468750	0.37160203
+0.605957031	0.37188685
+0.606445313	0.37217161
+0.606933594	0.37245637
+0.607421875	0.37274107
+0.607910156	0.37302575
+0.608398438	0.37331036
+0.608886719	0.37359497
+0.609375000	0.37387952
+0.609863281	0.37416407
+0.610351563	0.37444857
+0.610839844	0.374733
+0.611328125	0.37501743
+0.611816406	0.37530184
+0.612304688	0.37558618
+0.612792969	0.3758705
+0.613281250	0.37615478
+0.613769531	0.37643903
+0.614257813	0.37672323
+0.614746094	0.37700742
+0.615234375	0.37729156
+0.615722656	0.37757567
+0.616210938	0.37785971
+0.616699219	0.37814376
+0.617187500	0.37842774
+0.617675781	0.37871173
+0.618164063	0.37899566
+0.618652344	0.37927952
+0.619140625	0.37956339
+0.619628906	0.3798472
+0.620117188	0.38013101
+0.620605469	0.38041475
+0.621093750	0.38069844
+0.621582031	0.38098213
+0.622070313	0.38126576
+0.622558594	0.38154939
+0.623046875	0.38183293
+0.623535156	0.38211647
+0.624023438	0.38239998
+0.624511719	0.38268343
+0.625000000	0.38296685
+0.625488281	0.38325024
+0.625976563	0.3835336
+0.626464844	0.38381693
+0.626953125	0.3841002
+0.627441406	0.38438344
+0.627929688	0.38466665
+0.628417969	0.38494983
+0.628906250	0.38523296
+0.629394531	0.38551605
+0.629882813	0.38579911
+0.630371094	0.38608214
+0.630859375	0.38636515
+0.631347656	0.38664809
+0.631835938	0.386931
+0.632324219	0.38721389
+0.632812500	0.38749674
+0.633300781	0.38777953
+0.633789063	0.3880623
+0.634277344	0.38834503
+0.634765625	0.38862774
+0.635253906	0.38891041
+0.635742188	0.38919303
+0.636230469	0.38947561
+0.636718750	0.38975817
+0.637207031	0.3900407
+0.637695313	0.39032316
+0.638183594	0.3906056
+0.638671875	0.39088801
+0.639160156	0.39117038
+0.639648438	0.39145273
+0.640136719	0.39173502
+0.640625000	0.39201728
+0.641113281	0.3922995
+0.641601563	0.39258167
+0.642089844	0.39286381
+0.642578125	0.39314592
+0.643066406	0.393428
+0.643554688	0.39371005
+0.644042969	0.39399204
+0.644531250	0.394274
+0.645019531	0.39455593
+0.645507813	0.39483783
+0.645996094	0.39511967
+0.646484375	0.39540148
+0.646972656	0.39568326
+0.647460938	0.39596498
+0.647949219	0.3962467
+0.648437500	0.39652836
+0.648925781	0.39681
+0.649414063	0.39709157
+0.649902344	0.39737314
+0.650390625	0.39765465
+0.650878906	0.39793614
+0.651367188	0.39821756
+0.651855469	0.39849895
+0.652343750	0.39878032
+0.652832031	0.39906165
+0.653320313	0.39934295
+0.653808594	0.3996242
+0.654296875	0.39990541
+0.654785156	0.4001866
+0.655273438	0.40046772
+0.655761719	0.40074882
+0.656250000	0.40102988
+0.656738281	0.40131092
+0.657226563	0.40159193
+0.657714844	0.40187287
+0.658203125	0.40215379
+0.658691406	0.40243465
+0.659179688	0.40271547
+0.659667969	0.4029963
+0.660156250	0.40327704
+0.660644531	0.40355778
+0.661132813	0.40383846
+0.661621094	0.4041191
+0.662109375	0.40439972
+0.662597656	0.40468028
+0.663085938	0.40496081
+0.663574219	0.40524131
+0.664062500	0.40552178
+0.664550781	0.40580219
+0.665039063	0.40608257
+0.665527344	0.40636292
+0.666015625	0.40664321
+0.666503906	0.40692347
+0.666992188	0.4072037
+0.667480469	0.40748391
+0.667968750	0.40776405
+0.668457031	0.40804416
+0.668945313	0.40832424
+0.669433594	0.40860426
+0.669921875	0.40888426
+0.670410156	0.40916422
+0.670898438	0.40944415
+0.671386719	0.40972403
+0.671875000	0.41000387
+0.672363281	0.41028368
+0.672851563	0.41056344
+0.673339844	0.41084316
+0.673828125	0.41112286
+0.674316406	0.41140252
+0.674804688	0.41168213
+0.675292969	0.4119617
+0.675781250	0.41224122
+0.676269531	0.41252071
+0.676757813	0.41280016
+0.677246094	0.41307959
+0.677734375	0.41335899
+0.678222656	0.41363832
+0.678710938	0.4139176
+0.679199219	0.41419688
+0.679687500	0.4144761
+0.680175781	0.41475528
+0.680664063	0.41503441
+0.681152344	0.41531354
+0.681640625	0.41559261
+0.682128906	0.41587162
+0.682617188	0.4161506
+0.683105469	0.41642955
+0.683593750	0.41670847
+0.684082031	0.41698733
+0.684570313	0.41726616
+0.685058594	0.41754496
+0.685546875	0.4178237
+0.686035156	0.41810244
+0.686523438	0.41838109
+0.687011719	0.41865975
+0.687500000	0.41893834
+0.687988281	0.4192169
+0.688476563	0.4194954
+0.688964844	0.41977388
+0.689453125	0.42005232
+0.689941406	0.4203307
+0.690429688	0.42060909
+0.690917969	0.42088738
+0.691406250	0.42116567
+0.691894531	0.42144391
+0.692382813	0.42172211
+0.692871094	0.42200026
+0.693359375	0.4222784
+0.693847656	0.42255646
+0.694335938	0.42283452
+0.694824219	0.42311251
+0.695312500	0.42339048
+0.695800781	0.42366838
+0.696289063	0.42394629
+0.696777344	0.42422411
+0.697265625	0.42450193
+0.697753906	0.42477968
+0.698242188	0.42505741
+0.698730469	0.42533508
+0.699218750	0.42561272
+0.699707031	0.42589033
+0.700195313	0.42616788
+0.700683594	0.42644542
+0.701171875	0.42672288
+0.701660156	0.42700034
+0.702148438	0.42727774
+0.702636719	0.42755508
+0.703125000	0.42783242
+0.703613281	0.42810971
+0.704101563	0.42838693
+0.704589844	0.42866415
+0.705078125	0.42894128
+0.705566406	0.42921841
+0.706054688	0.42949548
+0.706542969	0.42977253
+0.707031250	0.43004954
+0.707519531	0.43032649
+0.708007813	0.43060338
+0.708496094	0.43088028
+0.708984375	0.43115711
+0.709472656	0.43143392
+0.709960938	0.43171066
+0.710449219	0.43198738
+0.710937500	0.43226403
+0.711425781	0.43254068
+0.711914063	0.43281728
+0.712402344	0.43309382
+0.712890625	0.43337032
+0.713378906	0.4336468
+0.713867188	0.43392321
+0.714355469	0.4341996
+0.714843750	0.43447596
+0.715332031	0.43475226
+0.715820313	0.43502852
+0.716308594	0.43530476
+0.716796875	0.43558094
+0.717285156	0.43585709
+0.717773438	0.43613318
+0.718261719	0.43640924
+0.718750000	0.43668526
+0.719238281	0.43696123
+0.719726563	0.43723717
+0.720214844	0.43751308
+0.720703125	0.43778893
+0.721191406	0.43806472
+0.721679688	0.43834051
+0.722167969	0.43861625
+0.722656250	0.43889192
+0.723144531	0.43916759
+0.723632813	0.43944317
+0.724121094	0.43971875
+0.724609375	0.43999428
+0.725097656	0.44026977
+0.725585938	0.4405452
+0.726074219	0.4408206
+0.726562500	0.44109595
+0.727050781	0.44137126
+0.727539063	0.44164655
+0.728027344	0.44192177
+0.728515625	0.44219697
+0.729003906	0.44247213
+0.729492188	0.44274724
+0.729980469	0.44302228
+0.730468750	0.44329733
+0.730957031	0.44357231
+0.731445313	0.44384724
+0.731933594	0.44412214
+0.732421875	0.444397
+0.732910156	0.44467181
+0.733398438	0.44494659
+0.733886719	0.44522133
+0.734375000	0.44549602
+0.734863281	0.44577065
+0.735351563	0.44604528
+0.735839844	0.44631985
+0.736328125	0.44659436
+0.736816406	0.44686884
+0.737304688	0.44714329
+0.737792969	0.44741768
+0.738281250	0.44769204
+0.738769531	0.44796634
+0.739257813	0.44824061
+0.739746094	0.44851485
+0.740234375	0.44878903
+0.740722656	0.44906318
+0.741210938	0.44933727
+0.741699219	0.44961134
+0.742187500	0.44988534
+0.742675781	0.45015931
+0.743164063	0.45043325
+0.743652344	0.45070714
+0.744140625	0.45098099
+0.744628906	0.45125479
+0.745117188	0.45152855
+0.745605469	0.45180228
+0.746093750	0.45207596
+0.746582031	0.45234957
+0.747070313	0.45262319
+0.747558594	0.45289671
+0.748046875	0.45317024
+0.748535156	0.45344371
+0.749023438	0.45371711
+0.749511719	0.45399049
+0.750000000	0.45426384
+0.750488281	0.45453712
+0.750976563	0.45481038
+0.751464844	0.45508358
+0.751953125	0.45535675
+0.752441406	0.45562989
+0.752929688	0.45590296
+0.753417969	0.45617598
+0.753906250	0.45644897
+0.754394531	0.45672193
+0.754882813	0.45699483
+0.755371094	0.4572677
+0.755859375	0.45754051
+0.756347656	0.45781329
+0.756835938	0.45808604
+0.757324219	0.45835873
+0.757812500	0.45863137
+0.758300781	0.458904
+0.758789063	0.45917654
+0.759277344	0.45944905
+0.759765625	0.45972154
+0.760253906	0.45999399
+0.760742188	0.46026635
+0.761230469	0.46053872
+0.761718750	0.46081102
+0.762207031	0.46108326
+0.762695313	0.46135548
+0.763183594	0.46162766
+0.763671875	0.46189979
+0.764160156	0.46217188
+0.764648438	0.46244392
+0.765136719	0.46271592
+0.765625000	0.46298787
+0.766113281	0.46325979
+0.766601563	0.46353164
+0.767089844	0.46380347
+0.767578125	0.46407527
+0.768066406	0.464347
+0.768554688	0.46461868
+0.769042969	0.46489033
+0.769531250	0.46516195
+0.770019531	0.46543351
+0.770507813	0.46570501
+0.770996094	0.46597651
+0.771484375	0.46624792
+0.771972656	0.46651933
+0.772460938	0.46679065
+0.772949219	0.46706197
+0.773437500	0.4673332
+0.773925781	0.46760443
+0.774414063	0.4678756
+0.774902344	0.46814671
+0.775390625	0.46841779
+0.775878906	0.46868882
+0.776367188	0.46895981
+0.776855469	0.46923077
+0.777343750	0.46950167
+0.777832031	0.46977252
+0.778320313	0.47004333
+0.778808594	0.47031412
+0.779296875	0.47058484
+0.779785156	0.4708555
+0.780273438	0.47112614
+0.780761719	0.47139674
+0.781250000	0.47166729
+0.781738281	0.47193778
+0.782226563	0.47220826
+0.782714844	0.47247866
+0.783203125	0.47274902
+0.783691406	0.47301936
+0.784179688	0.47328964
+0.784667969	0.47355989
+0.785156250	0.47383007
+0.785644531	0.4741002
+0.786132813	0.47437033
+0.786621094	0.47464037
+0.787109375	0.47491038
+0.787597656	0.47518036
+0.788085938	0.47545028
+0.788574219	0.47572017
+0.789062500	0.47599
+0.789550781	0.4762598
+0.790039063	0.47652954
+0.790527344	0.47679922
+0.791015625	0.47706887
+0.791503906	0.47733849
+0.791992188	0.47760805
+0.792480469	0.47787759
+0.792968750	0.47814706
+0.793457031	0.47841647
+0.793945313	0.47868589
+0.794433594	0.47895521
+0.794921875	0.4792245
+0.795410156	0.47949377
+0.795898438	0.47976297
+0.796386719	0.48003212
+0.796875000	0.48030123
+0.797363281	0.48057032
+0.797851563	0.48083934
+0.798339844	0.48110831
+0.798828125	0.48137724
+0.799316406	0.48164612
+0.799804688	0.48191497
+0.800292969	0.48218378
+0.800781250	0.48245251
+0.801269531	0.48272124
+0.801757813	0.48298991
+0.802246094	0.48325852
+0.802734375	0.48352706
+0.803222656	0.48379561
+0.803710938	0.48406407
+0.804199219	0.48433253
+0.804687500	0.4846009
+0.805175781	0.48486924
+0.805664063	0.48513755
+0.806152344	0.4854058
+0.806640625	0.48567399
+0.807128906	0.48594216
+0.807617188	0.48621029
+0.808105469	0.48647836
+0.808593750	0.48674637
+0.809082031	0.48701435
+0.809570313	0.48728228
+0.810058594	0.48755017
+0.810546875	0.487818
+0.811035156	0.48808581
+0.811523438	0.48835355
+0.812011719	0.48862123
+0.812500000	0.48888889
+0.812988281	0.48915651
+0.813476563	0.48942408
+0.813964844	0.48969159
+0.814453125	0.48995906
+0.814941406	0.49022648
+0.815429688	0.49049386
+0.815917969	0.49076119
+0.816406250	0.49102849
+0.816894531	0.49129573
+0.817382813	0.4915629
+0.817871094	0.49183005
+0.818359375	0.49209717
+0.818847656	0.49236423
+0.819335938	0.49263123
+0.819824219	0.4928982
+0.820312500	0.49316511
+0.820800781	0.49343199
+0.821289063	0.49369881
+0.821777344	0.49396557
+0.822265625	0.4942323
+0.822753906	0.494499
+0.823242188	0.49476564
+0.823730469	0.49503222
+0.824218750	0.49529877
+0.824707031	0.49556527
+0.825195313	0.4958317
+0.825683594	0.49609813
+0.826171875	0.49636447
+0.826660156	0.49663079
+0.827148438	0.49689704
+0.827636719	0.49716327
+0.828125000	0.49742943
+0.828613281	0.49769557
+0.829101563	0.49796164
+0.829589844	0.49822766
+0.830078125	0.49849364
+0.830566406	0.4987596
+0.831054688	0.49902546
+0.831542969	0.49929133
+0.832031250	0.49955711
+0.832519531	0.49982285
+0.833007813	0.50008857
+0.833496094	0.50035423
+0.833984375	0.50061983
+0.834472656	0.50088537
+0.834960938	0.50115091
+0.835449219	0.50141639
+0.835937500	0.5016818
+0.836425781	0.50194716
+0.836914063	0.50221246
+0.837402344	0.50247777
+0.837890625	0.50274301
+0.838378906	0.50300819
+0.838867188	0.50327331
+0.839355469	0.50353837
+0.839843750	0.50380343
+0.840332031	0.50406843
+0.840820313	0.50433338
+0.841308594	0.50459826
+0.841796875	0.50486308
+0.842285156	0.50512791
+0.842773438	0.50539267
+0.843261719	0.50565737
+0.843750000	0.50592202
+0.844238281	0.50618666
+0.844726563	0.50645119
+0.845214844	0.50671571
+0.845703125	0.50698018
+0.846191406	0.50724465
+0.846679688	0.50750899
+0.847167969	0.50777334
+0.847656250	0.50803757
+0.848144531	0.50830185
+0.848632813	0.50856602
+0.849121094	0.50883013
+0.849609375	0.50909424
+0.850097656	0.50935829
+0.850585938	0.50962228
+0.851074219	0.50988621
+0.851562500	0.51015007
+0.852050781	0.51041394
+0.852539063	0.51067775
+0.853027344	0.51094151
+0.853515625	0.5112052
+0.854003906	0.51146883
+0.854492188	0.51173246
+0.854980469	0.51199603
+0.855468750	0.51225954
+0.855957031	0.512523
+0.856445313	0.51278639
+0.856933594	0.51304978
+0.857421875	0.51331306
+0.857910156	0.51357633
+0.858398438	0.51383954
+0.858886719	0.51410276
+0.859375000	0.51436585
+0.859863281	0.51462895
+0.860351563	0.51489198
+0.860839844	0.51515496
+0.861328125	0.51541787
+0.861816406	0.51568073
+0.862304688	0.51594359
+0.862792969	0.51620638
+0.863281250	0.51646912
+0.863769531	0.5167318
+0.864257813	0.51699442
+0.864746094	0.51725703
+0.865234375	0.51751959
+0.865722656	0.51778203
+0.866210938	0.51804453
+0.866699219	0.51830691
+0.867187500	0.51856923
+0.867675781	0.51883155
+0.868164063	0.51909381
+0.868652344	0.51935601
+0.869140625	0.51961815
+0.869628906	0.51988024
+0.870117188	0.52014232
+0.870605469	0.52040428
+0.871093750	0.52066624
+0.871582031	0.52092814
+0.872070313	0.52118999
+0.872558594	0.52145183
+0.873046875	0.52171355
+0.873535156	0.52197528
+0.874023438	0.52223694
+0.874511719	0.52249855
+0.875000000	0.52276015
+0.875488281	0.52302164
+0.875976563	0.52328312
+0.876464844	0.52354449
+0.876953125	0.52380586
+0.877441406	0.52406722
+0.877929688	0.52432847
+0.878417969	0.52458966
+0.878906250	0.52485085
+0.879394531	0.52511197
+0.879882813	0.52537304
+0.880371094	0.52563405
+0.880859375	0.525895
+0.881347656	0.52615595
+0.881835938	0.52641684
+0.882324219	0.52667767
+0.882812500	0.52693844
+0.883300781	0.52719915
+0.883789063	0.5274598
+0.884277344	0.52772045
+0.884765625	0.52798098
+0.885253906	0.52824152
+0.885742188	0.52850199
+0.886230469	0.5287624
+0.886718750	0.52902281
+0.887207031	0.52928311
+0.887695313	0.5295434
+0.888183594	0.52980363
+0.888671875	0.53006381
+0.889160156	0.53032392
+0.889648438	0.53058398
+0.890136719	0.53084403
+0.890625000	0.53110403
+0.891113281	0.5313639
+0.891601563	0.53162378
+0.892089844	0.53188366
+0.892578125	0.53214341
+0.893066406	0.53240311
+0.893554688	0.53266281
+0.894042969	0.53292245
+0.894531250	0.53318202
+0.895019531	0.53344154
+0.895507813	0.533701
+0.895996094	0.5339604
+0.896484375	0.5342198
+0.896972656	0.53447914
+0.897460938	0.53473842
+0.897949219	0.53499764
+0.898437500	0.5352568
+0.898925781	0.5355159
+0.899414063	0.53577501
+0.899902344	0.53603399
+0.900390625	0.53629297
+0.900878906	0.53655189
+0.901367188	0.53681076
+0.901855469	0.53706962
+0.902343750	0.53732836
+0.902832031	0.53758705
+0.903320313	0.53784573
+0.903808594	0.53810436
+0.904296875	0.53836292
+0.904785156	0.53862143
+0.905273438	0.53887993
+0.905761719	0.53913832
+0.906250000	0.5393967
+0.906738281	0.53965497
+0.907226563	0.53991324
+0.907714844	0.54017144
+0.908203125	0.54042965
+0.908691406	0.54068774
+0.909179688	0.54094583
+0.909667969	0.5412038
+0.910156250	0.54146177
+0.910644531	0.54171968
+0.911132813	0.54197752
+0.911621094	0.54223531
+0.912109375	0.5424931
+0.912597656	0.54275078
+0.913085938	0.54300845
+0.913574219	0.54326606
+0.914062500	0.54352361
+0.914550781	0.5437811
+0.915039063	0.54403853
+0.915527344	0.54429591
+0.916015625	0.54455328
+0.916503906	0.54481053
+0.916992188	0.54506779
+0.917480469	0.54532498
+0.917968750	0.54558212
+0.918457031	0.54583919
+0.918945313	0.54609627
+0.919433594	0.54635322
+0.919921875	0.54661018
+0.920410156	0.54686707
+0.920898438	0.54712385
+0.921386719	0.54738069
+0.921875000	0.5476374
+0.922363281	0.54789406
+0.922851563	0.54815066
+0.923339844	0.54840726
+0.923828125	0.54866379
+0.924316406	0.54892027
+0.924804688	0.54917663
+0.925292969	0.54943305
+0.925781250	0.54968935
+0.926269531	0.54994559
+0.926757813	0.55020183
+0.927246094	0.55045795
+0.927734375	0.55071408
+0.928222656	0.55097014
+0.928710938	0.55122614
+0.929199219	0.55148208
+0.929687500	0.55173796
+0.930175781	0.55199385
+0.930664063	0.55224961
+0.931152344	0.55250537
+0.931640625	0.55276108
+0.932128906	0.55301672
+0.932617188	0.55327231
+0.933105469	0.55352783
+0.933593750	0.5537833
+0.934082031	0.55403876
+0.934570313	0.55429411
+0.935058594	0.55454946
+0.935546875	0.55480474
+0.936035156	0.55505997
+0.936523438	0.55531514
+0.937011719	0.55557024
+0.937500000	0.55582529
+0.937988281	0.55608034
+0.938476563	0.55633527
+0.938964844	0.5565902
+0.939453125	0.55684501
+0.939941406	0.55709982
+0.940429688	0.55735457
+0.940917969	0.55760932
+0.941406250	0.55786395
+0.941894531	0.55811852
+0.942382813	0.55837309
+0.942871094	0.55862755
+0.943359375	0.558882
+0.943847656	0.55913639
+0.944335938	0.55939072
+0.944824219	0.559645
+0.945312500	0.55989921
+0.945800781	0.56015337
+0.946289063	0.56040752
+0.946777344	0.56066155
+0.947265625	0.56091559
+0.947753906	0.56116956
+0.948242188	0.56142348
+0.948730469	0.56167734
+0.949218750	0.56193113
+0.949707031	0.56218487
+0.950195313	0.56243855
+0.950683594	0.56269222
+0.951171875	0.56294578
+0.951660156	0.56319934
+0.952148438	0.56345284
+0.952636719	0.56370628
+0.953125000	0.56395966
+0.953613281	0.56421298
+0.954101563	0.56446624
+0.954589844	0.56471944
+0.955078125	0.56497264
+0.955566406	0.56522572
+0.956054688	0.5654788
+0.956542969	0.56573182
+0.957031250	0.56598479
+0.957519531	0.56623769
+0.958007813	0.56649053
+0.958496094	0.56674331
+0.958984375	0.56699604
+0.959472656	0.56724876
+0.959960938	0.56750137
+0.960449219	0.56775397
+0.960937500	0.56800646
+0.961425781	0.56825894
+0.961914063	0.56851137
+0.962402344	0.56876373
+0.962890625	0.56901604
+0.963378906	0.56926829
+0.963867188	0.56952053
+0.964355469	0.56977266
+0.964843750	0.57002479
+0.965332031	0.5702768
+0.965820313	0.57052881
+0.966308594	0.57078075
+0.966796875	0.57103264
+0.967285156	0.57128447
+0.967773438	0.57153624
+0.968261719	0.57178795
+0.968750000	0.5720396
+0.969238281	0.57229125
+0.969726563	0.57254279
+0.970214844	0.57279432
+0.970703125	0.57304579
+0.971191406	0.57329714
+0.971679688	0.5735485
+0.972167969	0.57379979
+0.972656250	0.57405102
+0.973144531	0.5743022
+0.973632813	0.57455337
+0.974121094	0.57480443
+0.974609375	0.57505548
+0.975097656	0.57530642
+0.975585938	0.57555735
+0.976074219	0.57580817
+0.976562500	0.57605898
+0.977050781	0.57630974
+0.977539063	0.57656044
+0.978027344	0.57681108
+0.978515625	0.57706165
+0.979003906	0.57731223
+0.979492188	0.57756269
+0.979980469	0.57781309
+0.980468750	0.57806349
+0.980957031	0.57831377
+0.981445313	0.57856405
+0.981933594	0.57881427
+0.982421875	0.57906443
+0.982910156	0.57931453
+0.983398438	0.57956457
+0.983886719	0.57981455
+0.984375000	0.58006448
+0.984863281	0.58031434
+0.985351563	0.5805642
+0.985839844	0.58081394
+0.986328125	0.58106369
+0.986816406	0.58131331
+0.987304688	0.58156294
+0.987792969	0.5818125
+0.988281250	0.58206201
+0.988769531	0.58231145
+0.989257813	0.58256084
+0.989746094	0.58281016
+0.990234375	0.58305943
+0.990722656	0.58330864
+0.991210938	0.58355784
+0.991699219	0.58380693
+0.992187500	0.58405602
+0.992675781	0.58430499
+0.993164063	0.58455396
+0.993652344	0.58480281
+0.994140625	0.58505166
+0.994628906	0.58530045
+0.995117188	0.58554918
+0.995605469	0.58579785
+0.996093750	0.58604646
+0.996582031	0.58629501
+0.997070313	0.58654356
+0.997558594	0.58679199
+0.998046875	0.58704036
+0.998535156	0.58728874
+0.999023438	0.58753705
+0.999511719	0.58778524
+1.000000000	0.58803344
+1.000488281	0.58828157
+1.000976563	0.58852959
+1.001464844	0.5887776
+1.001953125	0.58902556
+1.002441406	0.58927345
+1.002929688	0.58952129
+1.003417969	0.58976912
+1.003906250	0.59001684
+1.004394531	0.5902645
+1.004882813	0.59051216
+1.005371094	0.59075969
+1.005859375	0.59100723
+1.006347656	0.59125465
+1.006835938	0.59150207
+1.007324219	0.59174943
+1.007812500	0.59199667
+1.008300781	0.59224391
+1.008789063	0.59249109
+1.009277344	0.59273821
+1.009765625	0.59298527
+1.010253906	0.59323227
+1.010742188	0.59347928
+1.011230469	0.59372616
+1.011718750	0.59397298
+1.012207031	0.59421974
+1.012695313	0.59446651
+1.013183594	0.59471315
+1.013671875	0.5949598
+1.014160156	0.59520638
+1.014648438	0.59545285
+1.015136719	0.59569931
+1.015625000	0.59594572
+1.016113281	0.59619206
+1.016601563	0.59643829
+1.017089844	0.59668452
+1.017578125	0.59693068
+1.018066406	0.59717685
+1.018554688	0.5974229
+1.019042969	0.59766889
+1.019531250	0.59791481
+1.020019531	0.59816068
+1.020507813	0.59840655
+1.020996094	0.5986523
+1.021484375	0.59889805
+1.021972656	0.59914368
+1.022460938	0.59938931
+1.022949219	0.59963483
+1.023437500	0.59988034
+1.023925781	0.60012579
+1.024414063	0.60037118
+1.024902344	0.60061646
+1.025390625	0.60086173
+1.025878906	0.60110694
+1.026367188	0.6013521
+1.026855469	0.60159719
+1.027343750	0.60184222
+1.027832031	0.60208726
+1.028320313	0.60233217
+1.028808594	0.60257703
+1.029296875	0.60282183
+1.029785156	0.60306662
+1.030273438	0.6033113
+1.030761719	0.60355592
+1.031250000	0.60380054
+1.031738281	0.60404503
+1.032226563	0.60428953
+1.032714844	0.60453397
+1.033203125	0.60477829
+1.033691406	0.60502261
+1.034179688	0.60526687
+1.034667969	0.60551107
+1.035156250	0.60575515
+1.035644531	0.60599923
+1.036132813	0.60624325
+1.036621094	0.60648721
+1.037109375	0.60673112
+1.037597656	0.60697496
+1.038085938	0.60721874
+1.038574219	0.60746247
+1.039062500	0.60770619
+1.039550781	0.60794979
+1.040039063	0.60819334
+1.040527344	0.60843682
+1.041015625	0.60868031
+1.041503906	0.60892367
+1.041992188	0.60916704
+1.042480469	0.60941029
+1.042968750	0.60965347
+1.043457031	0.60989666
+1.043945313	0.61013979
+1.044433594	0.6103828
+1.044921875	0.6106258
+1.045410156	0.61086869
+1.045898438	0.61111158
+1.046386719	0.61135441
+1.046875000	0.61159718
+1.047363281	0.61183989
+1.047851563	0.61208248
+1.048339844	0.61232507
+1.048828125	0.6125676
+1.049316406	0.61281008
+1.049804688	0.61305249
+1.050292969	0.61329484
+1.050781250	0.61353713
+1.051269531	0.61377937
+1.051757813	0.61402154
+1.052246094	0.61426365
+1.052734375	0.61450577
+1.053222656	0.61474776
+1.053710938	0.6149897
+1.054199219	0.61523157
+1.054687500	0.61547345
+1.055175781	0.61571521
+1.055664063	0.6159569
+1.056152344	0.6161986
+1.056640625	0.61644018
+1.057128906	0.61668169
+1.057617188	0.61692321
+1.058105469	0.61716461
+1.058593750	0.61740601
+1.059082031	0.61764729
+1.059570313	0.61788857
+1.060058594	0.61812973
+1.060546875	0.61837089
+1.061035156	0.61861199
+1.061523438	0.61885297
+1.062011719	0.61909395
+1.062500000	0.61933488
+1.062988281	0.61957568
+1.063476563	0.61981648
+1.063964844	0.62005723
+1.064453125	0.62029791
+1.064941406	0.62053847
+1.065429688	0.62077904
+1.065917969	0.62101954
+1.066406250	0.62125999
+1.066894531	0.62150037
+1.067382813	0.6217407
+1.067871094	0.62198091
+1.068359375	0.62222111
+1.068847656	0.62246126
+1.069335938	0.62270135
+1.069824219	0.62294137
+1.070312500	0.62318134
+1.070800781	0.62342125
+1.071289063	0.6236611
+1.071777344	0.62390089
+1.072265625	0.62414062
+1.072753906	0.62438029
+1.073242188	0.62461996
+1.073730469	0.62485951
+1.074218750	0.625099
+1.074707031	0.62533844
+1.075195313	0.62557781
+1.075683594	0.62581712
+1.076171875	0.62605637
+1.076660156	0.62629557
+1.077148438	0.62653476
+1.077636719	0.62677383
+1.078125000	0.62701285
+1.078613281	0.6272518
+1.079101563	0.6274907
+1.079589844	0.62772959
+1.080078125	0.62796837
+1.080566406	0.62820709
+1.081054688	0.62844574
+1.081542969	0.6286844
+1.082031250	0.62892294
+1.082519531	0.62916142
+1.083007813	0.62939984
+1.083496094	0.62963825
+1.083984375	0.62987655
+1.084472656	0.63011479
+1.084960938	0.63035303
+1.085449219	0.63059115
+1.085937500	0.63082922
+1.086425781	0.63106728
+1.086914063	0.63130522
+1.087402344	0.6315431
+1.087890625	0.63178098
+1.088378906	0.63201874
+1.088867188	0.63225645
+1.089355469	0.63249415
+1.089843750	0.63273174
+1.090332031	0.63296926
+1.090820313	0.63320678
+1.091308594	0.63344419
+1.091796875	0.63368154
+1.092285156	0.63391882
+1.092773438	0.63415611
+1.093261719	0.63439327
+1.093750000	0.63463038
+1.094238281	0.63486749
+1.094726563	0.63510448
+1.095214844	0.63534141
+1.095703125	0.63557833
+1.096191406	0.63581514
+1.096679688	0.63605189
+1.097167969	0.63628864
+1.097656250	0.63652527
+1.098144531	0.63676184
+1.098632813	0.63699841
+1.099121094	0.63723487
+1.099609375	0.63747126
+1.100097656	0.63770759
+1.100585938	0.63794392
+1.101074219	0.63818014
+1.101562500	0.63841629
+1.102050781	0.63865238
+1.102539063	0.63888848
+1.103027344	0.63912445
+1.103515625	0.63936037
+1.104003906	0.63959622
+1.104492188	0.63983202
+1.104980469	0.64006782
+1.105468750	0.64030349
+1.105957031	0.64053911
+1.106445313	0.64077467
+1.106933594	0.64101017
+1.107421875	0.6412456
+1.107910156	0.64148104
+1.108398438	0.64171636
+1.108886719	0.64195162
+1.109375000	0.64218682
+1.109863281	0.64242196
+1.110351563	0.64265704
+1.110839844	0.64289206
+1.111328125	0.64312702
+1.111816406	0.64336193
+1.112304688	0.64359677
+1.112792969	0.64383155
+1.113281250	0.64406627
+1.113769531	0.64430094
+1.114257813	0.64453554
+1.114746094	0.64477009
+1.115234375	0.64500451
+1.115722656	0.64523894
+1.116210938	0.6454733
+1.116699219	0.64570761
+1.117187500	0.64594185
+1.117675781	0.64617604
+1.118164063	0.64641011
+1.118652344	0.64664418
+1.119140625	0.64687818
+1.119628906	0.64711207
+1.120117188	0.64734596
+1.120605469	0.64757979
+1.121093750	0.6478135
+1.121582031	0.64804721
+1.122070313	0.64828086
+1.122558594	0.64851439
+1.123046875	0.64874792
+1.123535156	0.64898133
+1.124023438	0.64921474
+1.124511719	0.64944804
+1.125000000	0.64968133
+1.125488281	0.6499145
+1.125976563	0.65014762
+1.126464844	0.65038073
+1.126953125	0.65061373
+1.127441406	0.65084666
+1.127929688	0.6510796
+1.128417969	0.65131241
+1.128906250	0.65154517
+1.129394531	0.65177786
+1.129882813	0.65201056
+1.130371094	0.65224314
+1.130859375	0.65247566
+1.131347656	0.65270811
+1.131835938	0.65294051
+1.132324219	0.65317285
+1.132812500	0.65340513
+1.133300781	0.65363735
+1.133789063	0.65386951
+1.134277344	0.65410161
+1.134765625	0.65433359
+1.135253906	0.65456557
+1.135742188	0.65479749
+1.136230469	0.65502936
+1.136718750	0.65526116
+1.137207031	0.65549284
+1.137695313	0.65572453
+1.138183594	0.65595609
+1.138671875	0.65618765
+1.139160156	0.65641916
+1.139648438	0.65665054
+1.140136719	0.65688193
+1.140625000	0.65711319
+1.141113281	0.6573444
+1.141601563	0.65757561
+1.142089844	0.65780669
+1.142578125	0.65803772
+1.143066406	0.65826869
+1.143554688	0.65849966
+1.144042969	0.65873051
+1.144531250	0.6589613
+1.145019531	0.65919203
+1.145507813	0.6594227
+1.145996094	0.65965331
+1.146484375	0.65988386
+1.146972656	0.66011435
+1.147460938	0.66034478
+1.147949219	0.66057515
+1.148437500	0.6608054
+1.148925781	0.66103566
+1.149414063	0.66126585
+1.149902344	0.66149592
+1.150390625	0.661726
+1.150878906	0.66195601
+1.151367188	0.66218591
+1.151855469	0.6624158
+1.152343750	0.66264558
+1.152832031	0.66287529
+1.153320313	0.66310501
+1.153808594	0.66333461
+1.154296875	0.66356415
+1.154785156	0.66379362
+1.155273438	0.6640231
+1.155761719	0.66425246
+1.156250000	0.66448176
+1.156738281	0.664711
+1.157226563	0.66494018
+1.157714844	0.66516924
+1.158203125	0.6653983
+1.158691406	0.6656273
+1.159179688	0.66585624
+1.159667969	0.66608512
+1.160156250	0.66631389
+1.160644531	0.66654265
+1.161132813	0.66677129
+1.161621094	0.66699994
+1.162109375	0.66722846
+1.162597656	0.66745698
+1.163085938	0.66768539
+1.163574219	0.66791373
+1.164062500	0.66814202
+1.164550781	0.66837025
+1.165039063	0.66859847
+1.165527344	0.66882658
+1.166015625	0.66905463
+1.166503906	0.66928262
+1.166992188	0.66951048
+1.167480469	0.66973835
+1.167968750	0.66996616
+1.168457031	0.67019391
+1.168945313	0.67042154
+1.169433594	0.67064917
+1.169921875	0.67087668
+1.170410156	0.67110419
+1.170898438	0.67133158
+1.171386719	0.67155898
+1.171875000	0.67178625
+1.172363281	0.67201346
+1.172851563	0.67224061
+1.173339844	0.67246771
+1.173828125	0.67269474
+1.174316406	0.67292172
+1.174804688	0.67314863
+1.175292969	0.67337549
+1.175781250	0.67360228
+1.176269531	0.67382902
+1.176757813	0.67405564
+1.177246094	0.67428225
+1.177734375	0.67450875
+1.178222656	0.67473525
+1.178710938	0.67496163
+1.179199219	0.675188
+1.179687500	0.67541426
+1.180175781	0.67564046
+1.180664063	0.6758666
+1.181152344	0.67609268
+1.181640625	0.67631871
+1.182128906	0.67654467
+1.182617188	0.67677057
+1.183105469	0.67699641
+1.183593750	0.67722219
+1.184082031	0.67744786
+1.184570313	0.67767352
+1.185058594	0.67789906
+1.185546875	0.67812461
+1.186035156	0.67835003
+1.186523438	0.6785754
+1.187011719	0.67880076
+1.187500000	0.67902601
+1.187988281	0.67925119
+1.188476563	0.67947632
+1.188964844	0.67970139
+1.189453125	0.6799264
+1.189941406	0.68015134
+1.190429688	0.68037617
+1.190917969	0.680601
+1.191406250	0.68082577
+1.191894531	0.68105042
+1.192382813	0.68127501
+1.192871094	0.6814996
+1.193359375	0.68172407
+1.193847656	0.68194848
+1.194335938	0.68217283
+1.194824219	0.68239713
+1.195312500	0.68262136
+1.195800781	0.68284553
+1.196289063	0.68306965
+1.196777344	0.6832937
+1.197265625	0.68351763
+1.197753906	0.68374157
+1.198242188	0.68396538
+1.198730469	0.6841892
+1.199218750	0.6844129
+1.199707031	0.68463653
+1.200195313	0.68486017
+1.200683594	0.68508369
+1.201171875	0.68530715
+1.201660156	0.68553054
+1.202148438	0.68575382
+1.202636719	0.6859771
+1.203125000	0.68620032
+1.203613281	0.68642342
+1.204101563	0.68664652
+1.204589844	0.6868695
+1.205078125	0.68709248
+1.205566406	0.68731534
+1.206054688	0.68753815
+1.206542969	0.68776089
+1.207031250	0.68798357
+1.207519531	0.6882062
+1.208007813	0.68842876
+1.208496094	0.68865126
+1.208984375	0.68887365
+1.209472656	0.68909603
+1.209960938	0.6893183
+1.210449219	0.68954057
+1.210937500	0.68976271
+1.211425781	0.6899848
+1.211914063	0.69020683
+1.212402344	0.69042879
+1.212890625	0.6906507
+1.213378906	0.69087255
+1.213867188	0.69109434
+1.214355469	0.69131601
+1.214843750	0.69153768
+1.215332031	0.69175923
+1.215820313	0.69198078
+1.216308594	0.69220221
+1.216796875	0.69242358
+1.217285156	0.69264489
+1.217773438	0.69286615
+1.218261719	0.69308734
+1.218750000	0.69330847
+1.219238281	0.69352955
+1.219726563	0.69375056
+1.220214844	0.69397146
+1.220703125	0.69419235
+1.221191406	0.69441313
+1.221679688	0.69463384
+1.222167969	0.6948545
+1.222656250	0.69507509
+1.223144531	0.69529563
+1.223632813	0.69551611
+1.224121094	0.69573653
+1.224609375	0.69595689
+1.225097656	0.69617712
+1.225585938	0.69639736
+1.226074219	0.69661748
+1.226562500	0.69683754
+1.227050781	0.69705755
+1.227539063	0.69727749
+1.228027344	0.69749737
+1.228515625	0.69771719
+1.229003906	0.69793695
+1.229492188	0.69815665
+1.229980469	0.69837624
+1.230468750	0.69859582
+1.230957031	0.69881529
+1.231445313	0.69903469
+1.231933594	0.69925404
+1.232421875	0.69947332
+1.232910156	0.69969255
+1.233398438	0.69991171
+1.233886719	0.70013082
+1.234375000	0.70034981
+1.234863281	0.7005688
+1.235351563	0.70078766
+1.235839844	0.70100653
+1.236328125	0.70122528
+1.236816406	0.70144397
+1.237304688	0.7016626
+1.237792969	0.70188117
+1.238281250	0.70209968
+1.238769531	0.70231807
+1.239257813	0.70253646
+1.239746094	0.70275474
+1.240234375	0.70297295
+1.240722656	0.70319116
+1.241210938	0.70340925
+1.241699219	0.70362729
+1.242187500	0.70384526
+1.242675781	0.70406312
+1.243164063	0.70428097
+1.243652344	0.70449877
+1.244140625	0.70471644
+1.244628906	0.70493406
+1.245117188	0.70515168
+1.245605469	0.70536917
+1.246093750	0.70558661
+1.246582031	0.70580393
+1.247070313	0.70602125
+1.247558594	0.70623851
+1.248046875	0.70645565
+1.248535156	0.70667279
+1.249023438	0.70688981
+1.249511719	0.70710677
+1.250000000	0.70732367
+1.250488281	0.70754051
+1.250976563	0.70775729
+1.251464844	0.70797402
+1.251953125	0.70819062
+1.252441406	0.70840722
+1.252929688	0.70862371
+1.253417969	0.70884013
+1.253906250	0.7090565
+1.254394531	0.7092728
+1.254882813	0.70948905
+1.255371094	0.70970523
+1.255859375	0.70992136
+1.256347656	0.71013737
+1.256835938	0.71035337
+1.257324219	0.71056926
+1.257812500	0.71078509
+1.258300781	0.71100086
+1.258789063	0.71121657
+1.259277344	0.71143222
+1.259765625	0.71164775
+1.260253906	0.71186328
+1.260742188	0.71207869
+1.261230469	0.71229404
+1.261718750	0.71250939
+1.262207031	0.71272463
+1.262695313	0.7129398
+1.263183594	0.71315485
+1.263671875	0.71336991
+1.264160156	0.71358484
+1.264648438	0.71379977
+1.265136719	0.71401459
+1.265625000	0.71422935
+1.266113281	0.71444404
+1.266601563	0.71465868
+1.267089844	0.71487325
+1.267578125	0.71508777
+1.268066406	0.71530217
+1.268554688	0.71551651
+1.269042969	0.71573085
+1.269531250	0.71594507
+1.270019531	0.71615922
+1.270507813	0.71637332
+1.270996094	0.71658731
+1.271484375	0.71680129
+1.271972656	0.71701515
+1.272460938	0.71722901
+1.272949219	0.71744275
+1.273437500	0.71765643
+1.273925781	0.71787006
+1.274414063	0.71808362
+1.274902344	0.71829706
+1.275390625	0.71851051
+1.275878906	0.71872383
+1.276367188	0.7189371
+1.276855469	0.71915036
+1.277343750	0.71936345
+1.277832031	0.71957654
+1.278320313	0.71978956
+1.278808594	0.72000253
+1.279296875	0.72021538
+1.279785156	0.72042817
+1.280273438	0.7206409
+1.280761719	0.72085357
+1.281250000	0.72106618
+1.281738281	0.72127873
+1.282226563	0.72149122
+1.282714844	0.72170359
+1.283203125	0.72191596
+1.283691406	0.72212821
+1.284179688	0.7223404
+1.284667969	0.72255254
+1.285156250	0.72276455
+1.285644531	0.72297657
+1.286132813	0.72318846
+1.286621094	0.72340035
+1.287109375	0.72361213
+1.287597656	0.72382385
+1.288085938	0.7240355
+1.288574219	0.7242471
+1.289062500	0.72445858
+1.289550781	0.72467005
+1.290039063	0.72488141
+1.290527344	0.72509271
+1.291015625	0.72530395
+1.291503906	0.72551513
+1.291992188	0.72572625
+1.292480469	0.72593731
+1.292968750	0.72614825
+1.293457031	0.72635913
+1.293945313	0.72657001
+1.294433594	0.72678077
+1.294921875	0.72699142
+1.295410156	0.72720206
+1.295898438	0.72741264
+1.296386719	0.72762311
+1.296875000	0.72783351
+1.297363281	0.72804391
+1.297851563	0.7282542
+1.298339844	0.72846437
+1.298828125	0.72867453
+1.299316406	0.72888464
+1.299804688	0.72909462
+1.300292969	0.72930455
+1.300781250	0.72951442
+1.301269531	0.72972423
+1.301757813	0.72993398
+1.302246094	0.73014367
+1.302734375	0.73035324
+1.303222656	0.73056275
+1.303710938	0.73077226
+1.304199219	0.73098165
+1.304687500	0.73119092
+1.305175781	0.73140019
+1.305664063	0.7316094
+1.306152344	0.7318185
+1.306640625	0.73202753
+1.307128906	0.7322365
+1.307617188	0.73244542
+1.308105469	0.73265427
+1.308593750	0.73286307
+1.309082031	0.73307174
+1.309570313	0.73328036
+1.310058594	0.73348892
+1.310546875	0.73369741
+1.311035156	0.73390585
+1.311523438	0.73411423
+1.312011719	0.73432249
+1.312500000	0.73453075
+1.312988281	0.73473889
+1.313476563	0.73494697
+1.313964844	0.73515499
+1.314453125	0.73536289
+1.314941406	0.73557079
+1.315429688	0.73577857
+1.315917969	0.73598635
+1.316406250	0.73619401
+1.316894531	0.73640156
+1.317382813	0.7366091
+1.317871094	0.73681659
+1.318359375	0.73702395
+1.318847656	0.73723125
+1.319335938	0.7374385
+1.319824219	0.73764569
+1.320312500	0.73785281
+1.320800781	0.73805988
+1.321289063	0.73826683
+1.321777344	0.73847371
+1.322265625	0.73868054
+1.322753906	0.73888731
+1.323242188	0.73909402
+1.323730469	0.73930067
+1.324218750	0.7395072
+1.324707031	0.73971367
+1.325195313	0.73992008
+1.325683594	0.74012643
+1.326171875	0.74033272
+1.326660156	0.7405389
+1.327148438	0.74074507
+1.327636719	0.74095112
+1.328125000	0.74115711
+1.328613281	0.74136305
+1.329101563	0.74156892
+1.329589844	0.74177468
+1.330078125	0.74198043
+1.330566406	0.74218607
+1.331054688	0.74239165
+1.331542969	0.74259716
+1.332031250	0.74280256
+1.332519531	0.74300796
+1.333007813	0.74321324
+1.333496094	0.74341846
+1.333984375	0.74362361
+1.334472656	0.74382871
+1.334960938	0.74403375
+1.335449219	0.74423867
+1.335937500	0.7444436
+1.336425781	0.7446484
+1.336914063	0.74485314
+1.337402344	0.74505776
+1.337890625	0.74526238
+1.338378906	0.74546689
+1.338867188	0.74567139
+1.339355469	0.74587578
+1.339843750	0.7460801
+1.340332031	0.74628431
+1.340820313	0.74648851
+1.341308594	0.7466926
+1.341796875	0.74689662
+1.342285156	0.74710059
+1.342773438	0.7473045
+1.343261719	0.74750835
+1.343750000	0.74771208
+1.344238281	0.74791574
+1.344726563	0.74811935
+1.345214844	0.7483229
+1.345703125	0.74852639
+1.346191406	0.74872983
+1.346679688	0.74893314
+1.347167969	0.74913639
+1.347656250	0.74933958
+1.348144531	0.74954271
+1.348632813	0.74974579
+1.349121094	0.74994874
+1.349609375	0.75015163
+1.350097656	0.75035447
+1.350585938	0.75055724
+1.351074219	0.75075996
+1.351562500	0.75096256
+1.352050781	0.75116515
+1.352539063	0.75136763
+1.353027344	0.75157005
+1.353515625	0.7517724
+1.354003906	0.75197464
+1.354492188	0.75217682
+1.354980469	0.752379
+1.355468750	0.75258106
+1.355957031	0.75278306
+1.356445313	0.75298494
+1.356933594	0.75318682
+1.357421875	0.75338858
+1.357910156	0.75359029
+1.358398438	0.75379193
+1.358886719	0.75399351
+1.359375000	0.75419497
+1.359863281	0.75439638
+1.360351563	0.75459772
+1.360839844	0.75479901
+1.361328125	0.75500023
+1.361816406	0.7552014
+1.362304688	0.75540245
+1.362792969	0.75560343
+1.363281250	0.75580436
+1.363769531	0.75600523
+1.364257813	0.75620598
+1.364746094	0.75640672
+1.365234375	0.75660735
+1.365722656	0.75680792
+1.366210938	0.75700843
+1.366699219	0.75720882
+1.367187500	0.75740921
+1.367675781	0.75760949
+1.368164063	0.7578097
+1.368652344	0.75800985
+1.369140625	0.75820988
+1.369628906	0.75840992
+1.370117188	0.75860983
+1.370605469	0.75880969
+1.371093750	0.75900948
+1.371582031	0.75920922
+1.372070313	0.75940883
+1.372558594	0.75960839
+1.373046875	0.75980788
+1.373535156	0.76000732
+1.374023438	0.7602067
+1.374511719	0.76040596
+1.375000000	0.76060516
+1.375488281	0.7608043
+1.375976563	0.76100338
+1.376464844	0.76120239
+1.376953125	0.7614013
+1.377441406	0.76160014
+1.377929688	0.76179898
+1.378417969	0.76199764
+1.378906250	0.7621963
+1.379394531	0.76239485
+1.379882813	0.76259339
+1.380371094	0.76279181
+1.380859375	0.76299012
+1.381347656	0.76318842
+1.381835938	0.76338661
+1.382324219	0.76358473
+1.382812500	0.7637828
+1.383300781	0.76398081
+1.383789063	0.76417875
+1.384277344	0.76437658
+1.384765625	0.76457435
+1.385253906	0.76477206
+1.385742188	0.76496971
+1.386230469	0.76516724
+1.386718750	0.76536477
+1.387207031	0.76556218
+1.387695313	0.76575953
+1.388183594	0.76595682
+1.388671875	0.76615399
+1.389160156	0.7663511
+1.389648438	0.76654816
+1.390136719	0.76674515
+1.390625000	0.76694208
+1.391113281	0.7671389
+1.391601563	0.76733565
+1.392089844	0.76753235
+1.392578125	0.76772898
+1.393066406	0.76792556
+1.393554688	0.76812202
+1.394042969	0.76831841
+1.394531250	0.76851475
+1.395019531	0.76871103
+1.395507813	0.76890725
+1.395996094	0.76910335
+1.396484375	0.76929939
+1.396972656	0.76949537
+1.397460938	0.76969123
+1.397949219	0.76988709
+1.398437500	0.77008283
+1.398925781	0.77027851
+1.399414063	0.77047414
+1.399902344	0.77066964
+1.400390625	0.77086514
+1.400878906	0.77106053
+1.401367188	0.77125585
+1.401855469	0.77145112
+1.402343750	0.77164626
+1.402832031	0.77184135
+1.403320313	0.77203637
+1.403808594	0.77223134
+1.404296875	0.77242625
+1.404785156	0.77262104
+1.405273438	0.77281576
+1.405761719	0.77301043
+1.406250000	0.77320504
+1.406738281	0.77339959
+1.407226563	0.77359402
+1.407714844	0.77378839
+1.408203125	0.7739827
+1.408691406	0.7741769
+1.409179688	0.77437109
+1.409667969	0.77456516
+1.410156250	0.77475917
+1.410644531	0.77495313
+1.411132813	0.77514696
+1.411621094	0.77534074
+1.412109375	0.77553451
+1.412597656	0.77572811
+1.413085938	0.7759217
+1.413574219	0.77611518
+1.414062500	0.7763086
+1.414550781	0.77650195
+1.415039063	0.77669525
+1.415527344	0.77688849
+1.416015625	0.77708161
+1.416503906	0.77727467
+1.416992188	0.77746767
+1.417480469	0.77766055
+1.417968750	0.77785343
+1.418457031	0.77804619
+1.418945313	0.77823889
+1.419433594	0.77843148
+1.419921875	0.77862406
+1.420410156	0.77881652
+1.420898438	0.77900892
+1.421386719	0.77920127
+1.421875000	0.77939349
+1.422363281	0.77958566
+1.422851563	0.77977777
+1.423339844	0.77996981
+1.423828125	0.7801618
+1.424316406	0.78035367
+1.424804688	0.78054547
+1.425292969	0.78073722
+1.425781250	0.78092891
+1.426269531	0.78112048
+1.426757813	0.78131199
+1.427246094	0.78150344
+1.427734375	0.78169483
+1.428222656	0.78188616
+1.428710938	0.78207737
+1.429199219	0.78226852
+1.429687500	0.78245962
+1.430175781	0.78265059
+1.430664063	0.7828415
+1.431152344	0.78303236
+1.431640625	0.78322315
+1.432128906	0.78341389
+1.432617188	0.7836045
+1.433105469	0.78379506
+1.433593750	0.78398556
+1.434082031	0.78417599
+1.434570313	0.78436631
+1.435058594	0.78455657
+1.435546875	0.78474677
+1.436035156	0.7849369
+1.436523438	0.78512698
+1.437011719	0.78531694
+1.437500000	0.78550684
+1.437988281	0.78569663
+1.438476563	0.78588641
+1.438964844	0.78607607
+1.439453125	0.78626567
+1.439941406	0.78645521
+1.440429688	0.7866447
+1.440917969	0.78683406
+1.441406250	0.78702337
+1.441894531	0.78721261
+1.442382813	0.78740174
+1.442871094	0.7875908
+1.443359375	0.78777987
+1.443847656	0.78796875
+1.444335938	0.78815764
+1.444824219	0.78834641
+1.445312500	0.78853512
+1.445800781	0.78872377
+1.446289063	0.78891236
+1.446777344	0.78910083
+1.447265625	0.78928924
+1.447753906	0.78947759
+1.448242188	0.78966588
+1.448730469	0.78985405
+1.449218750	0.79004216
+1.449707031	0.79023021
+1.450195313	0.79041821
+1.450683594	0.79060608
+1.451171875	0.7907939
+1.451660156	0.79098165
+1.452148438	0.79116935
+1.452636719	0.79135692
+1.453125000	0.79154444
+1.453613281	0.79173189
+1.454101563	0.79191929
+1.454589844	0.79210657
+1.455078125	0.79229379
+1.455566406	0.79248095
+1.456054688	0.79266804
+1.456542969	0.79285502
+1.457031250	0.79304194
+1.457519531	0.79322881
+1.458007813	0.79341561
+1.458496094	0.79360229
+1.458984375	0.79378891
+1.459472656	0.79397547
+1.459960938	0.79416198
+1.460449219	0.79434836
+1.460937500	0.79453468
+1.461425781	0.79472095
+1.461914063	0.79490715
+1.462402344	0.79509324
+1.462890625	0.79527926
+1.463378906	0.79546523
+1.463867188	0.79565108
+1.464355469	0.79583693
+1.464843750	0.79602265
+1.465332031	0.79620826
+1.465820313	0.79639387
+1.466308594	0.79657936
+1.466796875	0.79676479
+1.467285156	0.79695016
+1.467773438	0.79713547
+1.468261719	0.79732066
+1.468750000	0.7975058
+1.469238281	0.79769087
+1.469726563	0.79787582
+1.470214844	0.79806072
+1.470703125	0.79824555
+1.471191406	0.79843032
+1.471679688	0.79861498
+1.472167969	0.79879957
+1.472656250	0.79898411
+1.473144531	0.79916859
+1.473632813	0.79935294
+1.474121094	0.79953724
+1.474609375	0.79972148
+1.475097656	0.79990566
+1.475585938	0.80008972
+1.476074219	0.80027372
+1.476562500	0.80045766
+1.477050781	0.80064154
+1.477539063	0.8008253
+1.478027344	0.801009
+1.478515625	0.80119264
+1.479003906	0.80137616
+1.479492188	0.80155963
+1.479980469	0.80174303
+1.480468750	0.80192637
+1.480957031	0.8021096
+1.481445313	0.80229282
+1.481933594	0.80247587
+1.482421875	0.80265892
+1.482910156	0.80284184
+1.483398438	0.80302471
+1.483886719	0.80320752
+1.484375000	0.80339026
+1.484863281	0.80357289
+1.485351563	0.80375546
+1.485839844	0.80393797
+1.486328125	0.80412036
+1.486816406	0.80430269
+1.487304688	0.80448496
+1.487792969	0.80466717
+1.488281250	0.80484927
+1.488769531	0.80503136
+1.489257813	0.80521327
+1.489746094	0.80539519
+1.490234375	0.80557698
+1.490722656	0.80575871
+1.491210938	0.80594039
+1.491699219	0.80612195
+1.492187500	0.8063035
+1.492675781	0.80648494
+1.493164063	0.80666625
+1.493652344	0.80684757
+1.494140625	0.80702877
+1.494628906	0.80720991
+1.495117188	0.80739093
+1.495605469	0.80757189
+1.496093750	0.80775285
+1.496582031	0.80793363
+1.497070313	0.80811441
+1.497558594	0.80829507
+1.498046875	0.80847567
+1.498535156	0.80865616
+1.499023438	0.80883664
+1.499511719	0.809017
+1.500000000	0.80919731
+1.500488281	0.80937749
+1.500976563	0.80955762
+1.501464844	0.80973768
+1.501953125	0.80991769
+1.502441406	0.81009758
+1.502929688	0.81027746
+1.503417969	0.81045717
+1.503906250	0.81063688
+1.504394531	0.81081647
+1.504882813	0.810996
+1.505371094	0.81117547
+1.505859375	0.81135488
+1.506347656	0.81153417
+1.506835938	0.8117134
+1.507324219	0.81189251
+1.507812500	0.81207156
+1.508300781	0.81225061
+1.508789063	0.81242949
+1.509277344	0.81260836
+1.509765625	0.81278712
+1.510253906	0.81296581
+1.510742188	0.81314439
+1.511230469	0.81332296
+1.511718750	0.81350142
+1.512207031	0.81367981
+1.512695313	0.81385809
+1.513183594	0.81403631
+1.513671875	0.81421447
+1.514160156	0.81439257
+1.514648438	0.81457055
+1.515136719	0.81474847
+1.515625000	0.81492633
+1.516113281	0.81510413
+1.516601563	0.81528181
+1.517089844	0.81545943
+1.517578125	0.81563693
+1.518066406	0.81581444
+1.518554688	0.81599182
+1.519042969	0.81616908
+1.519531250	0.81634635
+1.520019531	0.81652349
+1.520507813	0.81670058
+1.520996094	0.8168776
+1.521484375	0.81705451
+1.521972656	0.81723136
+1.522460938	0.81740814
+1.522949219	0.81758481
+1.523437500	0.81776142
+1.523925781	0.81793797
+1.524414063	0.81811446
+1.524902344	0.81829083
+1.525390625	0.81846714
+1.525878906	0.81864339
+1.526367188	0.81881952
+1.526855469	0.81899559
+1.527343750	0.81917161
+1.527832031	0.8193475
+1.528320313	0.81952339
+1.528808594	0.81969911
+1.529296875	0.81987482
+1.529785156	0.82005042
+1.530273438	0.82022595
+1.530761719	0.82040143
+1.531250000	0.82057685
+1.531738281	0.82075214
+1.532226563	0.82092738
+1.532714844	0.8211025
+1.533203125	0.82127762
+1.533691406	0.82145256
+1.534179688	0.8216275
+1.534667969	0.82180238
+1.535156250	0.82197714
+1.535644531	0.82215178
+1.536132813	0.82232642
+1.536621094	0.82250094
+1.537109375	0.82267541
+1.537597656	0.82284981
+1.538085938	0.82302409
+1.538574219	0.82319832
+1.539062500	0.82337242
+1.539550781	0.82354653
+1.540039063	0.82372051
+1.540527344	0.82389444
+1.541015625	0.82406825
+1.541503906	0.824242
+1.541992188	0.82441568
+1.542480469	0.82458931
+1.542968750	0.82476282
+1.543457031	0.82493627
+1.543945313	0.82510966
+1.544433594	0.82528293
+1.544921875	0.82545614
+1.545410156	0.82562929
+1.545898438	0.82580233
+1.546386719	0.82597536
+1.546875000	0.82614821
+1.547363281	0.82632107
+1.547851563	0.8264938
+1.548339844	0.82666647
+1.548828125	0.82683909
+1.549316406	0.82701159
+1.549804688	0.82718402
+1.550292969	0.8273564
+1.550781250	0.82752866
+1.551269531	0.82770085
+1.551757813	0.82787299
+1.552246094	0.82804507
+1.552734375	0.82821703
+1.553222656	0.82838893
+1.553710938	0.82856071
+1.554199219	0.82873243
+1.554687500	0.82890409
+1.555175781	0.82907569
+1.555664063	0.82924718
+1.556152344	0.8294186
+1.556640625	0.82958996
+1.557128906	0.82976121
+1.557617188	0.82993245
+1.558105469	0.83010352
+1.558593750	0.83027458
+1.559082031	0.83044553
+1.559570313	0.83061641
+1.560058594	0.83078718
+1.560546875	0.83095795
+1.561035156	0.83112854
+1.561523438	0.83129913
+1.562011719	0.8314696
+1.562500000	0.83164001
+1.562988281	0.83181036
+1.563476563	0.83198059
+1.563964844	0.83215076
+1.564453125	0.83232087
+1.564941406	0.83249086
+1.565429688	0.83266079
+1.565917969	0.83283067
+1.566406250	0.83300048
+1.566894531	0.83317018
+1.567382813	0.83333981
+1.567871094	0.83350933
+1.568359375	0.83367878
+1.568847656	0.83384818
+1.569335938	0.83401752
+1.569824219	0.83418673
+1.570312500	0.83435589
+1.570800781	0.83452499
+1.571289063	0.83469397
+1.571777344	0.83486289
+1.572265625	0.83503169
+1.572753906	0.83520049
+1.573242188	0.83536917
+1.573730469	0.83553773
+1.574218750	0.83570629
+1.574707031	0.83587474
+1.575195313	0.83604312
+1.575683594	0.83621138
+1.576171875	0.83637959
+1.576660156	0.83654773
+1.577148438	0.83671576
+1.577636719	0.83688372
+1.578125000	0.83705163
+1.578613281	0.83721948
+1.579101563	0.8373872
+1.579589844	0.83755487
+1.580078125	0.83772242
+1.580566406	0.83788997
+1.581054688	0.83805734
+1.581542969	0.83822471
+1.582031250	0.83839196
+1.582519531	0.83855915
+1.583007813	0.83872628
+1.583496094	0.83889329
+1.583984375	0.83906025
+1.584472656	0.83922708
+1.584960938	0.83939391
+1.585449219	0.83956063
+1.585937500	0.83972722
+1.586425781	0.83989382
+1.586914063	0.84006029
+1.587402344	0.84022665
+1.587890625	0.84039301
+1.588378906	0.84055924
+1.588867188	0.84072536
+1.589355469	0.84089148
+1.589843750	0.84105748
+1.590332031	0.84122336
+1.590820313	0.84138924
+1.591308594	0.841555
+1.591796875	0.84172064
+1.592285156	0.84188628
+1.592773438	0.8420518
+1.593261719	0.84221721
+1.593750000	0.84238261
+1.594238281	0.84254789
+1.594726563	0.84271312
+1.595214844	0.84287822
+1.595703125	0.84304327
+1.596191406	0.84320825
+1.596679688	0.84337312
+1.597167969	0.84353793
+1.597656250	0.84370267
+1.598144531	0.8438673
+1.598632813	0.84403187
+1.599121094	0.84419638
+1.599609375	0.84436083
+1.600097656	0.84452516
+1.600585938	0.84468937
+1.601074219	0.84485358
+1.601562500	0.84501767
+1.602050781	0.8451817
+1.602539063	0.84534562
+1.603027344	0.84550947
+1.603515625	0.84567326
+1.604003906	0.84583694
+1.604492188	0.84600055
+1.604980469	0.84616411
+1.605468750	0.84632754
+1.605957031	0.84649092
+1.606445313	0.84665424
+1.606933594	0.84681743
+1.607421875	0.84698057
+1.607910156	0.84714365
+1.608398438	0.84730661
+1.608886719	0.84746957
+1.609375000	0.84763235
+1.609863281	0.84779513
+1.610351563	0.84795779
+1.610839844	0.84812033
+1.611328125	0.84828287
+1.611816406	0.8484453
+1.612304688	0.8486076
+1.612792969	0.84876984
+1.613281250	0.84893203
+1.613769531	0.84909415
+1.614257813	0.84925616
+1.614746094	0.8494181
+1.615234375	0.84957999
+1.615722656	0.84974176
+1.616210938	0.84990346
+1.616699219	0.85006511
+1.617187500	0.85022664
+1.617675781	0.85038811
+1.618164063	0.85054946
+1.618652344	0.85071081
+1.619140625	0.85087198
+1.619628906	0.85103315
+1.620117188	0.8511942
+1.620605469	0.8513552
+1.621093750	0.85151607
+1.621582031	0.85167694
+1.622070313	0.85183764
+1.622558594	0.85199833
+1.623046875	0.8521589
+1.623535156	0.85231942
+1.624023438	0.85247982
+1.624511719	0.85264015
+1.625000000	0.85280043
+1.625488281	0.85296059
+1.625976563	0.85312068
+1.626464844	0.85328072
+1.626953125	0.85344064
+1.627441406	0.8536005
+1.627929688	0.8537603
+1.628417969	0.85391998
+1.628906250	0.8540796
+1.629394531	0.85423917
+1.629882813	0.85439861
+1.630371094	0.85455799
+1.630859375	0.85471731
+1.631347656	0.85487652
+1.631835938	0.85503566
+1.632324219	0.85519469
+1.632812500	0.85535365
+1.633300781	0.85551256
+1.633789063	0.85567135
+1.634277344	0.85583013
+1.634765625	0.85598874
+1.635253906	0.85614735
+1.635742188	0.85630584
+1.636230469	0.85646421
+1.636718750	0.85662258
+1.637207031	0.85678083
+1.637695313	0.85693896
+1.638183594	0.85709709
+1.638671875	0.8572551
+1.639160156	0.85741299
+1.639648438	0.85757083
+1.640136719	0.8577286
+1.640625000	0.85788631
+1.641113281	0.85804391
+1.641601563	0.85820144
+1.642089844	0.85835886
+1.642578125	0.85851622
+1.643066406	0.85867351
+1.643554688	0.85883069
+1.644042969	0.85898781
+1.644531250	0.85914487
+1.645019531	0.85930181
+1.645507813	0.85945868
+1.645996094	0.8596155
+1.646484375	0.85977221
+1.646972656	0.85992885
+1.647460938	0.86008537
+1.647949219	0.86024189
+1.648437500	0.86039823
+1.648925781	0.86055458
+1.649414063	0.8607108
+1.649902344	0.86086696
+1.650390625	0.86102301
+1.650878906	0.86117899
+1.651367188	0.86133492
+1.651855469	0.86149073
+1.652343750	0.86164647
+1.652832031	0.8618021
+1.653320313	0.86195773
+1.653808594	0.86211318
+1.654296875	0.86226863
+1.654785156	0.86242396
+1.655273438	0.86257923
+1.655761719	0.86273438
+1.656250000	0.86288947
+1.656738281	0.8630445
+1.657226563	0.86319941
+1.657714844	0.86335427
+1.658203125	0.86350906
+1.658691406	0.86366373
+1.659179688	0.86381835
+1.659667969	0.86397284
+1.660156250	0.86412728
+1.660644531	0.86428165
+1.661132813	0.86443597
+1.661621094	0.86459017
+1.662109375	0.86474425
+1.662597656	0.86489826
+1.663085938	0.86505222
+1.663574219	0.86520612
+1.664062500	0.8653599
+1.664550781	0.86551362
+1.665039063	0.86566722
+1.665527344	0.86582083
+1.666015625	0.86597425
+1.666503906	0.86612767
+1.666992188	0.86628097
+1.667480469	0.86643416
+1.667968750	0.86658734
+1.668457031	0.86674035
+1.668945313	0.86689335
+1.669433594	0.86704624
+1.669921875	0.86719906
+1.670410156	0.86735177
+1.670898438	0.86750442
+1.671386719	0.86765701
+1.671875000	0.86780947
+1.672363281	0.86796188
+1.672851563	0.86811423
+1.673339844	0.86826646
+1.673828125	0.86841863
+1.674316406	0.86857069
+1.674804688	0.86872268
+1.675292969	0.86887461
+1.675781250	0.86902642
+1.676269531	0.86917818
+1.676757813	0.86932987
+1.677246094	0.86948144
+1.677734375	0.86963296
+1.678222656	0.86978441
+1.678710938	0.86993575
+1.679199219	0.87008697
+1.679687500	0.87023818
+1.680175781	0.87038928
+1.680664063	0.87054026
+1.681152344	0.87069124
+1.681640625	0.87084204
+1.682128906	0.87099284
+1.682617188	0.87114352
+1.683105469	0.87129414
+1.683593750	0.87144464
+1.684082031	0.87159508
+1.684570313	0.87174547
+1.685058594	0.87189573
+1.685546875	0.87204593
+1.686035156	0.87219602
+1.686523438	0.87234604
+1.687011719	0.87249601
+1.687500000	0.87264585
+1.687988281	0.87279564
+1.688476563	0.87294537
+1.688964844	0.87309498
+1.689453125	0.87324452
+1.689941406	0.87339395
+1.690429688	0.87354332
+1.690917969	0.87369263
+1.691406250	0.87384182
+1.691894531	0.87399095
+1.692382813	0.87414002
+1.692871094	0.87428898
+1.693359375	0.87443787
+1.693847656	0.87458664
+1.694335938	0.87473536
+1.694824219	0.87488401
+1.695312500	0.87503254
+1.695800781	0.87518102
+1.696289063	0.87532938
+1.696777344	0.87547773
+1.697265625	0.87562591
+1.697753906	0.87577409
+1.698242188	0.87592214
+1.698730469	0.87607008
+1.699218750	0.87621796
+1.699707031	0.87636578
+1.700195313	0.87651354
+1.700683594	0.87666118
+1.701171875	0.8768087
+1.701660156	0.87695622
+1.702148438	0.87710363
+1.702636719	0.87725091
+1.703125000	0.87739813
+1.703613281	0.8775453
+1.704101563	0.87769234
+1.704589844	0.87783933
+1.705078125	0.87798625
+1.705566406	0.87813306
+1.706054688	0.87827981
+1.706542969	0.87842643
+1.707031250	0.878573
+1.707519531	0.87871951
+1.708007813	0.8788659
+1.708496094	0.87901223
+1.708984375	0.87915844
+1.709472656	0.87930465
+1.709960938	0.87945068
+1.710449219	0.87959671
+1.710937500	0.87974262
+1.711425781	0.87988842
+1.711914063	0.88003415
+1.712402344	0.88017982
+1.712890625	0.88032538
+1.713378906	0.88047087
+1.713867188	0.88061631
+1.714355469	0.88076162
+1.714843750	0.88090688
+1.715332031	0.88105202
+1.715820313	0.88119709
+1.716308594	0.88134211
+1.716796875	0.88148701
+1.717285156	0.88163185
+1.717773438	0.88177657
+1.718261719	0.88192129
+1.718750000	0.88206583
+1.719238281	0.88221031
+1.719726563	0.88235474
+1.720214844	0.8824991
+1.720703125	0.88264334
+1.721191406	0.88278753
+1.721679688	0.88293159
+1.722167969	0.88307559
+1.722656250	0.88321948
+1.723144531	0.88336337
+1.723632813	0.88350707
+1.724121094	0.88365078
+1.724609375	0.88379437
+1.725097656	0.88393784
+1.725585938	0.88408124
+1.726074219	0.88422459
+1.726562500	0.88436782
+1.727050781	0.88451099
+1.727539063	0.8846541
+1.728027344	0.8847971
+1.728515625	0.88494003
+1.729003906	0.88508284
+1.729492188	0.88522559
+1.729980469	0.88536829
+1.730468750	0.88551086
+1.730957031	0.88565338
+1.731445313	0.88579577
+1.731933594	0.88593811
+1.732421875	0.88608038
+1.732910156	0.88622254
+1.733398438	0.88636464
+1.733886719	0.88650662
+1.734375000	0.88664854
+1.734863281	0.88679039
+1.735351563	0.88693213
+1.735839844	0.88707381
+1.736328125	0.88721538
+1.736816406	0.88735688
+1.737304688	0.88749826
+1.737792969	0.88763964
+1.738281250	0.88778085
+1.738769531	0.88792205
+1.739257813	0.88806313
+1.739746094	0.8882041
+1.740234375	0.88834506
+1.740722656	0.88848585
+1.741210938	0.88862664
+1.741699219	0.8887673
+1.742187500	0.88890785
+1.742675781	0.88904834
+1.743164063	0.88918877
+1.743652344	0.88932908
+1.744140625	0.88946933
+1.744628906	0.88960952
+1.745117188	0.88974959
+1.745605469	0.8898896
+1.746093750	0.89002949
+1.746582031	0.89016932
+1.747070313	0.89030904
+1.747558594	0.89044875
+1.748046875	0.89058828
+1.748535156	0.89072782
+1.749023438	0.89086717
+1.749511719	0.89100653
+1.750000000	0.89114577
+1.750488281	0.89128494
+1.750976563	0.891424
+1.751464844	0.891563
+1.751953125	0.89170188
+1.752441406	0.8918407
+1.752929688	0.89197946
+1.753417969	0.8921181
+1.753906250	0.89225668
+1.754394531	0.89239514
+1.754882813	0.89253354
+1.755371094	0.89267188
+1.755859375	0.89281011
+1.756347656	0.89294827
+1.756835938	0.89308631
+1.757324219	0.8932243
+1.757812500	0.89336222
+1.758300781	0.89350003
+1.758789063	0.89363772
+1.759277344	0.8937754
+1.759765625	0.89391297
+1.760253906	0.89405042
+1.760742188	0.89418781
+1.761230469	0.89432514
+1.761718750	0.89446235
+1.762207031	0.8945995
+1.762695313	0.89473653
+1.763183594	0.8948735
+1.763671875	0.89501041
+1.764160156	0.8951472
+1.764648438	0.89528394
+1.765136719	0.89542055
+1.765625000	0.89555711
+1.766113281	0.8956936
+1.766601563	0.89582998
+1.767089844	0.89596623
+1.767578125	0.89610249
+1.768066406	0.89623857
+1.768554688	0.89637464
+1.769042969	0.8965106
+1.769531250	0.8966465
+1.770019531	0.89678228
+1.770507813	0.89691794
+1.770996094	0.8970536
+1.771484375	0.89718914
+1.771972656	0.89732456
+1.772460938	0.89745992
+1.772949219	0.89759523
+1.773437500	0.89773041
+1.773925781	0.89786553
+1.774414063	0.8980006
+1.774902344	0.89813554
+1.775390625	0.89827037
+1.775878906	0.89840519
+1.776367188	0.89853984
+1.776855469	0.89867449
+1.777343750	0.89880902
+1.777832031	0.89894342
+1.778320313	0.89907777
+1.778808594	0.89921206
+1.779296875	0.89934623
+1.779785156	0.89948034
+1.780273438	0.89961433
+1.780761719	0.89974827
+1.781250000	0.89988214
+1.781738281	0.90001589
+1.782226563	0.90014958
+1.782714844	0.90028316
+1.783203125	0.90041667
+1.783691406	0.90055007
+1.784179688	0.9006834
+1.784667969	0.90081668
+1.785156250	0.90094984
+1.785644531	0.90108293
+1.786132813	0.90121591
+1.786621094	0.90134883
+1.787109375	0.90148169
+1.787597656	0.90161443
+1.788085938	0.90174711
+1.788574219	0.90187967
+1.789062500	0.90201217
+1.789550781	0.90214455
+1.790039063	0.90227687
+1.790527344	0.90240908
+1.791015625	0.90254128
+1.791503906	0.9026733
+1.791992188	0.90280527
+1.792480469	0.90293717
+1.792968750	0.90306902
+1.793457031	0.90320075
+1.793945313	0.90333235
+1.794433594	0.9034639
+1.794921875	0.90359539
+1.795410156	0.90372676
+1.795898438	0.90385807
+1.796386719	0.90398932
+1.796875000	0.90412045
+1.797363281	0.90425146
+1.797851563	0.90438241
+1.798339844	0.9045133
+1.798828125	0.90464407
+1.799316406	0.90477479
+1.799804688	0.90490544
+1.800292969	0.90503597
+1.800781250	0.90516639
+1.801269531	0.90529674
+1.801757813	0.90542704
+1.802246094	0.90555722
+1.802734375	0.90568733
+1.803222656	0.90581739
+1.803710938	0.90594727
+1.804199219	0.90607715
+1.804687500	0.90620691
+1.805175781	0.90633661
+1.805664063	0.90646619
+1.806152344	0.90659571
+1.806640625	0.90672511
+1.807128906	0.90685445
+1.807617188	0.90698373
+1.808105469	0.9071129
+1.808593750	0.907242
+1.809082031	0.90737098
+1.809570313	0.90749991
+1.810058594	0.90762872
+1.810546875	0.90775746
+1.811035156	0.90788609
+1.811523438	0.90801471
+1.812011719	0.90814316
+1.812500000	0.90827155
+1.812988281	0.90839988
+1.813476563	0.90852809
+1.813964844	0.90865624
+1.814453125	0.90878433
+1.814941406	0.9089123
+1.815429688	0.90904015
+1.815917969	0.909168
+1.816406250	0.90929568
+1.816894531	0.90942335
+1.817382813	0.90955085
+1.817871094	0.90967834
+1.818359375	0.90980572
+1.818847656	0.90993297
+1.819335938	0.91006023
+1.819824219	0.9101873
+1.820312500	0.91031432
+1.820800781	0.91044128
+1.821289063	0.91056818
+1.821777344	0.9106949
+1.822265625	0.91082162
+1.822753906	0.91094822
+1.823242188	0.91107476
+1.823730469	0.91120118
+1.824218750	0.91132748
+1.824707031	0.91145378
+1.825195313	0.91157997
+1.825683594	0.91170603
+1.826171875	0.91183203
+1.826660156	0.91195798
+1.827148438	0.9120838
+1.827636719	0.91220951
+1.828125000	0.91233516
+1.828613281	0.91246074
+1.829101563	0.91258627
+1.829589844	0.91271162
+1.830078125	0.91283697
+1.830566406	0.9129622
+1.831054688	0.91308731
+1.831542969	0.91321242
+1.832031250	0.91333735
+1.832519531	0.91346222
+1.833007813	0.91358703
+1.833496094	0.91371179
+1.833984375	0.91383636
+1.834472656	0.91396093
+1.834960938	0.91408539
+1.835449219	0.91420978
+1.835937500	0.91433406
+1.836425781	0.91445822
+1.836914063	0.91458237
+1.837402344	0.91470635
+1.837890625	0.91483033
+1.838378906	0.91495419
+1.838867188	0.91507792
+1.839355469	0.9152016
+1.839843750	0.91532522
+1.840332031	0.91544873
+1.840820313	0.91557217
+1.841308594	0.91569549
+1.841796875	0.91581875
+1.842285156	0.91594189
+1.842773438	0.91606498
+1.843261719	0.91618794
+1.843750000	0.91631085
+1.844238281	0.91643369
+1.844726563	0.91655642
+1.845214844	0.91667908
+1.845703125	0.91680163
+1.846191406	0.91692412
+1.846679688	0.91704649
+1.847167969	0.9171688
+1.847656250	0.91729099
+1.848144531	0.91741312
+1.848632813	0.91753519
+1.849121094	0.91765714
+1.849609375	0.91777897
+1.850097656	0.9179008
+1.850585938	0.91802245
+1.851074219	0.91814411
+1.851562500	0.91826558
+1.852050781	0.91838706
+1.852539063	0.91850841
+1.853027344	0.91862965
+1.853515625	0.91875082
+1.854003906	0.91887194
+1.854492188	0.91899294
+1.854980469	0.91911387
+1.855468750	0.91923469
+1.855957031	0.91935545
+1.856445313	0.91947609
+1.856933594	0.91959667
+1.857421875	0.91971713
+1.857910156	0.91983753
+1.858398438	0.91995788
+1.858886719	0.9200781
+1.859375000	0.9201982
+1.859863281	0.92031831
+1.860351563	0.92043823
+1.860839844	0.92055809
+1.861328125	0.9206779
+1.861816406	0.92079765
+1.862304688	0.92091721
+1.862792969	0.92103678
+1.863281250	0.92115623
+1.863769531	0.92127556
+1.864257813	0.92139482
+1.864746094	0.92151403
+1.865234375	0.92163312
+1.865722656	0.92175215
+1.866210938	0.92187107
+1.866699219	0.92198992
+1.867187500	0.92210865
+1.867675781	0.92222732
+1.868164063	0.92234594
+1.868652344	0.92246443
+1.869140625	0.92258281
+1.869628906	0.92270112
+1.870117188	0.92281938
+1.870605469	0.92293751
+1.871093750	0.92305559
+1.871582031	0.92317355
+1.872070313	0.92329144
+1.872558594	0.92340922
+1.873046875	0.92352694
+1.873535156	0.92364454
+1.874023438	0.92376208
+1.874511719	0.9238795
+1.875000000	0.92399687
+1.875488281	0.92411417
+1.875976563	0.92423135
+1.876464844	0.92434847
+1.876953125	0.92446548
+1.877441406	0.92458242
+1.877929688	0.92469925
+1.878417969	0.92481601
+1.878906250	0.92493266
+1.879394531	0.92504925
+1.879882813	0.92516571
+1.880371094	0.92528212
+1.880859375	0.92539847
+1.881347656	0.9255147
+1.881835938	0.92563081
+1.882324219	0.92574686
+1.882812500	0.92586285
+1.883300781	0.92597872
+1.883789063	0.92609453
+1.884277344	0.92621022
+1.884765625	0.92632586
+1.885253906	0.92644137
+1.885742188	0.92655683
+1.886230469	0.92667222
+1.886718750	0.9267875
+1.887207031	0.92690265
+1.887695313	0.92701775
+1.888183594	0.92713279
+1.888671875	0.9272477
+1.889160156	0.9273625
+1.889648438	0.9274773
+1.890136719	0.92759192
+1.890625000	0.92770648
+1.891113281	0.92782098
+1.891601563	0.92793542
+1.892089844	0.92804968
+1.892578125	0.92816395
+1.893066406	0.92827809
+1.893554688	0.92839211
+1.894042969	0.92850608
+1.894531250	0.92861998
+1.895019531	0.92873377
+1.895507813	0.92884743
+1.895996094	0.92896104
+1.896484375	0.92907459
+1.896972656	0.92918801
+1.897460938	0.92930138
+1.897949219	0.92941463
+1.898437500	0.92952782
+1.898925781	0.92964089
+1.899414063	0.9297539
+1.899902344	0.92986679
+1.900390625	0.92997962
+1.900878906	0.93009239
+1.901367188	0.93020505
+1.901855469	0.93031758
+1.902343750	0.93043005
+1.902832031	0.93054247
+1.903320313	0.93065476
+1.903808594	0.93076694
+1.904296875	0.93087906
+1.904785156	0.93099111
+1.905273438	0.93110305
+1.905761719	0.93121493
+1.906250000	0.93132669
+1.906738281	0.93143839
+1.907226563	0.93154997
+1.907714844	0.93166149
+1.908203125	0.93177295
+1.908691406	0.93188429
+1.909179688	0.93199551
+1.909667969	0.93210667
+1.910156250	0.93221778
+1.910644531	0.93232876
+1.911132813	0.93243963
+1.911621094	0.93255043
+1.912109375	0.93266118
+1.912597656	0.9327718
+1.913085938	0.93288237
+1.913574219	0.93299282
+1.914062500	0.93310314
+1.914550781	0.93321347
+1.915039063	0.93332362
+1.915527344	0.93343377
+1.916015625	0.9335438
+1.916503906	0.93365371
+1.916992188	0.93376356
+1.917480469	0.9338733
+1.917968750	0.93398297
+1.918457031	0.93409252
+1.918945313	0.93420202
+1.919433594	0.93431145
+1.919921875	0.93442076
+1.920410156	0.93452996
+1.920898438	0.93463916
+1.921386719	0.93474817
+1.921875000	0.93485713
+1.922363281	0.93496603
+1.922851563	0.93507481
+1.923339844	0.93518353
+1.923828125	0.93529212
+1.924316406	0.93540066
+1.924804688	0.93550909
+1.925292969	0.93561745
+1.925781250	0.93572569
+1.926269531	0.93583387
+1.926757813	0.93594193
+1.927246094	0.93604994
+1.927734375	0.93615782
+1.928222656	0.93626565
+1.928710938	0.93637341
+1.929199219	0.93648106
+1.929687500	0.93658859
+1.930175781	0.93669605
+1.930664063	0.93680346
+1.931152344	0.93691075
+1.931640625	0.93701792
+1.932128906	0.93712503
+1.932617188	0.93723208
+1.933105469	0.93733901
+1.933593750	0.93744588
+1.934082031	0.93755263
+1.934570313	0.93765932
+1.935058594	0.9377659
+1.935546875	0.93787235
+1.936035156	0.9379788
+1.936523438	0.93808508
+1.937011719	0.93819135
+1.937500000	0.93829745
+1.937988281	0.93840355
+1.938476563	0.93850952
+1.938964844	0.93861538
+1.939453125	0.93872118
+1.939941406	0.93882686
+1.940429688	0.93893248
+1.940917969	0.93903798
+1.941406250	0.93914342
+1.941894531	0.9392488
+1.942382813	0.93935406
+1.942871094	0.9394592
+1.943359375	0.93956429
+1.943847656	0.93966931
+1.944335938	0.93977422
+1.944824219	0.939879
+1.945312500	0.93998373
+1.945800781	0.94008839
+1.946289063	0.94019294
+1.946777344	0.94029742
+1.947265625	0.94040179
+1.947753906	0.94050604
+1.948242188	0.94061029
+1.948730469	0.94071436
+1.949218750	0.94081837
+1.949707031	0.94092232
+1.950195313	0.94102615
+1.950683594	0.94112992
+1.951171875	0.94123358
+1.951660156	0.94133717
+1.952148438	0.94144064
+1.952636719	0.94154406
+1.953125000	0.94164735
+1.953613281	0.94175059
+1.954101563	0.94185376
+1.954589844	0.94195676
+1.955078125	0.94205976
+1.955566406	0.94216263
+1.956054688	0.94226539
+1.956542969	0.94236809
+1.957031250	0.94247067
+1.957519531	0.94257319
+1.958007813	0.94267565
+1.958496094	0.94277793
+1.958984375	0.94288021
+1.959472656	0.94298238
+1.959960938	0.94308442
+1.960449219	0.9431864
+1.960937500	0.94328833
+1.961425781	0.94339013
+1.961914063	0.94349182
+1.962402344	0.94359344
+1.962890625	0.94369501
+1.963378906	0.94379646
+1.963867188	0.94389778
+1.964355469	0.94399905
+1.964843750	0.94410026
+1.965332031	0.94420135
+1.965820313	0.94430238
+1.966308594	0.94440329
+1.966796875	0.94450408
+1.967285156	0.94460481
+1.967773438	0.94470549
+1.968261719	0.94480604
+1.968750000	0.94490653
+1.969238281	0.94500691
+1.969726563	0.94510722
+1.970214844	0.94520742
+1.970703125	0.94530749
+1.971191406	0.94540751
+1.971679688	0.94550747
+1.972167969	0.9456073
+1.972656250	0.94570708
+1.973144531	0.94580674
+1.973632813	0.94590634
+1.974121094	0.94600582
+1.974609375	0.94610524
+1.975097656	0.94620454
+1.975585938	0.94630378
+1.976074219	0.94640291
+1.976562500	0.94650197
+1.977050781	0.94660091
+1.977539063	0.9466998
+1.978027344	0.94679856
+1.978515625	0.94689727
+1.979003906	0.94699585
+1.979492188	0.94709438
+1.979980469	0.94719279
+1.980468750	0.94729114
+1.980957031	0.94738936
+1.981445313	0.94748753
+1.981933594	0.94758558
+1.982421875	0.94768357
+1.982910156	0.94778144
+1.983398438	0.94787925
+1.983886719	0.94797695
+1.984375000	0.94807458
+1.984863281	0.94817209
+1.985351563	0.94826955
+1.985839844	0.94836694
+1.986328125	0.94846416
+1.986816406	0.94856137
+1.987304688	0.94865841
+1.987792969	0.94875544
+1.988281250	0.94885236
+1.988769531	0.94894916
+1.989257813	0.9490459
+1.989746094	0.94914252
+1.990234375	0.94923908
+1.990722656	0.94933552
+1.991210938	0.9494319
+1.991699219	0.94952816
+1.992187500	0.94962436
+1.992675781	0.9497205
+1.993164063	0.94981647
+1.993652344	0.94991243
+1.994140625	0.95000827
+1.994628906	0.950104
+1.995117188	0.95019966
+1.995605469	0.95029521
+1.996093750	0.9503907
+1.996582031	0.95048606
+1.997070313	0.95058137
+1.997558594	0.95067656
+1.998046875	0.95077169
+1.998535156	0.9508667
+1.999023438	0.95096165
+1.999511719	0.95105654
diff --git a/gstlal-burst/tests/tests_pytest/test_trigger_01.py b/gstlal-burst/tests/tests_pytest/test_trigger_01.py
new file mode 100644
index 0000000000000000000000000000000000000000..d733d2f4f90f308d6064c864a90f5dde25775dc0
--- /dev/null
+++ b/gstlal-burst/tests/tests_pytest/test_trigger_01.py
@@ -0,0 +1,189 @@
+"""Unittests for trigger test 01
+
+"""
+
+import os
+from collections import deque
+from io import StringIO
+
+import gi
+
+from gstlal import pipeparts, simplehandler
+from utils import common
+
+gi.require_version('Gst', '1.0')
+from gi.repository import GObject
+from gi.repository import Gst
+
+
+####################
+# 
+#      classes
+#
+####################   
+
+
+class MultiChannelHandler(simplehandler.Handler):
+	def __init__(self, *args, **kwargs):
+		self.output = kwargs.pop("output")
+		self.instrument = kwargs.pop("instrument")
+		super(MultiChannelHandler, self).__init__(*args, **kwargs)
+		self.timedeq = deque(maxlen=10000)
+
+	def do_on_message(self, bus, message):
+		return False
+
+	def prehandler(self, elem):
+		buf = elem.emit("pull-preroll")
+		del buf
+		return Gst.FlowReturn.OK
+
+	# def bufhandler(self, elem, sink_dict):
+	def bufhandler(self, elem):
+		buf = elem.emit("pull-sample").get_buffer()
+		buftime = int(buf.pts / 1e9)
+		(result, mapinfo) = buf.map(Gst.MapFlags.READ)
+		assert result
+		if mapinfo.data:
+			data = StringIO.StringIO(mapinfo.data).getvalue()
+			# channel = sink_dict[elem]
+			fdata = ""
+			for line in data.split('\n'):
+				if len(line) > 0:
+					# fdata += "%s\t" % channel + line.rstrip('\r') + "\n"
+					fdata += line.rstrip('\r') + "\n"
+			self.timedeq.append(buftime)
+		else:
+			buf.unmap(mapinfo)
+			del buf
+			return Gst.FlowReturn.OK
+
+		# Save a "latest"
+		self.to_trigger_file(os.path.join(self.output, "output_triggers.txt"), fdata)
+
+		buf.unmap(mapinfo)
+		del buf
+		return Gst.FlowReturn.OK
+
+	def to_trigger_file(self, path, data):
+		# print path
+		with open(path, 'a') as f:
+			f.write(data)
+
+
+#
+# =============================================================================
+#
+#                               Pipeline Builder
+#
+# =============================================================================
+#
+
+
+def build_and_run(pipelinefunc, name, segment=None, **pipelinefunc_kwargs):
+	for key, value in pipelinefunc_kwargs.items():
+		print("{0} = {1}".format(key, value))
+	print("=== Running Test %s ===" % name)
+	mainloop = GObject.MainLoop()
+	pipeline = Gst.Pipeline(name=name)
+	handler = MultiChannelHandler(mainloop, pipeline, output="./", instrument=None)
+	pipeline = pipelinefunc(pipeline, name, handler, **pipelinefunc_kwargs)
+	if segment is not None:
+		if pipeline.set_state(Gst.State.PAUSED) == Gst.StateChangeReturn.FAILURE:
+			raise RuntimeError("pipeline failed to enter PLAYING state")
+		pipeline.seek(1.0, Gst.Format(Gst.Format.TIME), Gst.SeekFlags.FLUSH, Gst.SeekType.SET, segment[0].ns(), Gst.SeekType.SET, segment[1].ns())
+	# TODO: figure out why the below line causes process to crash
+	# if pipeline.set_state(Gst.State.PLAYING) == Gst.StateChangeReturn.FAILURE:
+	# 	raise RuntimeError("pipeline failed to enter PLAYING state")
+	# mainloop.run()
+
+
+#
+# =============================================================================
+#
+#                                  Pipelines
+#
+# =============================================================================
+#
+
+
+#
+# check for proper peak finding
+#
+
+
+def peak_test_01a(pipeline, name, handler):
+	#
+	# try changing these.  test should still work!
+	#
+
+	initial_channels = 2
+	rate = 2048  # Hz
+	width = 32
+	sine_frequency = 1
+	gap_frequency = 0.1  # Hz
+	gap_threshold = 0.7  # of 1
+	buffer_length = 1.0  # seconds
+	test_duration = 10.0  # seconds
+	peak_window = 2048  # samples
+	wave = 0
+
+	#
+	# build pipeline
+	#
+
+	head = common.gapped_test_src(pipeline, buffer_length=buffer_length, rate=rate, width=width, channels=initial_channels, test_duration=test_duration,
+								  gap_frequency=gap_frequency, gap_threshold=gap_threshold, control_dump_filename="%s_control.dump" % name)
+	head = pipeparts.mktogglecomplex(pipeline, head)
+	head = pipeparts.mktaginject(pipeline, head, "instrument=H1,channel-name=LSC-STRAIN,units=strain")
+
+	# head = common.gapped_complex_test_src(pipeline, buffer_length = buffer_length, rate = in_rate, test_duration = test_duration, wave = wave, freq = sine_frequency, gap_frequency = gap_frequency, gap_threshold = gap_threshold, control_dump_filename = "itac_test_01a_control.dump", tags = "instrument=H1,channel-name=LSC-STRAIN,units=strain")
+	# head = tee = pipeparts.mktee(pipeline, head)
+	# pipeparts.mktrigger(pipeline, head, peak_window, "test_bank.xml")
+
+	# Does not recieve EOS, hangs
+	# pipeparts.mktrigger(pipeline, head, peak_window,autocorrelation_matrix = numpy.ones((1,21), dtype=numpy.complex))
+
+	# head = pipeparts.mkqueue(pipeline, pipeparts.mkitac(pipeline, head, peak_window, "test_bank.xml", autocorrelation_matrix = numpy.array([[0+0.j, 0+0.j, 1+1.j, 0+0.j, 0+0.j]])))
+	# head = pipeparts.mkprogressreport(pipeline, head, "test")
+
+	#
+	# output the before and after
+	#
+	# pipeparts.mknxydumpsink(pipeline, pipeparts.mkqueue(pipeline, head), "%s_out.dump" % name)
+	# pipeparts.mkfakesink(pipeline, head)
+
+	# a = pipeparts.mkappsink(pipeline, pipeparts.mkqueue(pipeline, head))
+
+	head = pipeparts.mkgeneric(pipeline, head, "lal_nxydump")
+
+	sink = pipeparts.mkappsink(pipeline, head, max_buffers=1, sync=False)
+	sink.connect("new-sample", handler.bufhandler)
+	sink.connect("new-preroll", handler.prehandler)
+
+	# outfile = open("itac_test_01a_out.dump", "w")
+
+	# def dump_triggers(elem, output = outfile):
+	#	for row in SnglInspiralTable.from_buffer(elem.emit("pull-buffer")):
+	#		print >>outfile, row.end_time + row.end_time_ns*1e-9, row.snr, row.chisq, row.chisq_dof
+
+	# a.connect_after("new-buffer", dump_triggers)
+	# pipeparts.mknxydumpsink(pipeline, pipeparts.mktogglecomplex(pipeline, pipeparts.mkqueue(pipeline, tee)), "itac_test_01a_in.dump")
+
+	#
+	# done
+	#
+
+	# if "GST_DEBUG_DUMP_DOT_DIR" in os.environ:
+	#	gst.DEBUG_BIN_TO_DOT_FILE(pipeline, gst.DEBUG_GRAPH_SHOW_ALL, "peak_test_01a")
+
+	return pipeline
+
+
+class TestTrigger01:
+	"""Test class group for tigger 01"""
+
+	def test_peak_01a(self):
+		"""Test peak"""
+		build_and_run(peak_test_01a, "peak_test_01a")
+		assert True
diff --git a/gstlal-burst/tests/tests_pytest/utils/common.py b/gstlal-burst/tests/tests_pytest/utils/common.py
new file mode 100644
index 0000000000000000000000000000000000000000..5842024b1c8596a067e713a2a755d7151ca6f415
--- /dev/null
+++ b/gstlal-burst/tests/tests_pytest/utils/common.py
@@ -0,0 +1,171 @@
+# Copyright (C) 2009--2011,2013  Kipp Cannon
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+#
+# =============================================================================
+#
+#                                   Preamble
+#
+# =============================================================================
+#
+
+
+import numpy
+import sys
+
+
+import gi
+gi.require_version('Gst', '1.0')
+from gi.repository import GObject
+from gi.repository import Gst
+
+
+from gstlal import pipeparts
+from gstlal import pipeio
+from gstlal import simplehandler
+
+
+GObject.threads_init()
+Gst.init(None)
+
+
+if sys.byteorder == "little":
+	BYTE_ORDER = "LE"
+else:
+	BYTE_ORDER = "BE"
+
+
+#
+# =============================================================================
+#
+#                                  Utilities
+#
+# =============================================================================
+#
+
+
+def complex_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, test_duration = 10.0, wave = 5, freq = 0, is_live = False, verbose = True):
+	assert not width % 8
+	samplesperbuffer = int(round(buffer_length * rate))
+	head = pipeparts.mkaudiotestsrc(pipeline, wave = wave, freq = freq, volume = 1, blocksize = (width / 8 * 2) * samplesperbuffer, samplesperbuffer = samplesperbuffer, num_buffers = int(round(test_duration / buffer_length)), is_live = is_live)
+	head = pipeparts.mkcapsfilter(pipeline, head, "audio/x-raw, format=Z%d%s, rate=%d, channels=2" % (width, BYTE_ORDER, rate))
+	head = pipeparts.mktogglecomplex(pipeline, head)
+	if verbose:
+		head = pipeparts.mkprogressreport(pipeline, head, "src")
+	return head
+
+
+def test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, channels = 1, test_duration = 10.0, wave = 5, freq = 0, is_live = False, verbose = True):
+	assert not width % 8
+	if wave == "ligo":
+		head = pipeparts.mkfakeLIGOsrc(pipeline, instrument = "H1", channel_name = "LSC-STRAIN")
+	else:
+		samplesperbuffer = int(round(buffer_length * rate))
+		head = pipeparts.mkaudiotestsrc(pipeline, wave = wave, freq = freq, volume = 1, blocksize = (width / 8 * channels) * samplesperbuffer, samplesperbuffer = samplesperbuffer, num_buffers = int(round(test_duration / buffer_length)), is_live = is_live)
+		head = pipeparts.mkcapsfilter(pipeline, head, "audio/x-raw, format=F%d%s, rate=%d, channels=%d" % (width, BYTE_ORDER, rate, channels))
+	if verbose:
+		head = pipeparts.mkprogressreport(pipeline, head, "src")
+	return head
+
+
+def add_gaps(pipeline, head, buffer_length, rate, test_duration, gap_frequency = None, gap_threshold = None, control_dump_filename = None):
+	if gap_frequency is None:
+		return head
+	samplesperbuffer = int(round(buffer_length * rate))
+	control = pipeparts.mkcapsfilter(pipeline, pipeparts.mkaudiotestsrc(pipeline, wave = 0, freq = gap_frequency, volume = 1, blocksize = 4 * samplesperbuffer, samplesperbuffer = samplesperbuffer, num_buffers = int(round(test_duration / buffer_length))), "audio/x-raw, format=F32%s, rate=%d, channels=1" % (BYTE_ORDER, rate))
+	if control_dump_filename is not None:
+		control = pipeparts.mknxydumpsinktee(pipeline, pipeparts.mkqueue(pipeline, control), control_dump_filename)
+		control = pipeparts.mkqueue(pipeline, control)
+	return pipeparts.mkgate(pipeline, head, control = control, threshold = gap_threshold)
+
+
+def gapped_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, channels = 1, test_duration = 10.0, wave = 5, freq = 0, gap_frequency = None, gap_threshold = None, control_dump_filename = None, tags = None, is_live = False, verbose = True):
+	src = test_src(pipeline, buffer_length = buffer_length, rate = rate, width = width, channels = channels, test_duration = test_duration, wave = wave, freq = freq, is_live = is_live, verbose = verbose)
+	if tags is not None:
+		src = pipeparts.mktaginject(pipeline, src, tags)
+	return add_gaps(pipeline, src, buffer_length = buffer_length, rate = rate, test_duration = test_duration, gap_frequency = gap_frequency, gap_threshold = gap_threshold, control_dump_filename = control_dump_filename)
+
+
+def gapped_complex_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, test_duration = 10.0, wave = 5, freq = 0, gap_frequency = None, gap_threshold = None, control_dump_filename = None, tags = None, is_live = False, verbose = True):
+	src = complex_test_src(pipeline, buffer_length = buffer_length, rate = rate, width = width, test_duration = test_duration, wave = wave, freq = freq, is_live = is_live, verbose = verbose)
+	if tags is not None:
+		src = pipeparts.mktaginject(pipeline, src, tags)
+	return pipeparts.mktogglecomplex(pipeline, add_gaps(pipeline, pipeparts.mktogglecomplex(pipeline, src), buffer_length = buffer_length, rate = rate, test_duration = test_duration, gap_frequency = gap_frequency, gap_threshold = gap_threshold, control_dump_filename = control_dump_filename))
+
+
+#
+# =============================================================================
+#
+#                               Pipeline Builder
+#
+# =============================================================================
+#
+
+
+def build_and_run(pipelinefunc, name, segment = None, **pipelinefunc_kwargs):
+	print("=== Running Test %s ===" % name, file=sys.stderr)
+	mainloop = GObject.MainLoop()
+	pipeline = pipelinefunc(Gst.Pipeline(name = name), name, **pipelinefunc_kwargs)
+	handler = simplehandler.Handler(mainloop, pipeline)
+	if segment is not None:
+		if pipeline.set_state(Gst.State.PAUSED) == Gst.StateChangeReturn.FAILURE:
+			raise RuntimeError("pipeline failed to enter PLAYING state")
+		pipeline.seek(1.0, Gst.Format(Gst.Format.TIME), Gst.SeekFlags.FLUSH, Gst.SeekType.SET, segment[0].ns(), Gst.SeekType.SET, segment[1].ns())
+	if pipeline.set_state(Gst.State.PLAYING) == Gst.StateChangeReturn.FAILURE:
+		raise RuntimeError("pipeline failed to enter PLAYING state")
+	mainloop.run()
+
+
+#
+# =============================================================================
+#
+#                        Push Arrays Through an Element
+#
+# =============================================================================
+#
+
+
+def transform_arrays(input_arrays, elemfunc, name, rate = 1, **elemfunc_kwargs):
+	input_arrays = list(input_arrays)	# so we can modify it
+	output_arrays = []
+
+	pipeline = Gst.Pipeline(name = name)
+
+	head = pipeparts.mkgeneric(pipeline, None, "appsrc", caps = pipeio.caps_from_array(input_arrays[0], rate = rate))
+	def need_data(elem, arg, input_array_rate_pair):
+		input_arrays, rate = input_array_rate_pair
+		if input_arrays:
+			arr = input_arrays.pop(0)
+			elem.set_property("caps", pipeio.caps_from_array(arr, rate))
+			buf = pipeio.audio_buffer_from_array(arr, 0, 0, rate)
+			elem.emit("push-buffer", pipeio.audio_buffer_from_array(arr, 0, 0, rate))
+			return Gst.FlowReturn.OK
+		else:
+			elem.emit("end-of-stream")
+			return Gst.FlowReturn.EOS
+	head.connect("need-data", need_data, (input_arrays, rate))
+
+	head = elemfunc(pipeline, head, **elemfunc_kwargs)
+
+	head = pipeparts.mkappsink(pipeline, head)
+	def appsink_get_array(elem, output_arrays):
+		output_arrays.append(pipeio.array_from_audio_sample(elem.emit("pull-sample")))
+		return Gst.FlowReturn.OK
+
+	head.connect("new-sample", appsink_get_array, output_arrays)
+	build_and_run((lambda *args, **kwargs: pipeline), name)
+
+	return output_arrays
diff --git a/gstlal-calibration/pytest.ini b/gstlal-calibration/pytest.ini
new file mode 100644
index 0000000000000000000000000000000000000000..6c2fc59b24dc9f978f466afae074bdb70e6d74d1
--- /dev/null
+++ b/gstlal-calibration/pytest.ini
@@ -0,0 +1,7 @@
+# Configuration file for pytest within gstlal-calibration
+[pytest]
+norecursedirs = gst/python share tests
+testpaths = tests/tests_pytest python
+addopts =
+    -v
+    --doctest-modules
diff --git a/gstlal-calibration/tests/tests_pytest/test_pyfilter.py b/gstlal-calibration/tests/tests_pytest/test_pyfilter.py
new file mode 100755
index 0000000000000000000000000000000000000000..1208ac9b06a51fe9ea9cfe85d5a99e2b7ceb1cc4
--- /dev/null
+++ b/gstlal-calibration/tests/tests_pytest/test_pyfilter.py
@@ -0,0 +1,69 @@
+#!/usr/bin/env python3
+# Copyright (C) 2016  Aaron Viets
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+
+from gstlal import calibration_parts
+from gstlal import pipeparts
+from utils import common
+
+
+#
+# =============================================================================
+#
+#				  Pipelines
+#
+# =============================================================================
+#
+
+def pyfilter_test_01(pipeline, name):
+	#
+	# This test removes the DC component from a stream of ones (i.e., the result should be zero)
+	#
+
+	rate = 16384  # Hz
+	buffer_length = 1.0  # seconds
+	test_duration = 10.0  # seconds
+	DC = 1.0
+	wave = 0
+	freq = 90
+	volume = 1.0
+
+	#
+	# build pipeline
+	#
+
+	src = common.test_src(pipeline, buffer_length=buffer_length, rate=rate, freq=freq, test_duration=test_duration, wave=wave, width=64)
+	head = pipeparts.mkaudioamplify(pipeline, src, volume)
+	head = pipeparts.mkgeneric(pipeline, head, "lal_add_constant", value=DC)
+	head = pipeparts.mktee(pipeline, head)
+	pipeparts.mknxydumpsink(pipeline, head, "%s_in.txt" % name)
+	head = calibration_parts.bandstop(pipeline, head, rate)
+	pipeparts.mknxydumpsink(pipeline, head, "%s_out.txt" % name)
+
+	#
+	# done
+	#
+
+	return pipeline
+
+
+class TestPyFilter:
+	"""PyFilter test class"""
+
+	def test_pyfilter(self):
+		"""Test pyfilter"""
+		common.build_and_run(pyfilter_test_01, "pyfilter_test_01")
diff --git a/gstlal-calibration/tests/tests_pytest/utils/__init__.py b/gstlal-calibration/tests/tests_pytest/utils/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/gstlal-calibration/tests/tests_pytest/utils/common.py b/gstlal-calibration/tests/tests_pytest/utils/common.py
new file mode 100644
index 0000000000000000000000000000000000000000..42a2225d5c911661aa1b0ed0e35d48d1cb2007f5
--- /dev/null
+++ b/gstlal-calibration/tests/tests_pytest/utils/common.py
@@ -0,0 +1,185 @@
+# Copyright (C) 2009--2011,2013  Kipp Cannon
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+#
+# =============================================================================
+#
+#				   Preamble
+#
+# =============================================================================
+#
+
+
+import numpy
+import sys
+
+
+import gi
+gi.require_version('Gst', '1.0')
+from gi.repository import GObject
+from gi.repository import Gst
+
+
+from gstlal import pipeparts
+from gstlal import pipeio
+from gstlal import simplehandler
+from gstlal import datasource
+
+
+GObject.threads_init()
+Gst.init(None)
+
+
+if sys.byteorder == "little":
+	BYTE_ORDER = "LE"
+else:
+	BYTE_ORDER = "BE"
+
+
+#
+# =============================================================================
+#
+#				  Utilities
+#
+# =============================================================================
+#
+
+
+def complex_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, test_duration = 10.0, wave = 5, freq = 0, is_live = False, verbose = True, src_suffix = ""):
+	head = pipeparts.mkaudiotestsrc(pipeline, wave = wave, freq = freq, samplesperbuffer = int(buffer_length * rate), volume = 1, num_buffers = int(test_duration / buffer_length), is_live = is_live)
+	head = pipeparts.mkcapsfilter(pipeline, head, "audio/x-raw, format=F%d%s, rate=%d, channels=2" % (width, BYTE_ORDER, rate))
+	head = pipeparts.mktogglecomplex(pipeline, head)
+	if verbose:
+		head = pipeparts.mkprogressreport(pipeline, head, "src%s" % src_suffix)
+	return head
+
+def int_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, channels = 1, test_duration = 10.0, wave = 5, freq = 0, is_live = False, verbose = True):
+	head = pipeparts.mkaudiotestsrc(pipeline, wave = wave, freq = freq, samplesperbuffer = int(buffer_length * rate), volume = 1, num_buffers = int(test_duration / buffer_length), is_live = is_live)
+	head = pipeparts.mkcapsfilter(pipeline, head, "audio/x-raw, format=S%d%s, rate=%d, channels=%d" % (width, BYTE_ORDER, rate, channels))
+	if verbose:
+		head = pipeparts.mkprogressreport(pipeline, head, "src")
+	return head
+
+def test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, channels = 1, test_duration = 10.0, wave = 5, freq = 0, volume = 1, is_live = False, verbose = True, src_suffix = ""):
+	if wave == "ligo":
+		head = pipeparts.mkfakeLIGOsrc(pipeline, instrument = "H1", channel_name = "LSC-STRAIN")
+	else:
+		head = pipeparts.mkaudiotestsrc(pipeline, wave = wave, freq = freq, volume = volume, samplesperbuffer = int(buffer_length * rate), num_buffers = int(test_duration / buffer_length), is_live = is_live)
+		head = pipeparts.mkcapsfilter(pipeline, head, "audio/x-raw, format=F%d%s, rate=%d, channels=%d, channel-mask=(bitmask)0x0" % (width, BYTE_ORDER, rate, channels))
+	if verbose:
+		head = pipeparts.mkprogressreport(pipeline, head, "src%s" % src_suffix)
+	return head
+
+
+def gapped_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, channels = 1, test_duration = 10.0, wave = 5, freq = 0, volume = 0.8, gap_frequency = None, gap_threshold = None, control_dump_filename = None, is_live = False, verbose = True):
+	src = test_src(pipeline, buffer_length = buffer_length, rate = rate, width = width, channels = channels, test_duration = test_duration, wave = wave, freq = freq, volume = volume, is_live = is_live, verbose = verbose)
+	if gap_frequency is None:
+		return src
+	control = pipeparts.mkcapsfilter(pipeline, pipeparts.mkaudiotestsrc(pipeline, wave = 0, freq = gap_frequency, blocksize = 8 * int(buffer_length * rate), volume = 1, num_buffers = int(test_duration / buffer_length)), "audio/x-raw, format=F32%s, rate=%d, channels=1" % (BYTE_ORDER, rate))
+	if control_dump_filename is not None:
+		control = pipeparts.mktee(pipeline, control)
+		pipeparts.mknxydumpsink(pipeline, pipeparts.mkqueue(pipeline, control), control_dump_filename)
+		control = pipeparts.mkqueue(pipeline, control)
+	return pipeparts.mkgate(pipeline, src, control = control, threshold = gap_threshold)
+
+def gapped_int_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, channels = 1, test_duration = 10.0, wave = 5, freq = 0, gap_frequency = None, gap_threshold = None, control_dump_filename = None, is_live = False, verbose = True):
+	src = int_test_src(pipeline, buffer_length = buffer_length, rate = rate, width = width, channels = channels, test_duration = test_duration, wave = wave, freq = freq, is_live = is_live, verbose = verbose)
+	if gap_frequency is None:
+		return src
+	control = pipeparts.mkcapsfilter(pipeline, pipeparts.mkaudiotestsrc(pipeline, wave = 0, freq = gap_frequency, blocksize = 8 * int(buffer_length * rate), volume = 1, num_buffers = int(test_duration / buffer_length)), "audio/x-raw, format=F32%s, rate=%d, channels=1" % (BYTE_ORDER, rate))
+	if control_dump_filename is not None:
+		control = pipeparts.mktee(pipeline, control)
+		pipeparts.mknxydumpsink(pipeline, pipeparts.mkqueue(pipeline, control), control_dump_filename)
+		control = pipeparts.mkqueue(pipeline, control)
+	return pipeparts.mkgate(pipeline, src, control = control, threshold = gap_threshold)
+
+def gapped_complex_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, test_duration = 10.0, wave = 5, freq = 0, gap_frequency = None, gap_threshold = None, control_dump_filename = None, tags = None, is_live = False, verbose = True):
+	src = complex_test_src(pipeline, buffer_length = buffer_length, rate = rate, width = width, test_duration = test_duration, wave = wave, freq = freq, is_live = is_live, verbose = verbose)
+	if tags is not None:
+		src = pipeparts.mktaginject(pipeline, src, tags)
+	if gap_frequency is None:
+		return src
+	control = pipeparts.mkcapsfilter(pipeline, pipeparts.mkaudiotestsrc(pipeline, wave = 0, freq = gap_frequency, blocksize = 8 * int(buffer_length * rate), volume = 1, num_buffers = int(test_duration / buffer_length)), "audio/x-raw, format=F32%s, rate=%d, channels=1" % (BYTE_ORDER, rate))
+	if control_dump_filename is not None:
+		control = pipeparts.mknxydumpsinktee(pipeline, pipeparts.mkqueue(pipeline, control), control_dump_filename)
+		control = pipeparts.mkqueue(pipeline, control)
+	return pipeparts.mktogglecomplex(pipeline, pipeparts.mkgate(pipeline, pipeparts.mktogglecomplex(pipeline, src), control = control, threshold = gap_threshold))
+
+
+#
+# =============================================================================
+#
+#			       Pipeline Builder
+#
+# =============================================================================
+#
+
+
+def build_and_run(pipelinefunc, name, segment = None, **pipelinefunc_kwargs):
+	print("=== Running Test %s ===" % name)
+	mainloop = GObject.MainLoop()
+	pipeline = pipelinefunc(Gst.Pipeline(name = name), name, **pipelinefunc_kwargs)
+	handler = simplehandler.Handler(mainloop, pipeline)
+	if segment is not None:
+		if pipeline.set_state(Gst.State.READY) != Gst.StateChangeReturn.SUCCESS:
+			raise RuntimeError("pipeline failed to enter READY state")
+		datasource.pipeline_seek_for_gps(pipeline, segment[0].ns() / 1000000000, segment[1].ns() / 1000000000)
+	if pipeline.set_state(Gst.State.PLAYING) == Gst.StateChangeReturn.FAILURE:
+		raise RuntimeError("pipeline failed to enter PLAYING state")
+	# TODO: find a way to write to temp files
+	# pipeparts.write_dump_dot(pipeline, "test_%s" % name, verbose = True)
+	mainloop.run()
+
+
+#
+# =============================================================================
+#
+#			Push Arrays Through an Element
+#
+# =============================================================================
+#
+
+
+def transform_arrays(input_arrays, elemfunc, name, rate = 1, **elemfunc_kwargs):
+	input_arrays = list(input_arrays)	# so we can modify it
+	output_arrays = []
+
+	pipeline = Gst.Pipeline(name = name)
+
+	head = pipeparts.mkgeneric(pipeline, None, "appsrc", caps = pipeio.caps_from_array(input_arrays[0], rate = rate))
+	def need_data(elem, arg, input_arrays, rate):
+		if input_arrays:
+			arr = input_arrays.pop(0)
+			elem.set_property("caps", pipeio.caps_from_array(arr, rate))
+			buf = pipeio.audio_buffer_from_array(arr, 0, 0, rate)
+			elem.emit("push-buffer", pipeio.audio_buffer_from_array(arr, 0, 0, rate))
+			return Gst.FlowReturn.OK
+		else:
+			elem.emit("end-of-stream")
+			return Gst.FlowReturn.EOS
+	head.connect("need-data", need_data, input_arrays, rate)
+
+	head = elemfunc(pipeline, head, **elemfunc_kwargs)
+
+	head = pipeparts.mkappsink(pipeline, head)
+	def appsink_get_array(elem, output_arrays):
+		output_arrays.append(pipeio.array_from_audio_sample(elem.emit("pull-sample")))
+		return Gst.FlowReturn.OK
+
+	head.connect("new-sample", appsink_get_array, output_arrays)
+	build_and_run((lambda *args, **kwargs: pipeline), name)
+
+	return output_arrays
diff --git a/gstlal-inspiral/pytest.ini b/gstlal-inspiral/pytest.ini
new file mode 100644
index 0000000000000000000000000000000000000000..26292aeb8be7b7985525cabfa749adf1ed1377ec
--- /dev/null
+++ b/gstlal-inspiral/pytest.ini
@@ -0,0 +1,17 @@
+# Configuration file for pytest within gstlal-inspiral
+[pytest]
+norecursedirs = gst/python share tests
+testpaths = tests/tests_pytest python
+addopts =
+     -v
+     --doctest-modules
+     --ignore gst/python
+     --ignore tests
+     --ignore python/snglinspiraltable.py
+     --ignore python/spawaveform.py
+     --ignore python/imr_utils.py
+     --ignore python/stats/inspiral_extrinsics.py
+     --ignore python/templates.py
+     --ignore python/inspiral_pipe.py
+     --ignore python/p_astro_gstlal.py
+     --ignore python/rio.py
diff --git a/gstlal-inspiral/tests/tests_pytest/itac_test_01.py b/gstlal-inspiral/tests/tests_pytest/itac_test_01.py
new file mode 100644
index 0000000000000000000000000000000000000000..921f7e2002513cf2a6a96c82b474349fd8cb7fcd
--- /dev/null
+++ b/gstlal-inspiral/tests/tests_pytest/itac_test_01.py
@@ -0,0 +1,87 @@
+#
+# =============================================================================
+#
+#                                   Preamble
+#
+# =============================================================================
+#
+
+
+import numpy
+
+from gstlal import pipeparts
+from gstlal.snglinspiraltable import GSTLALSnglInspiral
+from utils import common
+
+
+#
+# =============================================================================
+#
+#                                  Pipelines
+#
+# =============================================================================
+#
+
+
+#
+# check for proper peak finding
+#
+
+
+def peak_test_01a(pipeline):
+	#
+	# try changing these.  test should still work!
+	#
+
+	in_rate = 32  # Hz
+	sine_frequency = 1
+	gap_frequency = 0.1  # Hz
+	gap_threshold = 0.7  # of 1
+	buffer_length = 1.0  # seconds
+	test_duration = 10.0  # seconds
+	peak_window = 16  # samples
+	wave = 0
+
+	#
+	# build pipeline
+	#
+
+	head = common.gapped_complex_test_src(pipeline, buffer_length=buffer_length, rate=in_rate, test_duration=test_duration, wave=wave, freq=sine_frequency,
+										  gap_frequency=gap_frequency, gap_threshold=gap_threshold, control_dump_filename="itac_test_01a_control.dump",
+										  tags="instrument=H1,channel-name=LSC-STRAIN,units=strain")
+	head = tee = pipeparts.mktee(pipeline, head)
+	head = pipeparts.mkqueue(pipeline,
+							 pipeparts.mkitac(pipeline, head, peak_window, "test_bank.xml", autocorrelation_matrix=numpy.array([[0 + 0.j, 0 + 0.j, 1 + 1.j, 0 + 0.j, 0 + 0.j]])))
+	head = pipeparts.mkprogressreport(pipeline, head, "test")
+
+	#
+	# output the before and after
+	#
+
+	a = pipeparts.mkappsink(pipeline, pipeparts.mkqueue(pipeline, head))
+
+	outfile = open("itac_test_01a_out.dump", "w")
+
+	def dump_triggers(elem, output=outfile):
+		for row in GSTLALSnglInspiral.from_buffer(elem.emit("pull-buffer")):
+			print(row.end_time + row.end_time_ns * 1e-9, row.snr, row.chisq, row.chisq_dof, file=outfile)
+
+	a.connect_after("new-buffer", dump_triggers)
+	pipeparts.mknxydumpsink(pipeline, pipeparts.mktogglecomplex(pipeline, pipeparts.mkqueue(pipeline, tee)), "itac_test_01a_in.dump")
+
+	#
+	# done
+	#
+
+	# if "GST_DEBUG_DUMP_DOT_DIR" in os.environ:
+	# 	gst.DEBUG_BIN_TO_DOT_FILE(pipeline, gst.DEBUG_GRAPH_SHOW_ALL, "peak_test_01a")
+
+	return pipeline
+
+
+class TestITAC:
+	"""Test class group for itac"""
+
+	def test_itac(self):
+		"""Test for itac"""
+		common.build_and_run(peak_test_01a, "peak_test_01a")
diff --git a/gstlal-inspiral/tests/tests_pytest/utils/common.py b/gstlal-inspiral/tests/tests_pytest/utils/common.py
new file mode 100644
index 0000000000000000000000000000000000000000..5842024b1c8596a067e713a2a755d7151ca6f415
--- /dev/null
+++ b/gstlal-inspiral/tests/tests_pytest/utils/common.py
@@ -0,0 +1,171 @@
+# Copyright (C) 2009--2011,2013  Kipp Cannon
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+#
+# =============================================================================
+#
+#                                   Preamble
+#
+# =============================================================================
+#
+
+
+import numpy
+import sys
+
+
+import gi
+gi.require_version('Gst', '1.0')
+from gi.repository import GObject
+from gi.repository import Gst
+
+
+from gstlal import pipeparts
+from gstlal import pipeio
+from gstlal import simplehandler
+
+
+GObject.threads_init()
+Gst.init(None)
+
+
+if sys.byteorder == "little":
+	BYTE_ORDER = "LE"
+else:
+	BYTE_ORDER = "BE"
+
+
+#
+# =============================================================================
+#
+#                                  Utilities
+#
+# =============================================================================
+#
+
+
+def complex_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, test_duration = 10.0, wave = 5, freq = 0, is_live = False, verbose = True):
+	assert not width % 8
+	samplesperbuffer = int(round(buffer_length * rate))
+	head = pipeparts.mkaudiotestsrc(pipeline, wave = wave, freq = freq, volume = 1, blocksize = (width / 8 * 2) * samplesperbuffer, samplesperbuffer = samplesperbuffer, num_buffers = int(round(test_duration / buffer_length)), is_live = is_live)
+	head = pipeparts.mkcapsfilter(pipeline, head, "audio/x-raw, format=Z%d%s, rate=%d, channels=2" % (width, BYTE_ORDER, rate))
+	head = pipeparts.mktogglecomplex(pipeline, head)
+	if verbose:
+		head = pipeparts.mkprogressreport(pipeline, head, "src")
+	return head
+
+
+def test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, channels = 1, test_duration = 10.0, wave = 5, freq = 0, is_live = False, verbose = True):
+	assert not width % 8
+	if wave == "ligo":
+		head = pipeparts.mkfakeLIGOsrc(pipeline, instrument = "H1", channel_name = "LSC-STRAIN")
+	else:
+		samplesperbuffer = int(round(buffer_length * rate))
+		head = pipeparts.mkaudiotestsrc(pipeline, wave = wave, freq = freq, volume = 1, blocksize = (width / 8 * channels) * samplesperbuffer, samplesperbuffer = samplesperbuffer, num_buffers = int(round(test_duration / buffer_length)), is_live = is_live)
+		head = pipeparts.mkcapsfilter(pipeline, head, "audio/x-raw, format=F%d%s, rate=%d, channels=%d" % (width, BYTE_ORDER, rate, channels))
+	if verbose:
+		head = pipeparts.mkprogressreport(pipeline, head, "src")
+	return head
+
+
+def add_gaps(pipeline, head, buffer_length, rate, test_duration, gap_frequency = None, gap_threshold = None, control_dump_filename = None):
+	if gap_frequency is None:
+		return head
+	samplesperbuffer = int(round(buffer_length * rate))
+	control = pipeparts.mkcapsfilter(pipeline, pipeparts.mkaudiotestsrc(pipeline, wave = 0, freq = gap_frequency, volume = 1, blocksize = 4 * samplesperbuffer, samplesperbuffer = samplesperbuffer, num_buffers = int(round(test_duration / buffer_length))), "audio/x-raw, format=F32%s, rate=%d, channels=1" % (BYTE_ORDER, rate))
+	if control_dump_filename is not None:
+		control = pipeparts.mknxydumpsinktee(pipeline, pipeparts.mkqueue(pipeline, control), control_dump_filename)
+		control = pipeparts.mkqueue(pipeline, control)
+	return pipeparts.mkgate(pipeline, head, control = control, threshold = gap_threshold)
+
+
+def gapped_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, channels = 1, test_duration = 10.0, wave = 5, freq = 0, gap_frequency = None, gap_threshold = None, control_dump_filename = None, tags = None, is_live = False, verbose = True):
+	src = test_src(pipeline, buffer_length = buffer_length, rate = rate, width = width, channels = channels, test_duration = test_duration, wave = wave, freq = freq, is_live = is_live, verbose = verbose)
+	if tags is not None:
+		src = pipeparts.mktaginject(pipeline, src, tags)
+	return add_gaps(pipeline, src, buffer_length = buffer_length, rate = rate, test_duration = test_duration, gap_frequency = gap_frequency, gap_threshold = gap_threshold, control_dump_filename = control_dump_filename)
+
+
+def gapped_complex_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, test_duration = 10.0, wave = 5, freq = 0, gap_frequency = None, gap_threshold = None, control_dump_filename = None, tags = None, is_live = False, verbose = True):
+	src = complex_test_src(pipeline, buffer_length = buffer_length, rate = rate, width = width, test_duration = test_duration, wave = wave, freq = freq, is_live = is_live, verbose = verbose)
+	if tags is not None:
+		src = pipeparts.mktaginject(pipeline, src, tags)
+	return pipeparts.mktogglecomplex(pipeline, add_gaps(pipeline, pipeparts.mktogglecomplex(pipeline, src), buffer_length = buffer_length, rate = rate, test_duration = test_duration, gap_frequency = gap_frequency, gap_threshold = gap_threshold, control_dump_filename = control_dump_filename))
+
+
+#
+# =============================================================================
+#
+#                               Pipeline Builder
+#
+# =============================================================================
+#
+
+
+def build_and_run(pipelinefunc, name, segment = None, **pipelinefunc_kwargs):
+	print("=== Running Test %s ===" % name, file=sys.stderr)
+	mainloop = GObject.MainLoop()
+	pipeline = pipelinefunc(Gst.Pipeline(name = name), name, **pipelinefunc_kwargs)
+	handler = simplehandler.Handler(mainloop, pipeline)
+	if segment is not None:
+		if pipeline.set_state(Gst.State.PAUSED) == Gst.StateChangeReturn.FAILURE:
+			raise RuntimeError("pipeline failed to enter PLAYING state")
+		pipeline.seek(1.0, Gst.Format(Gst.Format.TIME), Gst.SeekFlags.FLUSH, Gst.SeekType.SET, segment[0].ns(), Gst.SeekType.SET, segment[1].ns())
+	if pipeline.set_state(Gst.State.PLAYING) == Gst.StateChangeReturn.FAILURE:
+		raise RuntimeError("pipeline failed to enter PLAYING state")
+	mainloop.run()
+
+
+#
+# =============================================================================
+#
+#                        Push Arrays Through an Element
+#
+# =============================================================================
+#
+
+
+def transform_arrays(input_arrays, elemfunc, name, rate = 1, **elemfunc_kwargs):
+	input_arrays = list(input_arrays)	# so we can modify it
+	output_arrays = []
+
+	pipeline = Gst.Pipeline(name = name)
+
+	head = pipeparts.mkgeneric(pipeline, None, "appsrc", caps = pipeio.caps_from_array(input_arrays[0], rate = rate))
+	def need_data(elem, arg, input_array_rate_pair):
+		input_arrays, rate = input_array_rate_pair
+		if input_arrays:
+			arr = input_arrays.pop(0)
+			elem.set_property("caps", pipeio.caps_from_array(arr, rate))
+			buf = pipeio.audio_buffer_from_array(arr, 0, 0, rate)
+			elem.emit("push-buffer", pipeio.audio_buffer_from_array(arr, 0, 0, rate))
+			return Gst.FlowReturn.OK
+		else:
+			elem.emit("end-of-stream")
+			return Gst.FlowReturn.EOS
+	head.connect("need-data", need_data, (input_arrays, rate))
+
+	head = elemfunc(pipeline, head, **elemfunc_kwargs)
+
+	head = pipeparts.mkappsink(pipeline, head)
+	def appsink_get_array(elem, output_arrays):
+		output_arrays.append(pipeio.array_from_audio_sample(elem.emit("pull-sample")))
+		return Gst.FlowReturn.OK
+
+	head.connect("new-sample", appsink_get_array, output_arrays)
+	build_and_run((lambda *args, **kwargs: pipeline), name)
+
+	return output_arrays
diff --git a/gstlal-ugly/pytest.ini b/gstlal-ugly/pytest.ini
new file mode 100644
index 0000000000000000000000000000000000000000..f77b9ababb9842c6f8f9d50e66a63a2274c81b1a
--- /dev/null
+++ b/gstlal-ugly/pytest.ini
@@ -0,0 +1,9 @@
+# Configuration file for pytest within gstlal-ugly
+[pytest]
+norecursedirs = gst/python share tests
+testpaths = tests/tests_pytest python
+addopts =
+     -v
+     --doctest-modules
+     --ignore gst/python
+     --ignore tests
diff --git a/gstlal-ugly/tests/tests_pytest/test_ratefaker.py b/gstlal-ugly/tests/tests_pytest/test_ratefaker.py
new file mode 100755
index 0000000000000000000000000000000000000000..0552d3c8e625a59d96e4dc1908e68bf982ce61f5
--- /dev/null
+++ b/gstlal-ugly/tests/tests_pytest/test_ratefaker.py
@@ -0,0 +1,69 @@
+#!/usr/bin/env python3
+
+#
+# =============================================================================
+#
+#                                   Preamble
+#
+# =============================================================================
+#
+
+
+from gstlal import pipeparts
+from utils import common
+
+
+#
+# =============================================================================
+#
+#                                  Pipelines
+#
+# =============================================================================
+#
+
+
+#
+# test rate faker
+#
+
+
+def ratefaker_test_01a(pipeline, dummy):
+	#
+	# try changing these.  test should still work!
+	#
+
+	wave = 0  # gst-inspect audiotestsrc
+	freq = 25  # Hz
+	in_rate = 2048  # Hz
+	out_rate = 1024  # Hz
+	gap_frequency = 1.0  # Hz
+	gap_threshold = 0.8  # of 1
+	buffer_length = 1.0  # seconds
+	test_duration = 200.0  # seconds
+
+	#
+	# build pipeline
+	#
+
+	head = common.gapped_test_src(pipeline, buffer_length=buffer_length, rate=in_rate, test_duration=test_duration, wave=wave, freq=freq, gap_frequency=gap_frequency,
+								  gap_threshold=gap_threshold)
+	head = pipeparts.mktee(pipeline, head)
+	pipeparts.mknxydumpsink(pipeline, head, "in.txt")
+	head = pipeparts.mkprogressreport(pipeline, head, "progress_src")
+	head = pipeparts.mkgeneric(pipeline, head, "audioratefaker")
+	head = pipeparts.mkcapsfilter(pipeline, head, "audio/x-raw-float, rate=%d" % out_rate)
+	pipeparts.mknxydumpsink(pipeline, head, "out.txt")
+
+	#
+	# done
+	#
+
+	return pipeline
+
+
+class TestRateFaker:
+	"""Class to group rate faker tests"""
+
+	def test_rate_faker(self):
+		"""Test rate faker"""
+		common.build_and_run(ratefaker_test_01a, "ratefaker_test_01a")
diff --git a/gstlal-ugly/tests/tests_pytest/utils/common.py b/gstlal-ugly/tests/tests_pytest/utils/common.py
new file mode 100644
index 0000000000000000000000000000000000000000..71f3f11d496a39c92c35dacf872b241d2680858d
--- /dev/null
+++ b/gstlal-ugly/tests/tests_pytest/utils/common.py
@@ -0,0 +1,168 @@
+# Copyright (C) 2009--2011,2013  Kipp Cannon
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+#
+# =============================================================================
+#
+#                                   Preamble
+#
+# =============================================================================
+#
+
+
+import numpy
+import sys
+
+
+import gi
+gi.require_version('Gst', '1.0')
+from gi.repository import GObject
+from gi.repository import Gst
+
+
+from gstlal import pipeparts
+from gstlal import pipeio
+from gstlal import simplehandler
+
+
+GObject.threads_init()
+Gst.init(None)
+
+
+if sys.byteorder == "little":
+	BYTE_ORDER = "LE"
+else:
+	BYTE_ORDER = "BE"
+
+
+#
+# =============================================================================
+#
+#                                  Utilities
+#
+# =============================================================================
+#
+
+
+def complex_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, test_duration = 10.0, wave = 5, freq = 0, is_live = False, verbose = True):
+	head = pipeparts.mkaudiotestsrc(pipeline, wave = wave, freq = freq, blocksize = 8 * int(buffer_length * rate), volume = 1, num_buffers = int(test_duration / buffer_length), is_live = is_live)
+	head = pipeparts.mkcapsfilter(pipeline, head, "audio/x-raw, format=Z%d%s, rate=%d, channels=2" % (width, BYTE_ORDER, rate))
+	head = pipeparts.mktogglecomplex(pipeline, head)
+	if verbose:
+		head = pipeparts.mkprogressreport(pipeline, head, "src")
+	return head
+
+
+def test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, channels = 1, test_duration = 10.0, wave = 5, freq = 0, is_live = False, verbose = True):
+	if wave == "ligo":
+		head = pipeparts.mkfakeLIGOsrc(pipeline, instrument = "H1", channel_name = "LSC-STRAIN")
+	else:
+		head = pipeparts.mkaudiotestsrc(pipeline, wave = wave, freq = freq, blocksize = 8 * int(buffer_length * rate), volume = 1, num_buffers = int(test_duration / buffer_length), is_live = is_live)
+		head = pipeparts.mkcapsfilter(pipeline, head, "audio/x-raw, format=F%d%s, rate=%d, channels=%d" % (width, BYTE_ORDER, rate, channels))
+	if verbose:
+		head = pipeparts.mkprogressreport(pipeline, head, "src")
+	return head
+
+
+def gapped_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, channels = 1, test_duration = 10.0, wave = 5, freq = 0, gap_frequency = None, gap_threshold = None, control_dump_filename = None, is_live = False, verbose = True):
+	src = test_src(pipeline, buffer_length = buffer_length, rate = rate, width = width, channels = channels, test_duration = test_duration, wave = wave, freq = freq, is_live = is_live, verbose = verbose)
+	if gap_frequency is None:
+		return src
+	control = pipeparts.mkcapsfilter(pipeline, pipeparts.mkaudiotestsrc(pipeline, wave = 0, freq = gap_frequency, blocksize = 8 * int(buffer_length * rate), volume = 1, num_buffers = int(test_duration / buffer_length)), "audio/x-raw, format=F32%s, rate=%d, channels=1" % (BYTE_ORDER, rate))
+	if control_dump_filename is not None:
+		control = pipeparts.mktee(pipeline, control)
+		pipeparts.mknxydumpsink(pipeline, pipeparts.mkqueue(pipeline, control), control_dump_filename)
+		control = pipeparts.mkqueue(pipeline, control)
+	return pipeparts.mkgate(pipeline, src, control = control, threshold = gap_threshold)
+
+
+def gapped_complex_test_src(pipeline, buffer_length = 1.0, rate = 2048, width = 64, test_duration = 10.0, wave = 5, freq = 0, gap_frequency = None, gap_threshold = None, control_dump_filename = None, tags = None, is_live = False, verbose = True):
+	src = complex_test_src(pipeline, buffer_length = buffer_length, rate = rate, width = width, test_duration = test_duration, wave = wave, freq = freq, is_live = is_live, verbose = verbose)
+	if tags is not None:
+		src = pipeparts.mktaginject(pipeline, src, tags)
+	if gap_frequency is None:
+		return src
+	control = pipeparts.mkcapsfilter(pipeline, pipeparts.mkaudiotestsrc(pipeline, wave = 0, freq = gap_frequency, blocksize = 8 * int(buffer_length * rate), volume = 1, num_buffers = int(test_duration / buffer_length)), "audio/x-raw, format=F32%s, rate=%d, channels=1" % (BYTE_ORDER, rate))
+	if control_dump_filename is not None:
+		control = pipeparts.mknxydumpsinktee(pipeline, pipeparts.mkqueue(pipeline, control), control_dump_filename)
+		control = pipeparts.mkqueue(pipeline, control)
+	return pipeparts.mktogglecomplex(pipeline, pipeparts.mkgate(pipeline, pipeparts.mktogglecomplex(pipeline, src), control = control, threshold = gap_threshold))
+
+
+#
+# =============================================================================
+#
+#                               Pipeline Builder
+#
+# =============================================================================
+#
+
+
+def build_and_run(pipelinefunc, name, segment = None, **pipelinefunc_kwargs):
+	print("=== Running Test %s ===" % name, file=sys.stderr)
+	mainloop = GObject.MainLoop()
+	pipeline = pipelinefunc(Gst.Pipeline(name = name), name, **pipelinefunc_kwargs)
+	handler = simplehandler.Handler(mainloop, pipeline)
+	if segment is not None:
+		if pipeline.set_state(Gst.State.PAUSED) == Gst.StateChangeReturn.FAILURE:
+			raise RuntimeError("pipeline failed to enter PLAYING state")
+		pipeline.seek(1.0, Gst.Format(Gst.Format.TIME), Gst.SeekFlags.FLUSH, Gst.SeekType.SET, segment[0].ns(), Gst.SeekType.SET, segment[1].ns())
+	# TODO: figure out why the below causes process to crash
+	# if pipeline.set_state(Gst.State.PLAYING) == Gst.StateChangeReturn.FAILURE:
+	# 	raise RuntimeError("pipeline failed to enter PLAYING state")
+	# mainloop.run()
+
+
+#
+# =============================================================================
+#
+#                        Push Arrays Through an Element
+#
+# =============================================================================
+#
+
+
+def transform_arrays(input_arrays, elemfunc, name, rate = 1, **elemfunc_kwargs):
+	input_arrays = list(input_arrays)	# so we can modify it
+	output_arrays = []
+
+	pipeline = Gst.Pipeline(name = name)
+
+	head = pipeparts.mkgeneric(pipeline, None, "appsrc", caps = pipeio.caps_from_array(input_arrays[0], rate = rate))
+	def need_data(elem, arg, x):
+		input_arrays, rate = x
+		if input_arrays:
+			arr = input_arrays.pop(0)
+			elem.set_property("caps", pipeio.caps_from_array(arr, rate))
+			buf = pipeio.audio_buffer_from_array(arr, 0, 0, rate)
+			elem.emit("push-buffer", pipeio.audio_buffer_from_array(arr, 0, 0, rate))
+			return Gst.FlowReturn.OK
+		else:
+			elem.emit("end-of-stream")
+			return Gst.FlowReturn.EOS
+	head.connect("need-data", need_data, (input_arrays, rate))
+
+	head = elemfunc(pipeline, head, **elemfunc_kwargs)
+
+	head = pipeparts.mkappsink(pipeline, head)
+	def appsink_get_array(elem, output_arrays):
+		output_arrays.append(pipeio.array_from_audio_sample(elem.emit("pull-sample")))
+		return Gst.FlowReturn.OK
+
+	head.connect("new-sample", appsink_get_array, output_arrays)
+	build_and_run((lambda *args, **kwargs: pipeline), name)
+
+	return output_arrays
diff --git a/gstlal/python/utilities/Makefile.am b/gstlal/python/utilities/Makefile.am
index 6ee006bd28e1e4f922e8119d08264830f9394222..b1dd765b5a6fa5e0f88a79c5628d7d415404dc4b 100644
--- a/gstlal/python/utilities/Makefile.am
+++ b/gstlal/python/utilities/Makefile.am
@@ -3,4 +3,5 @@ utilitiesdir = $(pkgpythondir)/utilities
 
 utilities_PYTHON = \
 	__init__.py \
-	admin.py
+	admin.py \
+	testtools.py
diff --git a/gstlal/tests/tests_pytest/testtools.py b/gstlal/python/utilities/testtools.py
similarity index 100%
rename from gstlal/tests/tests_pytest/testtools.py
rename to gstlal/python/utilities/testtools.py
diff --git a/gstlal/tests/tests_pytest/test_datasource.py b/gstlal/tests/tests_pytest/test_datasource.py
index c44a4788148c3dc3ec36fe5ef3548ca83ee12990..eb58534d80d141b83fedfe3bd444e1e85b27ff6a 100644
--- a/gstlal/tests/tests_pytest/test_datasource.py
+++ b/gstlal/tests/tests_pytest/test_datasource.py
@@ -15,7 +15,7 @@ Gst.init(None)
 
 from gstlal import datasource
 from gstlal.datasource import DataSource, Detector, DEFAULT_STATE_CHANNEL, DEFAULT_DQ_CHANNEL
-from testtools import GstLALTestManager, skip_osx, clean_str
+from gstlal.utilities.testtools import GstLALTestManager, skip_osx, clean_str
 
 
 # Comment out test of possible alternate copyright mechanism