Merge branch 'master' of https://github.com/yrrapt/caravel_amsat_txrx_ic
diff --git a/gds/caravel.gds.gz b/gds/caravel.gds.gz
index 40c51a6..b77c465 100644
--- a/gds/caravel.gds.gz
+++ b/gds/caravel.gds.gz
Binary files differ
diff --git a/gds/caravel.mag b/gds/caravel.mag
index fba17c2..fdb8eec 100644
--- a/gds/caravel.mag
+++ b/gds/caravel.mag
@@ -1,7 +1,7 @@
 magic
 tech sky130A
 magscale 1 2
-timestamp 1607460486
+timestamp 1607895242
 << checkpaint >>
 rect -1260 -1260 718860 1038860
 << metal1 >>
@@ -81614,187 +81614,187 @@
 rect 400342 222659 400384 222895
 rect 380288 222617 400384 222659
 use user_id_programming  user_id_value ../mag
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 656625 0 1 80926
 box 0 0 7109 7077
 use storage  storage ../mag
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 52031 0 1 61392
 box 0 0 88934 189234
 use mgmt_core  soc ../mag
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 204550 0 1 53700
 box 0 0 430000 170000
 use sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped  rstb_level ../mag
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 154753 0 1 51403
 box 0 1 5124 5084
 use simple_por  por ../mag
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 654176 0 1 104197
 box 25 11 11344 8338
 use mgmt_protect  mgmt_buffers ../mag
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 288100 0 1 239747
 box 0 0 169594 13025
 use gpio_control_block  gpio_control_bidir\[1\] ../mag
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 166200
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_bidir\[0\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 121000
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[37\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 202600
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[36\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 245800
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[3\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 256400
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[2\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 211200
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[35\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 289000
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[34\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 332200
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[33\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 375400
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[5\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 346400
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[4\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 301400
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[7\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 479800
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[6\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 391600
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[32\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 418600
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[31\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 546200
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[30\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 589400
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[29\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 632600
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[9\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 568800
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[8\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 523800
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[10\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 614000
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[28\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 675800
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[27\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 719000
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[26\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 762200
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[13\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 749200
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[12\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 704200
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[11\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 659000
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[25\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 805400
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[24\]
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 8567 0 1 889800
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[23\]
-timestamp 1607460486
+timestamp 1607895242
 transform 0 1 97200 -1 0 1029747
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[22\]
-timestamp 1607460486
+timestamp 1607895242
 transform 0 1 148600 -1 0 1029747
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[21\]
-timestamp 1607460486
+timestamp 1607895242
 transform 0 1 200000 -1 0 1029747
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[20\]
-timestamp 1607460486
+timestamp 1607895242
 transform 0 1 251400 -1 0 1029747
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[19\]
-timestamp 1607460486
+timestamp 1607895242
 transform 0 1 303000 -1 0 1029747
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[18\]
-timestamp 1607460486
+timestamp 1607895242
 transform 0 1 353400 -1 0 1029747
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[17\]
-timestamp 1607460486
+timestamp 1607895242
 transform 0 1 420800 -1 0 1029747
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[16\]
-timestamp 1607460486
+timestamp 1607895242
 transform 0 1 497800 -1 0 1029747
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[15\]
-timestamp 1607460486
+timestamp 1607895242
 transform 0 1 549200 -1 0 1029747
 box 0 0 33934 18344
 use gpio_control_block  gpio_control_in\[14\]
-timestamp 1607460486
+timestamp 1607895242
 transform -1 0 708537 0 1 927600
 box 0 0 33934 18344
 use chip_io  padframe ../mag
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 0 0 1 0
 box 0 0 717600 1037600
 use user_project_wrapper  mprj ../mag
-timestamp 1607460486
+timestamp 1607895242
 transform 1 0 65277 0 1 276402
 box -8436 -7366 592360 711302
 << properties >>
diff --git a/gds/caravel.old.gds.gz b/gds/caravel.old.gds.gz
new file mode 100644
index 0000000..8869e6f
--- /dev/null
+++ b/gds/caravel.old.gds.gz
Binary files differ
diff --git a/gds/user_project_wrapper.gds.gz b/gds/user_project_wrapper.gds.gz
index 345cab7..df88577 100644
--- a/gds/user_project_wrapper.gds.gz
+++ b/gds/user_project_wrapper.gds.gz
Binary files differ
diff --git a/utils/run_lvs_pex.sh b/utils/run_lvs_pex.sh
index 1221114..e730290 100755
--- a/utils/run_lvs_pex.sh
+++ b/utils/run_lvs_pex.sh
@@ -56,6 +56,15 @@
 # include the digital cell definitions
 sed -i '$s,.end,.include '"$HOME"'\/repositories\/skywater\/sky130A\/libs.ref\/sky130_fd_sc_hd\/spice\/sky130_fd_sc_hd.spice\n.end,g' "$1.spice"
 
+# want to replace with global RF subcircuit include
+sed -i '$s,.end,.include '"$HOME"'\/skywater\/skywater-pdk\/libraries\/sky130_fd_pr\/latest\/cells\/rf_nfet_01v8_lvt\/sky130_fd_pr__rf_nfet_01v8_lvt_aF02W3p00L0p15.spice\n.end,g' "$1.spice"
+sed -i '$s,.end,.include '"$HOME"'\/skywater\/skywater-pdk\/libraries\/sky130_fd_pr\/latest\/cells\/rf_nfet_01v8_lvt\/sky130_fd_pr__rf_nfet_01v8_lvt_aF02W1p65L0p15.spice\n.end,g' "$1.spice"
+sed -i '$s,.end,.include '"$HOME"'\/skywater\/skywater-pdk\/libraries\/sky130_fd_pr\/latest\/cells\/rf_nfet_01v8_lvt\/sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15.spice\n.end,g' "$1.spice"
+sed -i '$s,.end,.include '"$HOME"'\/skywater\/skywater-pdk\/libraries\/sky130_fd_pr\/latest\/cells\/rf_nfet_01v8_lvt\/sky130_fd_pr__rf_nfet_01v8_lvt_cM02W1p65L0p15.spice\n.end,g' "$1.spice"
+sed -i '$s,.end,.include '"$HOME"'\/skywater\/skywater-pdk\/libraries\/sky130_fd_pr\/latest\/cells\/rf_pfet_01v8_lvt\/sky130_fd_pr__rf_pfet_01v8_lvt_aM02W5p00L0p35.spice\n.end,g' "$1.spice"
+sed -i '$s,.end,.include '"$HOME"'\/skywater\/skywater-pdk\/libraries\/sky130_fd_pr\/latest\/cells\/rf_pfet_01v8\/sky130_fd_pr__rf_pfet_01v8_aM02W1p65L0p25.spice\n.end,g' "$1.spice"
+sed -i '$s,.end,.include '"$HOME"'\/skywater\/skywater-pdk\/libraries\/sky130_fd_pr\/latest\/cells\/res_xhigh_po\/sky130_fd_pr__res_xhigh_po_2p85.model.spice\n.end,g' "$1.spice"
+
 # now compare the xschem schematic netlist and the magic extracted netlist
 netgen -batch lvs "drc_cell_lvs.spice "$1"" ""$1".spice "$1"" ~/skywater/pdk/skywater130/sky130A/libs.tech/netgen/sky130A_setup.tcl lvs_report.out -json
 
diff --git a/verilog/gl/user_project_wrapper.v b/verilog/gl/user_project_wrapper.v
index cd0c146..1f993d7 100644
--- a/verilog/gl/user_project_wrapper.v
+++ b/verilog/gl/user_project_wrapper.v
@@ -1,7 +1,39 @@
 
 module user_project_wrapper(
+            inout     vssd1,
+            inout     vccd1,
             inout     vssd2,
             inout     vccd2,
+            in        la_data_in[0],
+            in        la_data_in[1],
+            in        la_data_in[2],
+            in        la_data_in[3],
+            in        la_data_in[4],
+            in        la_data_in[5],
+            in        la_data_in[6],
+            in        la_data_in[7],
+            in        la_data_in[8],
+            in        la_data_in[9],
+            in        la_data_in[10],
+            in        la_data_in[11],
+            in        la_data_in[12],
+            in        la_data_in[13],
+            in        la_data_in[14],
+            in        la_data_in[15],
+            in        la_data_in[16],
+            in        la_data_in[17],
+            in        la_data_in[18],
+            in        la_data_in[19],
+            in        la_data_in[20],
+            in        la_data_in[21],
+            in        la_data_in[22],
+            in        la_data_in[23],
+            in        la_data_in[24],
+            in        la_data_in[25],
+            in        la_data_in[26],
+            in        la_data_in[27],
+            in        la_data_in[28],
+            in        la_data_in[29],
             in        la_data_in[95],
             in        la_data_in[94],
             in        la_data_in[93],
@@ -41,7 +73,19 @@
             inout     analog_io[18],
             inout     analog_io[19],
             inout     analog_io[20],
-            inout     analog_io[21]
+            inout     analog_io[21],
+            inout     analog_io[24],
+            inout     analog_io[25],
+            inout     analog_io[26],
+            inout     analog_io[27],
+            inout     analog_io[28],
+            inout     analog_io[29],
+            inout     analog_io[30]
     );
 
+
+      fake fake ();
+
+
+
 endmodule
diff --git a/xschem/divider_cml/divider_cml.sch b/xschem/divider_cml/divider_cml.sch
new file mode 100644
index 0000000..3891e56
--- /dev/null
+++ b/xschem/divider_cml/divider_cml.sch
@@ -0,0 +1,201 @@
+v {xschem version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N 240 -270 240 -240 {lab=#net1}
+N 330 -270 390 -210 {lab=#net1}
+N 330 -210 390 -270 {lab=#net2}
+N 240 -270 330 -270 {lab=#net1}
+N 280 -210 330 -210 {lab=#net2}
+N 480 -270 480 -240 {lab=#net2}
+N 390 -270 480 -270 {lab=#net2}
+N 390 -210 440 -210 {lab=#net1}
+N 220 -210 240 -210 {lab=GND}
+N 220 -210 220 -70 {lab=GND}
+N 240 -180 240 -160 {lab=source_pcross}
+N 480 -180 480 -160 {lab=source_pcross}
+N 480 -210 500 -210 {lab=GND}
+N 500 -210 500 -70 {lab=GND}
+N 240 -160 480 -160 {lab=source_pcross}
+N 100 -180 100 -130 {lab=source_ntoggle}
+N 620 -180 620 -130 {lab=source_ntoggle}
+N 480 -130 620 -130 {lab=source_ntoggle}
+N 480 -130 480 -100 {lab=source_ntoggle}
+N 240 -160 240 -100 {lab=source_pcross}
+N 220 -70 240 -70 {lab=GND}
+N 220 -70 220 -10 {lab=GND}
+N 240 -40 240 -10 {lab=GND}
+N 220 -10 240 -10 {lab=GND}
+N 500 -70 500 -10 {lab=GND}
+N 480 -40 480 -10 {lab=GND}
+N 480 -70 500 -70 {lab=GND}
+N 600 -210 620 -210 {lab=GND}
+N 600 -210 600 -10 {lab=GND}
+N 500 -10 600 -10 {lab=GND}
+N 480 -10 500 -10 {lab=GND}
+N 240 -10 480 -10 {lab=GND}
+N 100 -210 120 -210 {lab=GND}
+N 120 -210 120 -10 {lab=GND}
+N 120 -10 220 -10 {lab=GND}
+N 100 -290 100 -240 {lab=#net1}
+N 100 -290 240 -290 {lab=#net1}
+N 240 -290 240 -270 {lab=#net1}
+N 480 -290 480 -270 {lab=#net2}
+N 480 -290 620 -290 {lab=#net2}
+N 620 -290 620 -240 {lab=#net2}
+N 100 -130 480 -130 {lab=source_ntoggle}
+N 240 -550 240 -290 {lab=#net1}
+N 480 -550 480 -290 {lab=#net2}
+N 240 -650 240 -610 {lab=VDD}
+N 240 -650 480 -650 {lab=VDD}
+N 480 -650 480 -610 {lab=VDD}
+N 1040 -270 1040 -240 {lab=OUTn}
+N 1130 -270 1190 -210 {lab=OUTn}
+N 1130 -210 1190 -270 {lab=OUTp}
+N 1040 -270 1130 -270 {lab=OUTn}
+N 1080 -210 1130 -210 {lab=OUTp}
+N 1280 -270 1280 -240 {lab=OUTp}
+N 1190 -270 1280 -270 {lab=OUTp}
+N 1190 -210 1240 -210 {lab=OUTn}
+N 1020 -210 1040 -210 {lab=GND}
+N 1020 -210 1020 -70 {lab=GND}
+N 1040 -180 1040 -160 {lab=source_ncross}
+N 1280 -180 1280 -160 {lab=source_ncross}
+N 1280 -210 1300 -210 {lab=GND}
+N 1300 -210 1300 -70 {lab=GND}
+N 1040 -160 1280 -160 {lab=source_ncross}
+N 900 -180 900 -130 {lab=source_ptoggle}
+N 1420 -180 1420 -130 {lab=source_ptoggle}
+N 1280 -130 1420 -130 {lab=source_ptoggle}
+N 1280 -130 1280 -100 {lab=source_ptoggle}
+N 1040 -160 1040 -100 {lab=source_ncross}
+N 1020 -70 1040 -70 {lab=GND}
+N 1020 -70 1020 -10 {lab=GND}
+N 1040 -40 1040 -10 {lab=GND}
+N 1020 -10 1040 -10 {lab=GND}
+N 1300 -70 1300 -10 {lab=GND}
+N 1280 -40 1280 -10 {lab=GND}
+N 1280 -70 1300 -70 {lab=GND}
+N 1400 -210 1420 -210 {lab=GND}
+N 1400 -210 1400 -10 {lab=GND}
+N 1300 -10 1400 -10 {lab=GND}
+N 1280 -10 1300 -10 {lab=GND}
+N 1040 -10 1280 -10 {lab=GND}
+N 900 -210 920 -210 {lab=GND}
+N 920 -210 920 -10 {lab=GND}
+N 920 -10 1020 -10 {lab=GND}
+N 900 -290 900 -240 {lab=OUTn}
+N 900 -290 1040 -290 {lab=OUTn}
+N 1040 -290 1040 -270 {lab=OUTn}
+N 1280 -290 1280 -270 {lab=OUTp}
+N 1280 -290 1420 -290 {lab=OUTp}
+N 1420 -290 1420 -240 {lab=OUTp}
+N 900 -130 1280 -130 {lab=source_ptoggle}
+N 1040 -550 1040 -290 {lab=OUTn}
+N 1280 -550 1280 -290 {lab=OUTp}
+N 1040 -650 1040 -610 {lab=VDD}
+N 1040 -650 1280 -650 {lab=VDD}
+N 1280 -650 1280 -610 {lab=VDD}
+N 700 -210 820 -330 {lab=OUTn}
+N 700 -330 820 -210 {lab=#net1}
+N 820 -210 860 -210 {lab=#net1}
+N 660 -210 700 -210 {lab=OUTn}
+N 820 -330 1040 -330 {lab=OUTn}
+N 240 -330 700 -330 {lab=#net1}
+N 20 -210 60 -210 {lab=OUTp}
+N 20 -350 20 -210 {lab=OUTp}
+N 20 -370 20 -350 {lab=OUTp}
+N 20 -370 1280 -370 {lab=OUTp}
+N 1460 -210 1500 -210 {lab=#net2}
+N 1500 -410 1500 -210 {lab=#net2}
+N 600 -10 920 -10 {lab=GND}
+N 480 -650 1040 -650 {lab=VDD}
+N 400 -70 440 -70 {lab=INn}
+N 280 -70 320 -70 {lab=INp}
+N 1200 -70 1240 -70 {lab=INp}
+N 1080 -70 1120 -70 {lab=INn}
+N 20 -10 120 -10 {lab=GND}
+N 20 -650 240 -650 {lab=VDD}
+N 1040 -470 1500 -470 {lab=OUTn}
+N 1280 -510 1500 -510 {lab=OUTp}
+N 480 -410 1500 -410 {lab=#net2}
+N 170 -580 210 -580 {lab=gnd}
+N 510 -580 550 -580 {lab=gnd}
+N 970 -580 1020 -580 {lab=gnd}
+N 1300 -580 1350 -580 {lab=gnd}
+N 210 -580 220 -580 { lab=gnd}
+N 500 -580 510 -580 { lab=gnd}
+C {ipin.sym} 20 -70 0 0 {name=p1 lab=INn}
+C {opin.sym} 1500 -510 0 0 {name=p5 lab=OUTp
+}
+C {iopin.sym} 20 -650 0 1 {name=p7 lab=VDD}
+C {iopin.sym} 20 -10 0 1 {name=p8 lab=GND
+}
+C {opin.sym} 1500 -470 0 0 {name=p10 lab=OUTn
+}
+C {ipin.sym} 20 -110 0 0 {name=p11 lab=INp}
+C {lab_wire.sym} 280 -70 0 1 {name=l1 sig_type=std_logic lab=INp}
+C {lab_wire.sym} 1200 -70 0 1 {name=l2 sig_type=std_logic lab=INp}
+C {lab_wire.sym} 400 -70 0 1 {name=l3 sig_type=std_logic lab=INn}
+C {lab_wire.sym} 1080 -70 0 1 {name=l4 sig_type=std_logic lab=INn}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 80 -210 0 0 {name=XMdiffp model=sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 460 -210 0 0 {name=XMdiffp1 model=sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15 m=1
+
+}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 460 -70 0 0 {name=XMdiffp2 model=sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 880 -210 0 0 {name=XMdiffp3 model=sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 1260 -210 0 0 {name=XMdiffp4 model=sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15 
+
+}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 1260 -70 0 0 {name=XMdiffp5 model=sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15
+
+}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 260 -210 0 1 {name=XMdiffp6 model=sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15
+
+
+}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 260 -70 0 1 {name=XMdiffp7 model=sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 640 -210 0 1 {name=XMdiffp8 model=sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 1060 -210 0 1 {name=XMdiffp9 model=sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15 
+
+}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 1060 -70 0 1 {name=XMdiffp10 model=sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15
+
+}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 1440 -210 0 1 {name=XMdiffp11 model=sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15 
+
+}
+C {lab_wire.sym} 170 -580 0 1 {name=l5 sig_type=std_logic lab=gnd}
+C {lab_wire.sym} 500 -580 0 1 {name=l6 sig_type=std_logic lab=gnd}
+C {lab_wire.sym} 970 -580 0 1 {name=l7 sig_type=std_logic lab=gnd}
+C {lab_wire.sym} 1300 -580 0 1 {name=l8 sig_type=std_logic lab=gnd}
+C {lab_wire.sym} 310 -160 0 1 {name=l9 sig_type=std_logic lab=source_pcross}
+C {lab_wire.sym} 1110 -160 0 1 {name=l10 sig_type=std_logic lab=source_ncross}
+C {lab_wire.sym} 1110 -130 0 1 {name=l11 sig_type=std_logic lab=source_ptoggle}
+C {lab_wire.sym} 310 -130 0 1 {name=l12 sig_type=std_logic lab=source_ntoggle}
+C {sky130_fd_pr/res_xhigh_po.sym} 240 -580 0 0 {name=R1
+W=2.85
+L=5
+model=res_xhigh_po
+spiceprefix=X
+mult=1}
+C {sky130_fd_pr/res_xhigh_po.sym} 480 -580 0 1 {name=R2
+W=2.85
+L=5
+model=res_xhigh_po
+spiceprefix=X
+mult=1}
+C {sky130_fd_pr/res_xhigh_po.sym} 1040 -580 0 0 {name=R3
+W=2.85
+L=5
+model=res_xhigh_po
+spiceprefix=X
+mult=1}
+C {sky130_fd_pr/res_xhigh_po.sym} 1280 -580 0 1 {name=R4
+W=2.85
+L=5
+model=res_xhigh_po
+spiceprefix=X
+mult=1}
diff --git a/xschem/divider_cml/divider_cml.sym b/xschem/divider_cml/divider_cml.sym
new file mode 100644
index 0000000..733bae2
--- /dev/null
+++ b/xschem/divider_cml/divider_cml.sym
@@ -0,0 +1,36 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {type=subcircuit
+format="@name @pinlist @symname"
+template="name=x1"
+}
+V {}
+S {}
+E {}
+L 3 -16 0 -5 0 {}
+L 3 -11 -3 -10 -3 {}
+L 3 -11 3 -10 3 {}
+L 4 -80 -40 -80 40 {}
+L 4 80 -40 80 40 {}
+L 4 80 -10 100 -10 {}
+L 4 80 10 100 10 {}
+L 4 -100 -10 -80 -10 {}
+L 4 -100 10 -80 10 {}
+L 4 -80 -40 80 -40 {}
+L 4 -80 40 80 40 {}
+L 7 0 -60 0 -40 {}
+L 7 0 40 0 60 {}
+B 5 -2.5 -62.5 2.5 -57.5 {name=VDD dir=inout }
+B 5 97.5 -12.5 102.5 -7.5 {name=OUTp dir=out }
+B 5 97.5 7.5 102.5 12.5 {name=OUTn dir=out }
+B 5 -102.5 -12.5 -97.5 -7.5 {name=INp dir=in }
+B 5 -102.5 7.5 -97.5 12.5 {name=INn dir=in }
+B 5 -2.5 57.5 2.5 62.5 {name=GND dir=inout }
+T {@symname} 32.5 64 0 0 0.3 0.3 {}
+T {@name} 35 48 0 0 0.2 0.2 {}
+T {VDD} 12 -35 0 1 0.2 0.2 {}
+T {OUTp} 75 -14 0 1 0.2 0.2 {}
+T {OUTn} 75 6 0 1 0.2 0.2 {}
+T {INp} -75 -14 0 0 0.2 0.2 {}
+T {INn} -75 6 0 0 0.2 0.2 {}
+T {GND} -12 35 2 1 0.2 0.2 {}
+T {2} 0 -12 0 0 0.4 0.4 {}
diff --git a/xschem/divider_cml/test/divider_cml_test.sch b/xschem/divider_cml/test/divider_cml_test.sch
new file mode 100644
index 0000000..a191dba
--- /dev/null
+++ b/xschem/divider_cml/test/divider_cml_test.sch
@@ -0,0 +1,81 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {}
+V {}
+S {}
+E {}
+N 520 -160 620 -160 {lab=in_n}
+N 520 -180 620 -180 {lab=in_p}
+N 720 -340 720 -230 {lab=vdd}
+N -0 -340 720 -340 {lab=vdd}
+N -0 -340 0 -250 {lab=vdd}
+N 0 -190 0 -0 {lab=0}
+N 460 0 720 0 {lab=0}
+N 720 -110 720 0 {lab=0}
+N 1030 -320 1030 -230 {lab=vdd_tb}
+N 100 -320 100 -250 {lab=vdd_tb}
+N 460 -320 1030 -320 {lab=vdd_tb}
+N 460 -320 460 -210 {lab=vdd_tb}
+N 100 -190 100 0 {lab=0}
+N 460 -130 460 0 {lab=0}
+N 1030 -110 1030 0 {lab=0}
+N 720 0 1030 0 {lab=0}
+N 280 -160 280 -100 {lab=src_n}
+N 280 -160 390 -160 {lab=src_n}
+N 140 -180 140 -100 {lab=src_p}
+N 140 -180 390 -180 {lab=src_p}
+N 140 -40 140 0 {lab=0}
+N 280 -40 280 -0 {lab=0}
+N 820 -180 930 -180 {lab=out_p}
+N 820 -160 930 -160 {lab=out_n}
+N 1340 -320 1340 -230 {lab=vdd_tb}
+N 1340 -110 1340 0 {lab=0}
+N 1030 -320 1340 -320 {lab=vdd_tb}
+N 1130 -180 1240 -180 {lab=out2_p}
+N 1130 -160 1240 -160 {lab=out2_n}
+N 1030 -0 1340 -0 {lab=0}
+N 0 -0 100 0 {lab=0}
+N 280 -0 460 0 {lab=0}
+N 100 -320 460 -320 {lab=vdd_tb}
+N 100 0 140 0 {lab=0}
+N 140 0 280 -0 {lab=0}
+C {code.sym} 890 -490 0 0 {name=STIMULI
+tclcommand="xschem edit_vi_prop"
+value="
+.param temp=125
+.temp 125
+
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_cM02W1p65L0p15.spice
+.lib sky130_fd_pr/models/sky130.lib.spice ss
+
+.tran 0.01n 10n uic
+.param vdd=1.8
+.param rise_fall_time=10e-12
+.param frequency=10e9
+
+.options savecurrents
+"}
+C {vsource.sym} 0 -220 0 0 {name=Vdd value=vdd}
+C {lab_wire.sym} 0 0 0 1 {name=l5 sig_type=std_logic lab=0}
+C {divider_cml/divider_cml.sym} 720 -170 0 0 {name=x1}
+C {rf_bufferdiff/rf_bufferdiff.sym} 460 -170 0 0 {name=x2}
+C {divider_cml/divider_cml.sym} 1030 -170 0 0 {name=x3}
+C {vsource.sym} 100 -220 0 0 {name=Vdd_tb value=vdd}
+C {vsource.sym} 140 -70 0 0 {name=Vin_p value="pulse(0 \{vdd\} 0 rise_fall_time rise_fall_time \{0.5/frequency\} \{1.0/frequency\} 0)"}
+C {vsource.sym} 280 -70 0 0 {name=Vin_n value="pulse(\{vdd\} 0 0 rise_fall_time rise_fall_time \{0.5/frequency\} \{1.0/frequency\} 0)"}
+C {lab_wire.sym} 0 -340 0 1 {name=l1 sig_type=std_logic lab=vdd}
+C {lab_wire.sym} 100 -320 0 1 {name=l2 sig_type=std_logic lab=vdd_tb}
+C {lab_wire.sym} 520 -180 0 1 {name=l3 sig_type=std_logic lab=in_p}
+C {lab_wire.sym} 520 -160 0 1 {name=l4 sig_type=std_logic lab=in_n}
+C {lab_wire.sym} 820 -180 0 1 {name=l6 sig_type=std_logic lab=out_p}
+C {lab_wire.sym} 820 -160 0 1 {name=l7 sig_type=std_logic lab=out_n}
+C {lab_wire.sym} 280 -180 0 1 {name=l8 sig_type=std_logic lab=src_p}
+C {lab_wire.sym} 280 -160 0 1 {name=l9 sig_type=std_logic lab=src_n}
+C {lab_wire.sym} 820 -180 0 1 {name=l10 sig_type=std_logic lab=out_p}
+C {lab_wire.sym} 820 -160 0 1 {name=l11 sig_type=std_logic lab=out_n}
+C {lab_wire.sym} 820 -180 0 1 {name=l12 sig_type=std_logic lab=out_p}
+C {lab_wire.sym} 820 -160 0 1 {name=l13 sig_type=std_logic lab=out_n}
+C {lab_wire.sym} 1130 -180 0 1 {name=l14 sig_type=std_logic lab=out2_p}
+C {lab_wire.sym} 1130 -160 0 1 {name=l15 sig_type=std_logic lab=out2_n}
+C {divider_cml/divider_cml.sym} 1340 -170 0 0 {name=x4}
+C {lab_wire.sym} 1440 -180 0 1 {name=l22 sig_type=std_logic lab=out4_p}
+C {lab_wire.sym} 1440 -160 0 1 {name=l23 sig_type=std_logic lab=out4_n}
diff --git a/xschem/divider_ff/divider_ff.sch b/xschem/divider_ff/divider_ff.sch
new file mode 100644
index 0000000..13ccb23
--- /dev/null
+++ b/xschem/divider_ff/divider_ff.sch
@@ -0,0 +1,282 @@
+v {xschem version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N 0 0 240 0 {lab=GND}
+N 240 -220 240 -190 {lab=#net1}
+N 140 -280 200 -280 {lab=INn}
+N 140 -160 200 -160 {lab=INp}
+N 100 -60 200 -60 {lab=OUTp}
+N 100 -220 100 -60 {lab=OUTp}
+N 100 -380 200 -380 {lab=OUTp}
+N 240 -350 240 -310 {lab=#net2}
+N 240 -130 240 -90 {lab=#net3}
+N 240 -160 260 -160 {lab=GND}
+N 260 -60 260 0 {lab=GND}
+N 240 0 260 0 {lab=GND}
+N 240 -30 240 0 {lab=GND}
+N 240 -60 260 -60 {lab=GND}
+N 240 -440 240 -410 {lab=VDD}
+N 240 -440 260 -440 {lab=VDD}
+N 260 -380 260 -280 {lab=VDD}
+N 240 -280 260 -280 {lab=VDD}
+N 240 -380 260 -380 {lab=VDD}
+N 380 -60 440 -60 {lab=#net1}
+N 380 -220 380 -60 {lab=#net1}
+N 380 -380 440 -380 {lab=#net1}
+N 480 -350 480 -220 {lab=#net4}
+N 480 -220 480 -90 {lab=#net4}
+N 500 -60 500 0 {lab=GND}
+N 480 0 500 0 {lab=GND}
+N 480 -30 480 0 {lab=GND}
+N 480 -60 500 -60 {lab=GND}
+N 480 -440 480 -410 {lab=VDD}
+N 480 -440 500 -440 {lab=VDD}
+N 480 -380 500 -380 {lab=VDD}
+N 260 -160 260 -60 {lab=GND}
+N 260 -440 260 -380 {lab=VDD}
+N 500 -440 500 -380 {lab=VDD}
+N 240 -220 380 -220 {lab=#net1}
+N 760 -220 760 -190 {lab=#net5}
+N 660 -280 720 -280 {lab=INp}
+N 660 -160 720 -160 {lab=INn}
+N 620 -60 720 -60 {lab=#net4}
+N 620 -220 620 -60 {lab=#net4}
+N 620 -380 720 -380 {lab=#net4}
+N 760 -350 760 -310 {lab=#net6}
+N 760 -130 760 -90 {lab=#net7}
+N 760 -160 780 -160 {lab=GND}
+N 780 -60 780 0 {lab=GND}
+N 760 0 780 0 {lab=GND}
+N 760 -30 760 0 {lab=GND}
+N 760 -60 780 -60 {lab=GND}
+N 760 -440 760 -410 {lab=VDD}
+N 760 -440 780 -440 {lab=VDD}
+N 780 -380 780 -280 {lab=VDD}
+N 760 -280 780 -280 {lab=VDD}
+N 760 -380 780 -380 {lab=VDD}
+N 780 -160 780 -60 {lab=GND}
+N 780 -440 780 -380 {lab=VDD}
+N 760 -220 900 -220 {lab=#net5}
+N 480 -220 620 -220 {lab=#net4}
+N 1140 -180 1320 -180 {lab=OUTn}
+N 1240 -260 1320 -260 {lab=OUTp}
+N 260 -440 480 -440 {lab=VDD}
+N 500 -440 760 -440 {lab=VDD}
+N 780 -440 1000 -440 {lab=VDD}
+N 260 0 480 0 {lab=GND}
+N 500 0 760 0 {lab=GND}
+N 780 0 1000 0 {lab=GND}
+N 1240 -220 1440 -220 {lab=OUTp}
+N 1440 -480 1440 -220 {lab=OUTp}
+N 40 -480 1440 -480 {lab=OUTp}
+N 40 -480 40 -220 {lab=OUTp}
+N 40 -220 100 -220 {lab=OUTp}
+N 0 -440 240 -440 {lab=VDD}
+N 900 -60 960 -60 {lab=#net5}
+N 900 -220 900 -60 {lab=#net5}
+N 900 -380 960 -380 {lab=#net5}
+N 1000 -350 1000 -220 {lab=OUTn}
+N 1000 -220 1000 -90 {lab=OUTn}
+N 1020 -60 1020 0 {lab=GND}
+N 1000 0 1020 0 {lab=GND}
+N 1000 -30 1000 0 {lab=GND}
+N 1000 -60 1020 -60 {lab=GND}
+N 1000 -440 1000 -410 {lab=VDD}
+N 1000 -440 1020 -440 {lab=VDD}
+N 1000 -380 1020 -380 {lab=VDD}
+N 1020 -440 1020 -380 {lab=VDD}
+N 1140 -60 1200 -60 {lab=OUTn}
+N 1140 -180 1140 -60 {lab=OUTn}
+N 1140 -380 1200 -380 {lab=OUTn}
+N 1240 -350 1240 -260 {lab=OUTp}
+N 1240 -220 1240 -90 {lab=OUTp}
+N 1260 -60 1260 0 {lab=GND}
+N 1240 0 1260 0 {lab=GND}
+N 1240 -30 1240 0 {lab=GND}
+N 1240 -60 1260 -60 {lab=GND}
+N 1240 -440 1240 -410 {lab=VDD}
+N 1240 -440 1260 -440 {lab=VDD}
+N 1240 -380 1260 -380 {lab=VDD}
+N 1260 -440 1260 -380 {lab=VDD}
+N 1000 -220 1140 -220 {lab=OUTn}
+N 1020 -440 1240 -440 {lab=VDD}
+N 1020 0 1240 0 {lab=GND}
+N 240 -250 240 -220 {lab=#net1}
+N 100 -380 100 -220 {lab=OUTp}
+N 380 -380 380 -220 {lab=#net1}
+N 760 -250 760 -220 {lab=#net5}
+N 620 -380 620 -220 {lab=#net4}
+N 900 -380 900 -220 {lab=#net5}
+N 1140 -380 1140 -220 {lab=OUTn}
+N 1140 -220 1140 -180 {lab=OUTn}
+N 1240 -260 1240 -220 {lab=OUTp}
+C {ipin.sym} 0 -200 0 0 {name=p1 lab=INn}
+C {opin.sym} 1320 -260 0 0 {name=p5 lab=OUTp
+}
+C {iopin.sym} 0 -440 0 1 {name=p7 lab=VDD}
+C {iopin.sym} 0 0 0 1 {name=p8 lab=GND
+}
+C {opin.sym} 1320 -180 0 0 {name=p10 lab=OUTn
+}
+C {ipin.sym} 0 -240 0 0 {name=p11 lab=INp}
+C {lab_wire.sym} 140 -280 0 1 {name=l1 sig_type=std_logic lab=INn}
+C {lab_wire.sym} 140 -160 0 1 {name=l2 sig_type=std_logic lab=INp}
+C {lab_wire.sym} 660 -280 0 1 {name=l3 sig_type=std_logic lab=INp}
+C {lab_wire.sym} 660 -160 0 1 {name=l4 sig_type=std_logic lab=INn}
+C {sky130_fd_pr/pfet_01v8.sym} 220 -380 0 0 {name=Mpasspba
+L=0.15
+W=1.5
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=2
+model=pfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_01v8.sym} 220 -280 0 0 {name=Mpasspca
+L=0.15
+W=1.5
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=2
+model=pfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_01v8.sym} 460 -380 0 0 {name=Mpasspba1Minvap
+L=0.15
+W=1.5
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=2
+model=pfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_01v8.sym} 740 -380 0 0 {name=Mpasspba3
+L=0.15
+W=1.5
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=2
+model=pfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_01v8.sym} 740 -280 0 0 {name=Mpasspca2
+L=0.15
+W=1.5
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=2
+model=pfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_01v8.sym} 980 -380 0 0 {name=Minvap5
+L=0.15
+W=1.5
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=2
+model=pfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_01v8.sym} 1220 -380 0 0 {name=Minvap1
+L=0.15
+W=1.5
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=2
+model=pfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_01v8.sym} 220 -160 0 0 {name=Mpassnca
+L=0.15
+W=1
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=1
+model=nfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_01v8.sym} 220 -60 0 0 {name=Mpassnba
+L=0.15
+W=1
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=1
+model=nfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_01v8.sym} 460 -60 0 0 {name=Minvan
+L=0.15
+W=1
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=1
+model=nfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_01v8.sym} 740 -160 0 0 {name=Mpassnca1
+L=0.15
+W=1
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=1
+model=nfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_01v8.sym} 740 -60 0 0 {name=Mpassnba4
+L=0.15
+W=1
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=1
+model=nfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_01v8.sym} 980 -60 0 0 {name=Minvan6
+L=0.15
+W=1
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=1
+model=nfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_01v8.sym} 1220 -60 0 0 {name=Minvan2
+L=0.15
+W=1
+ad="'W * 0.29'" pd="'W + 2 * 0.29'"
+as="'W * 0.29'" ps="'W + 2 * 0.29'"
+nrd=0 nrs=0
+sa=0 sb=0 sd=0
+nf=1 mult=1
+model=nfet_01v8
+spiceprefix=X
+}
diff --git a/xschem/divider_ff/divider_ff.sym b/xschem/divider_ff/divider_ff.sym
new file mode 100644
index 0000000..733bae2
--- /dev/null
+++ b/xschem/divider_ff/divider_ff.sym
@@ -0,0 +1,36 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {type=subcircuit
+format="@name @pinlist @symname"
+template="name=x1"
+}
+V {}
+S {}
+E {}
+L 3 -16 0 -5 0 {}
+L 3 -11 -3 -10 -3 {}
+L 3 -11 3 -10 3 {}
+L 4 -80 -40 -80 40 {}
+L 4 80 -40 80 40 {}
+L 4 80 -10 100 -10 {}
+L 4 80 10 100 10 {}
+L 4 -100 -10 -80 -10 {}
+L 4 -100 10 -80 10 {}
+L 4 -80 -40 80 -40 {}
+L 4 -80 40 80 40 {}
+L 7 0 -60 0 -40 {}
+L 7 0 40 0 60 {}
+B 5 -2.5 -62.5 2.5 -57.5 {name=VDD dir=inout }
+B 5 97.5 -12.5 102.5 -7.5 {name=OUTp dir=out }
+B 5 97.5 7.5 102.5 12.5 {name=OUTn dir=out }
+B 5 -102.5 -12.5 -97.5 -7.5 {name=INp dir=in }
+B 5 -102.5 7.5 -97.5 12.5 {name=INn dir=in }
+B 5 -2.5 57.5 2.5 62.5 {name=GND dir=inout }
+T {@symname} 32.5 64 0 0 0.3 0.3 {}
+T {@name} 35 48 0 0 0.2 0.2 {}
+T {VDD} 12 -35 0 1 0.2 0.2 {}
+T {OUTp} 75 -14 0 1 0.2 0.2 {}
+T {OUTn} 75 6 0 1 0.2 0.2 {}
+T {INp} -75 -14 0 0 0.2 0.2 {}
+T {INn} -75 6 0 0 0.2 0.2 {}
+T {GND} -12 35 2 1 0.2 0.2 {}
+T {2} 0 -12 0 0 0.4 0.4 {}
diff --git a/xschem/divider_ff/test/divider_ff_test.sch b/xschem/divider_ff/test/divider_ff_test.sch
new file mode 100644
index 0000000..a6240ee
--- /dev/null
+++ b/xschem/divider_ff/test/divider_ff_test.sch
@@ -0,0 +1,112 @@
+v {xschem version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N 480 -60 540 -60 {lab=in_p}
+N 480 -220 480 -60 {lab=in_p}
+N 480 -380 540 -380 {lab=in_p}
+N 580 -350 580 -220 {lab=in_n}
+N 580 -220 580 -90 {lab=in_n}
+N 600 -60 600 0 {lab=0}
+N 580 0 600 0 {lab=0}
+N 580 -30 580 0 {lab=0}
+N 580 -60 600 -60 {lab=0}
+N 580 -440 580 -410 {lab=#net1}
+N 580 -440 600 -440 {lab=#net1}
+N 580 -380 600 -380 {lab=#net1}
+N 600 -440 600 -380 {lab=#net1}
+N 340 -220 480 -220 {lab=in_p}
+N 360 -440 580 -440 {lab=#net1}
+N 360 0 580 0 {lab=0}
+N 480 -240 850 -240 {lab=in_p}
+N 580 -220 850 -220 {lab=in_n}
+N 950 -400 950 -290 {lab=#net2}
+N 600 -440 950 -440 {lab=#net1}
+N 950 -170 950 0 {lab=0}
+N 600 0 950 0 {lab=0}
+N 240 -60 300 -60 {lab=in_vs}
+N 240 -220 240 -60 {lab=in_vs}
+N 240 -380 300 -380 {lab=in_vs}
+N 340 -350 340 -220 {lab=in_p}
+N 340 -220 340 -90 {lab=in_p}
+N 360 -60 360 0 {lab=0}
+N 340 0 360 0 {lab=0}
+N 340 -30 340 0 {lab=0}
+N 340 -60 360 -60 {lab=0}
+N 340 -440 340 -410 {lab=#net1}
+N 340 -440 360 -440 {lab=#net1}
+N 340 -380 360 -380 {lab=#net1}
+N 360 -440 360 -380 {lab=#net1}
+N 1420 -60 1480 -60 {lab=out_p}
+N 1420 -240 1420 -60 {lab=out_p}
+N 1420 -380 1480 -380 {lab=out_p}
+N 1520 -350 1520 -90 {lab=#net3}
+N 1540 -60 1540 0 {lab=0}
+N 1520 0 1540 0 {lab=0}
+N 1520 -30 1520 0 {lab=0}
+N 1520 -60 1540 -60 {lab=0}
+N 1520 -440 1520 -410 {lab=#net1}
+N 1520 -440 1540 -440 {lab=#net1}
+N 1520 -380 1540 -380 {lab=#net1}
+N 1540 -440 1540 -380 {lab=#net1}
+N 1300 -440 1520 -440 {lab=#net1}
+N 1300 0 1520 0 {lab=0}
+N 1180 -60 1240 -60 {lab=out_n}
+N 1180 -220 1180 -60 {lab=out_n}
+N 1180 -380 1240 -380 {lab=out_n}
+N 1280 -350 1280 -90 {lab=#net4}
+N 1300 -60 1300 0 {lab=0}
+N 1280 0 1300 0 {lab=0}
+N 1280 -30 1280 0 {lab=0}
+N 1280 -60 1300 -60 {lab=0}
+N 1280 -440 1280 -410 {lab=#net1}
+N 1280 -440 1300 -440 {lab=#net1}
+N 1280 -380 1300 -380 {lab=#net1}
+N 1300 -440 1300 -380 {lab=#net1}
+N 950 -440 1280 -440 {lab=#net1}
+N 950 0 1280 0 {lab=0}
+N 1050 -220 1180 -220 {lab=out_n}
+N 1050 -240 1420 -240 {lab=out_p}
+N 480 -240 480 -220 {lab=in_p}
+N 480 -380 480 -240 {lab=in_p}
+N 1420 -380 1420 -240 {lab=out_p}
+N 1180 -380 1180 -220 {lab=out_n}
+N 130 -90 130 0 {lab=0}
+N 130 0 340 0 {lab=0}
+N 130 -220 130 -150 {lab=in_vs}
+N 130 -220 240 -220 {lab=in_vs}
+N -0 -440 -0 -260 { lab=#net1}
+N -0 -440 340 -440 { lab=#net1}
+N -0 -200 -0 0 { lab=0}
+N -0 0 130 -0 { lab=0}
+N 790 -400 790 -360 { lab=#net2}
+N 790 -400 950 -400 { lab=#net2}
+N 240 -380 240 -220 {lab=in_vs}
+N 790 -300 790 0 { lab=0}
+C {pmos4.sym} 560 -380 0 0 {name=XMinvap1 model=sky130_fd_pr__pfet_01v8 w=3 l=0.15 m=1}
+C {nmos4.sym} 560 -60 0 0 {name=XMinvan2 model=sky130_fd_pr__nfet_01v8 w=1 l=0.15 m=1}
+C {vsource.sym} 130 -120 0 0 {name=Vin value="pulse(0 vdd 0 \{0.001/frequency\} \{0.001/frequency\} \{0.5/frequency\} \{1.0/frequency\} 0)"}
+C {pmos4.sym} 320 -380 0 0 {name=XMinvap2 model=sky130_fd_pr__pfet_01v8 w=3 l=0.15 m=1}
+C {nmos4.sym} 320 -60 0 0 {name=XMinvan3 model=sky130_fd_pr__nfet_01v8 w=1 l=0.15 m=1}
+C {pmos4.sym} 1260 -380 0 0 {name=XMinvap3 model=sky130_fd_pr__pfet_01v8 w=3 l=0.15 m=1}
+C {pmos4.sym} 1500 -380 0 0 {name=XMinvap6 model=sky130_fd_pr__pfet_01v8 w=3 l=0.15 m=1}
+C {nmos4.sym} 1500 -60 0 0 {name=XMinvan7 model=sky130_fd_pr__nfet_01v8 w=1 l=0.15 m=1}
+C {pmos4.sym} 1260 -380 0 0 {name=XMinvap8 model=sky130_fd_pr__pfet_01v8 w=3 l=0.15 m=1}
+C {nmos4.sym} 1260 -60 0 0 {name=XMinvan9 model=sky130_fd_pr__nfet_01v8 w=1 l=0.15 m=1}
+C {lab_wire.sym} 130 -220 0 1 {name=l1 sig_type=std_logic lab=in_vs}
+C {divider_ff/divider_ff.sym} 950 -230 0 0 {name=x1}
+C {vsource.sym} 0 -230 0 0 {name=Vddtb value=vdd}
+C {lab_wire.sym} 0 0 0 1 {name=l2 sig_type=std_logic lab=0}
+C {lab_wire.sym} 670 -240 0 1 {name=l3 sig_type=std_logic lab=in_p}
+C {lab_wire.sym} 670 -220 0 1 {name=l4 sig_type=std_logic lab=in_n}
+C {lab_wire.sym} 1100 -240 0 1 {name=l5 sig_type=std_logic lab=out_p}
+C {lab_wire.sym} 1100 -220 0 1 {name=l6 sig_type=std_logic lab=out_n}
+C {code_shown.sym} 0 -570 0 0 {name=SPICE only_toplevel=false value=".lib /usr/local/share/sky130_fd_pr/models/sky130.lib.spice ss
+.temp 125
+.tran 0.01n 10n
+.param vdd=1.8
+.param frequency=2e9
+.save all"}
+C {vsource.sym} 790 -330 0 0 {name=Vdd value=vdd}
diff --git a/xschem/fractional_n_divider/config.tcl b/xschem/fractional_n_divider/config.tcl
new file mode 100644
index 0000000..cd7567e
--- /dev/null
+++ b/xschem/fractional_n_divider/config.tcl
@@ -0,0 +1,25 @@
+# User config
+set ::env(DESIGN_NAME) fractional_n_divider
+
+# Change if needed
+set ::env(VERILOG_FILES) [glob $::env(DESIGN_DIR)/src/*.v]
+
+set ::env(FP_PIN_ORDER_CFG) $::env(DESIGN_DIR)/pin_order.cfg
+
+# Fill this
+set ::env(CLOCK_PERIOD) "10"
+set ::env(CLOCK_PORT) "input_frequency"
+# set ::env(CLOCK_NET) $::env(CLOCK_PORT)
+
+set ::env(CELL_PAD) 4
+set ::env(SYNTH_MAX_FANOUT) 5
+set ::env(FP_CORE_UTIL) 49
+set ::env(PL_TARGET_DENSITY) [ expr ($::env(FP_CORE_UTIL)+5) / 100.0 ]
+
+
+set filename $::env(DESIGN_DIR)/$::env(PDK)_$::env(STD_CELL_LIBRARY)_config.tcl
+if { [file exists $filename] == 1} {
+	source $filename
+}
+
+
diff --git a/xschem/fractional_n_divider/doc/mash111.svg b/xschem/fractional_n_divider/doc/mash111.svg
new file mode 100644
index 0000000..21d6237
--- /dev/null
+++ b/xschem/fractional_n_divider/doc/mash111.svg
@@ -0,0 +1,939 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="100.64648mm"
+   height="66.633179mm"
+   viewBox="0 0 100.64648 66.633179"
+   version="1.1"
+   id="svg8"
+   inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+   sodipodi:docname="mash111.svg">
+  <defs
+     id="defs2">
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker3781"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path3779"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker3613"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path3611"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2549"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2547"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker2250"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path2248"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2154"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2152"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1896"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path1894"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1635"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path1633"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1276"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path1274"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleOutM"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path1009"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker2250-4"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM">
+      <path
+         inkscape:connector-curvature="0"
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path2248-3" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2154-1"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2152-4"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1896-6"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path1894-9" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1635-4"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1633-2"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1276-2"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path1274-6" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleOutM-4"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1009-1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2549-1"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2547-7"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1276-2-1"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path1274-6-5" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleOutM-4-4"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1009-1-9"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.959798"
+     inkscape:cx="193.94913"
+     inkscape:cy="163.72649"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="2560"
+     inkscape:window-height="1052"
+     inkscape:window-x="1366"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     fit-margin-top="1"
+     fit-margin-left="1"
+     fit-margin-bottom="1"
+     fit-margin-right="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid815"
+       originx="-48.73605"
+       originy="-144.25625" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-48.736046,-86.110574)">
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 56.885416,122.375 v 5.29167 l 6.614583,3.96875 -6.614583,3.96875 v 5.29166 l 17.197916,-6.61458 10e-7,-5.29167 z"
+       id="path817"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccc" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5291667;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838"
+       width="7.9375"
+       height="7.9374948"
+       x="63.5"
+       y="143.54167" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="65.142899"
+       y="149.36787"
+       id="text842"><tspan
+         sodipodi:role="line"
+         id="tspan840"
+         x="65.142899"
+         y="149.36787"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="68.095955"
+       y="147.22972"
+       id="text842-4"><tspan
+         sodipodi:role="line"
+         id="tspan840-9"
+         x="68.095955"
+         y="147.22972"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM);paint-order:normal"
+       d="M 63.499999,147.51042 H 52.916666 V 138.25 H 55.5625"
+       id="path862"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1276)"
+       d="m 74.083332,131.63542 h 3.96875 v 15.875 h -5.291665"
+       id="path1266"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="57.683598"
+       y="126.2355"
+       id="text842-9"><tspan
+         sodipodi:role="line"
+         id="tspan840-3"
+         x="57.683598"
+         y="126.2355"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">A</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="57.447365"
+       y="138.90715"
+       id="text842-9-6"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-0"
+         x="57.447365"
+         y="138.90715"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">B</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="67.936203"
+       y="132.53825"
+       id="text842-9-6-5"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-0-0"
+         x="67.936203"
+         y="132.53825"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">A+B</tspan></text>
+    <circle
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path1382"
+       cx="66.145836"
+       cy="110.46876"
+       r="3.96875" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 63.499999,110.46875 h 5.291667"
+       id="path1384"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 66.145833,107.82292 v 5.29166"
+       id="path1384-2"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1635)"
+       d="M 66.145833,125.81458 V 115.76042"
+       id="path1625"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916676;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-9"
+       width="7.9375"
+       height="7.9374948"
+       x="70.114586"
+       y="94.59375" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="71.757484"
+       y="100.41994"
+       id="text842-43"><tspan
+         sodipodi:role="line"
+         id="tspan840-5"
+         x="71.757484"
+         y="100.41994"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="74.710541"
+       y="98.281799"
+       id="text842-4-1"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-7"
+         x="74.710541"
+         y="98.281799"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1896)"
+       d="m 70.114583,98.5625 h -3.968751 v 6.61458"
+       id="path1886"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2154)"
+       d="M 82.020832,110.46875 V 98.5625 H 79.375"
+       id="path2144"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2250)"
+       d="M 82.020832,110.46875 H 71.4375"
+       id="path2240"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <circle
+       style="opacity:1;fill:#000000;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path2336"
+       cx="82.020836"
+       cy="110.46875"
+       r="0.26458332" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.52916676;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 89.958335,122.375 v 5.29167 l 6.61458,3.96875 -6.61458,3.96875 v 5.29166 l 17.197905,-6.61458 v -5.29167 z"
+       id="path817-2"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccc" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916676;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-8"
+       width="7.9375"
+       height="7.9374948"
+       x="96.572914"
+       y="143.54167" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="98.215813"
+       y="149.36787"
+       id="text842-8"><tspan
+         sodipodi:role="line"
+         id="tspan840-92"
+         x="98.215813"
+         y="149.36787"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="101.16886"
+       y="147.22972"
+       id="text842-4-8"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-8"
+         x="101.16886"
+         y="147.22972"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-4);paint-order:normal"
+       d="M 96.572915,147.51042 H 85.989585 V 138.25 h 2.64583"
+       id="path862-8"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1276-2)"
+       d="m 107.15624,131.63542 h 3.96875 v 15.875 h -5.29166"
+       id="path1266-6"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="90.756516"
+       y="126.23549"
+       id="text842-9-8"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-3"
+         x="90.756516"
+         y="126.23549"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">A</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="90.520271"
+       y="138.90715"
+       id="text842-9-6-8"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-0-3"
+         x="90.520271"
+         y="138.90715"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">B</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="101.00911"
+       y="132.53825"
+       id="text842-9-6-5-3"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-0-0-3"
+         x="101.00911"
+         y="132.53825"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">A+B</tspan></text>
+    <circle
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916676;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path1382-8"
+       cx="99.218765"
+       cy="110.46875"
+       r="3.96875" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 96.572915,110.46875 h 5.291665"
+       id="path1384-0"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 99.218745,107.82292 v 5.29166"
+       id="path1384-2-4"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1635-4)"
+       d="M 99.218745,125.81458 V 115.76042"
+       id="path1625-7"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916682;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-9-6"
+       width="7.9375"
+       height="7.9374948"
+       x="103.18752"
+       y="94.593735" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="104.83039"
+       y="100.41993"
+       id="text842-43-8"><tspan
+         sodipodi:role="line"
+         id="tspan840-5-9"
+         x="104.83039"
+         y="100.41993"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="107.78345"
+       y="98.281792"
+       id="text842-4-1-0"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-7-6"
+         x="107.78345"
+         y="98.281792"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1896-6)"
+       d="m 103.18749,98.5625 h -3.968745 v 6.61458"
+       id="path1886-8"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2154-1)"
+       d="M 115.09374,110.46875 V 98.5625 h -2.64583"
+       id="path2144-7"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2250-4)"
+       d="M 115.09374,110.46875 H 104.51041"
+       id="path2240-9"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <circle
+       style="opacity:1;fill:#000000;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path2336-0"
+       cx="115.09377"
+       cy="110.46873"
+       r="0.26458332" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2549)"
+       d="m 78.052082,131.63542 v -6.61459 h 10.583335"
+       id="path2539"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <circle
+       style="opacity:1;fill:#000000;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path2336-3"
+       cx="78.052086"
+       cy="131.63542"
+       r="0.26458332" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 95.25,110.46875 H 82.020832"
+       id="path2698"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="66.648727"
+       y="125.17243"
+       id="text842-9-3"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37"
+         x="66.648727"
+         y="125.17243"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">C</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="68.555138"
+       y="125.74648"
+       id="text842-9-3-3"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-2"
+         x="68.555138"
+         y="125.74648"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.41111112px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">OUT</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="99.745262"
+       y="125.04015"
+       id="text842-9-3-6"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-5"
+         x="99.745262"
+         y="125.04015"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">C</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="101.65167"
+       y="125.6142"
+       id="text842-9-3-3-2"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-2-6"
+         x="101.65167"
+         y="125.6142"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.41111112px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">OUT</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.52916682;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 123.03125,122.375 v 5.29167 l 6.61458,3.96875 -6.61458,3.96875 v 5.29166 l 17.19791,-6.61458 v -5.29167 z"
+       id="path817-2-2"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccc" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916682;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-8-5"
+       width="7.9375"
+       height="7.9374948"
+       x="129.64584"
+       y="143.54167" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="131.28876"
+       y="149.36789"
+       id="text842-8-7"><tspan
+         sodipodi:role="line"
+         id="tspan840-92-4"
+         x="131.28876"
+         y="149.36789"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="134.24179"
+       y="147.22974"
+       id="text842-4-8-9"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-8-9"
+         x="134.24179"
+         y="147.22974"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-4-4);paint-order:normal"
+       d="M 129.64583,147.51042 H 119.0625 V 138.25 h 2.64583"
+       id="path862-8-4"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1276-2-1)"
+       d="m 140.22916,131.63542 h 3.96875 v 15.875 h -5.29166"
+       id="path1266-6-5"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="123.82944"
+       y="126.23549"
+       id="text842-9-8-9"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-3-3"
+         x="123.82944"
+         y="126.23549"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">A</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="123.59319"
+       y="138.90715"
+       id="text842-9-6-8-5"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-0-3-7"
+         x="123.59319"
+         y="138.90715"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">B</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="134.08205"
+       y="132.53825"
+       id="text842-9-6-5-3-0"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-0-0-3-8"
+         x="134.08205"
+         y="132.53825"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">A+B</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2549-1)"
+       d="m 111.12499,131.63542 v -6.61459 h 10.58334"
+       id="path2539-9"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="132.81819"
+       y="125.04016"
+       id="text842-9-3-6-9"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-5-7"
+         x="132.81819"
+         y="125.04016"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">C</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="134.72461"
+       y="125.6142"
+       id="text842-9-3-3-2-8"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-2-6-2"
+         x="134.72461"
+         y="125.6142"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.41111112px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">OUT</tspan></text>
+    <circle
+       style="opacity:1;fill:#000000;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path2336-3-5"
+       cx="111.12499"
+       cy="131.63542"
+       r="0.26458332" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 132.29167,126.07917 V 110.46875 H 115.09374"
+       id="path3240"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3613)"
+       d="M 51.59375,125.02083 H 55.5625"
+       id="path3603"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3781)"
+       d="m 62.177083,110.46875 -9.26042,0 V 87.979169 l 92.604167,-2e-6"
+       id="path3771"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="49.504536"
+       y="126.09445"
+       id="text842-9-3-4"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-9"
+         x="49.504536"
+         y="126.09445"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">F</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="146.85704"
+       y="88.698441"
+       id="text842-9-3-4-0"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-9-2"
+         x="146.85704"
+         y="88.698441"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">α</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 128.32291,111.79167 1.32291,-2.64583"
+       id="path4023"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="130.17233"
+       y="109.16515"
+       id="text842-9-3-6-0"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-5-1"
+         x="130.17233"
+         y="109.16515"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 89.958329,111.79167 1.32291,-2.64583"
+       id="path4023-9"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="91.807762"
+       y="109.16515"
+       id="text842-9-3-6-0-6"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-5-1-2"
+         x="91.807762"
+         y="109.16515"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">2</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 56.885413,111.79167 1.32291,-2.64583"
+       id="path4023-9-1"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="58.73484"
+       y="109.16515"
+       id="text842-9-3-6-0-6-2"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-5-1-2-0"
+         x="58.73484"
+         y="109.16515"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">3</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 67.468746,105.44167 h 1.322917"
+       id="path958"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 100.54166,105.44167 h 1.32292"
+       id="path958-3"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+  </g>
+</svg>
diff --git a/xschem/fractional_n_divider/doc/mash111_pipelined.svg b/xschem/fractional_n_divider/doc/mash111_pipelined.svg
new file mode 100644
index 0000000..c03b767
--- /dev/null
+++ b/xschem/fractional_n_divider/doc/mash111_pipelined.svg
@@ -0,0 +1,1609 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="178.90163mm"
+   height="82.927132mm"
+   viewBox="0 0 178.90162 82.927132"
+   version="1.1"
+   id="svg8"
+   inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+   sodipodi:docname="mash111_pipelined.svg">
+  <defs
+     id="defs2">
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker3781"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path3779"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker3613"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path3611"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2549"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2547"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker2250"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path2248"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1635"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path1633"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleOutM"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path1009"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker2250-4"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM">
+      <path
+         inkscape:connector-curvature="0"
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path2248-3" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleOutM-4"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1009-1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2549-1"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2547-7"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker3613-5"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path3611-6"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2549-7"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2547-4"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1635-9"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path1633-6"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1635-7"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path1633-7"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1635-7-6"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path1633-7-4"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker3613-5-9-3"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path3611-6-7-7"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1635-9-0"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path1633-6-9"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2549-7-7"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2547-4-9"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleOutM-4-9"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1009-1-3"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker2250-6"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path2248-2"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2154-19"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2152-6"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1896-4"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path1894-8"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker2250-9"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path2248-34"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker2250-9-5"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path2248-34-0"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker2250-6-8"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path2248-2-3"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2154-19-5"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2152-6-6"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1896-4-5"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path1894-8-9"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker3613-5-9-3-9"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path3611-6-7-7-0"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker2250-7"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path2248-6"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker3613-5-0"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="TriangleOutM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         id="path3611-6-3"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1635-7-4"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path1633-7-43"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1635-7-4-6"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path1633-7-43-0"
+         d="M 5.77,0 -2.88,5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.4)"
+         inkscape:connector-curvature="0" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="314.88284"
+     inkscape:cy="122.97093"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1366"
+     inkscape:window-height="710"
+     inkscape:window-x="0"
+     inkscape:window-y="30"
+     inkscape:window-maximized="1"
+     fit-margin-top="1"
+     fit-margin-left="1"
+     fit-margin-bottom="1"
+     fit-margin-right="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid815"
+       originx="-45.759485"
+       originy="-137.81805" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-45.75948,-76.254841)">
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 56.885413,135.60419 v 5.29167 l 6.614583,3.96875 -6.614583,3.96875 v 5.29166 l 17.197916,-6.61458 10e-7,-5.29167 z"
+       id="path817"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM);paint-order:normal"
+       d="M 63.499993,156.77085 H 52.91666 l 3e-6,-5.29166 h 2.645834"
+       id="path862"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="57.683594"
+       y="139.46469"
+       id="text842-9"><tspan
+         sodipodi:role="line"
+         id="tspan840-3"
+         x="57.683594"
+         y="139.46469"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">A</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="57.447361"
+       y="152.13635"
+       id="text842-9-6"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-0"
+         x="57.447361"
+         y="152.13635"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">B</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="67.936203"
+       y="145.76746"
+       id="text842-9-6-5"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-0-0"
+         x="67.936203"
+         y="145.76746"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">A+B</tspan></text>
+    <circle
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path1382"
+       cx="66.145828"
+       cy="101.20834"
+       r="3.96875" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 63.499995,101.20833 h 5.291667"
+       id="path1384"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 66.145829,98.562506 v 5.291654"
+       id="path1384-2"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1635)"
+       d="m 66.14583,139.04377 -4e-6,-6.08541"
+       id="path1625"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2250)"
+       d="M 76.729163,101.20833 H 71.437496"
+       id="path2240"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.52916676;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 121.70832,135.6042 v 5.29167 l 6.61458,3.96875 -6.61458,3.96875 v 5.29166 l 17.1979,-6.61458 v -5.29167 z"
+       id="path817-2"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-4);paint-order:normal"
+       d="m 128.3229,156.77086 h -10.58333 v -5.29166 h 2.64583"
+       id="path862-8"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="122.50651"
+       y="139.46469"
+       id="text842-9-8"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-3"
+         x="122.50651"
+         y="139.46469"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">A</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="122.27027"
+       y="152.13635"
+       id="text842-9-6-8"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-0-3"
+         x="122.27027"
+         y="152.13635"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">B</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="132.75911"
+       y="145.76746"
+       id="text842-9-6-5-3"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-0-0-3"
+         x="132.75911"
+         y="145.76746"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">A+B</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2549)"
+       d="m 78.052079,144.86461 v -6.61459 l 2.645831,1e-5"
+       id="path2539"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="66.648727"
+       y="138.40163"
+       id="text842-9-3"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37"
+         x="66.648727"
+         y="138.40163"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">C</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="68.555138"
+       y="138.97568"
+       id="text842-9-3-3"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-2"
+         x="68.555138"
+         y="138.97568"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.41111112px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">OUT</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="131.49524"
+       y="138.26936"
+       id="text842-9-3-6"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-5"
+         x="131.49524"
+         y="138.26936"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">C</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="133.40164"
+       y="138.8434"
+       id="text842-9-3-3-2"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-2-6"
+         x="133.40164"
+         y="138.8434"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.41111112px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">OUT</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3613)"
+       d="m 48.94791,138.25002 h 6.614587"
+       id="path3603"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3781)"
+       d="m 56.885418,101.20832 h -9.26042 V 78.718749 l 164.041662,1e-5"
+       id="path3771"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="46.527969"
+       y="139.32365"
+       id="text842-9-3-4"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-9"
+         x="46.527969"
+         y="139.32365"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">F</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="213.61009"
+       y="80.24794"
+       id="text842-9-3-4-0"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-9-2"
+         x="213.61009"
+         y="80.24794"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444447px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">α</tspan></text>
+    <g
+       transform="translate(18.520826,-9.2603935)"
+       id="g4421-7">
+      <rect
+         y="143.54167"
+         x="63.5"
+         height="7.9374948"
+         width="7.9375"
+         id="rect838-3"
+         style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5291667;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
+      <text
+         id="text842-1"
+         y="149.36787"
+         x="65.142899"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="149.36787"
+           x="65.142899"
+           id="tspan840-1"
+           sodipodi:role="line">z</tspan></text>
+      <text
+         id="text842-4-9"
+         y="147.22972"
+         x="68.095955"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="147.22972"
+           x="68.095955"
+           id="tspan840-9-0"
+           sodipodi:role="line">-1</tspan></text>
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3613-5)"
+       d="m 89.95832,138.25003 h 30.42709"
+       id="path3603-7"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2549-7)"
+       d="m 142.87499,144.86462 v -6.61459 l 2.64583,1e-5"
+       id="path2539-4"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <g
+       transform="translate(83.343729,-9.2603935)"
+       id="g4421-7-7">
+      <rect
+         y="143.54167"
+         x="63.5"
+         height="7.9374948"
+         width="7.9375"
+         id="rect838-3-4"
+         style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5291667;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
+      <text
+         id="text842-1-8"
+         y="149.36787"
+         x="65.142899"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="149.36787"
+           x="65.142899"
+           id="tspan840-1-5"
+           sodipodi:role="line">z</tspan></text>
+      <text
+         id="text842-4-9-8"
+         y="147.22972"
+         x="68.095955"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="147.22972"
+           x="68.095955"
+           id="tspan840-9-0-2"
+           sodipodi:role="line">-1</tspan></text>
+    </g>
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5291667;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-3-6"
+       width="7.9375"
+       height="7.9374948"
+       x="62.177074"
+       y="123.69794" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="63.819973"
+       y="129.52415"
+       id="text842-1-6"><tspan
+         sodipodi:role="line"
+         id="tspan840-1-4"
+         x="63.819973"
+         y="129.52415"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="66.773033"
+       y="127.38599"
+       id="text842-4-9-6"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-0-28"
+         x="66.773033"
+         y="127.38599"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-1</tspan></text>
+    <path
+       inkscape:connector-curvature="0"
+       id="path24833"
+       d="m 157.42708,95.916691 h 1.32291"
+       style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path24833-2"
+       d="m 92.604161,95.916691 h 1.32291"
+       style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916676;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-3-6-7"
+       width="7.9375"
+       height="7.9374948"
+       x="62.177074"
+       y="110.46877" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="63.819977"
+       y="116.29497"
+       id="text842-1-6-4"><tspan
+         sodipodi:role="line"
+         id="tspan840-1-4-2"
+         x="63.819977"
+         y="116.29497"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="66.773033"
+       y="114.15683"
+       id="text842-4-9-6-5"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-0-28-2"
+         x="66.773033"
+         y="114.15683"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-7</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1635-9)"
+       d="m 130.96874,139.04377 -1e-5,-6.0854"
+       id="path1625-0"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <g
+       transform="translate(63.499985,-19.843723)"
+       id="g4421-7-0-7">
+      <rect
+         y="143.54167"
+         x="63.5"
+         height="7.9374948"
+         width="7.9375"
+         id="rect838-3-6-0"
+         style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5291667;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
+      <text
+         id="text842-1-6-1"
+         y="149.36787"
+         x="65.142899"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="149.36787"
+           x="65.142899"
+           id="tspan840-1-4-0"
+           sodipodi:role="line">z</tspan></text>
+      <text
+         id="text842-4-9-6-1"
+         y="147.22972"
+         x="68.095955"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="147.22972"
+           x="68.095955"
+           id="tspan840-9-0-28-3"
+           sodipodi:role="line">-1</tspan></text>
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1635-7)"
+       d="M 66.145829,110.46875 V 106.5"
+       id="path1625-2"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1635-7-6)"
+       d="m 130.96873,110.46876 v -3.96875"
+       id="path1625-2-5"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <g
+       transform="translate(128.32293,-19.843723)"
+       id="g4421-7-0-7-9">
+      <rect
+         y="143.54167"
+         x="63.5"
+         height="7.9374948"
+         width="7.9375"
+         id="rect838-3-6-0-9"
+         style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5291667;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
+      <text
+         id="text842-1-6-1-4"
+         y="149.36787"
+         x="65.142899"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="149.36787"
+           x="65.142899"
+           id="tspan840-1-4-0-5"
+           sodipodi:role="line">z</tspan></text>
+      <text
+         id="text842-4-9-6-1-1"
+         y="147.22972"
+         x="68.095955"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="147.22972"
+           x="68.095955"
+           id="tspan840-9-0-28-3-0"
+           sodipodi:role="line">-1</tspan></text>
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 195.79166,123.69794 v -22.4896 l -48.94793,10e-6"
+       id="path9275"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916682;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-9-6-9"
+       width="7.9375"
+       height="7.9374948"
+       x="50.270832"
+       y="97.239586" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="51.913715"
+       y="103.06577"
+       id="text842-43-8-3"><tspan
+         sodipodi:role="line"
+         id="tspan840-5-9-7"
+         x="51.913715"
+         y="103.06577"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="54.866764"
+       y="100.92764"
+       id="text842-4-1-0-8"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-7-6-7"
+         x="54.866764"
+         y="100.92764"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 74.083327,144.8646 h 3.96875"
+       id="path14905"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 92.60416,138.25002 v 18.52083 l -30.427083,1e-5"
+       id="path15111"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <circle
+       style="opacity:1;fill:#000000;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path2336-3-5-0"
+       cx="92.604141"
+       cy="138.25005"
+       r="0.26458332" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 138.90624,144.86461 h 3.96875"
+       id="path14905-9"
+       inkscape:connector-curvature="0" />
+    <circle
+       style="opacity:1;fill:#000000;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path2336-3-5-0-8"
+       cx="157.42705"
+       cy="138.25005"
+       r="0.26458332" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 157.42707,138.25003 v 18.52083 l -30.42708,1e-5"
+       id="path15111-4"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3613-5-9-3)"
+       d="m 62.177081,101.20833 h -2.64583"
+       id="path3603-7-8-1"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.52916682;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 186.53125,135.6042 v 5.29167 l 6.61458,3.96875 -6.61458,3.96875 v 5.29166 l 17.1979,-6.61458 v -5.29167 z"
+       id="path817-2-2"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-4-9);paint-order:normal"
+       d="M 193.14583,156.77086 H 182.5625 v -5.29166 h 2.64583"
+       id="path862-8-4"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="187.32942"
+       y="139.46469"
+       id="text842-9-8-3"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-3-7"
+         x="187.32942"
+         y="139.46469"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">A</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="187.09319"
+       y="152.13635"
+       id="text842-9-6-8-1"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-0-3-2"
+         x="187.09319"
+         y="152.13635"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">B</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="197.58203"
+       y="145.76746"
+       id="text842-9-6-5-3-2"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-0-0-3-0"
+         x="197.58203"
+         y="145.76746"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">A+B</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="196.31816"
+       y="138.26936"
+       id="text842-9-3-6-2"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-5-1"
+         x="196.31816"
+         y="138.26936"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">C</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="198.22458"
+       y="138.8434"
+       id="text842-9-3-3-2-7"><tspan
+         sodipodi:role="line"
+         id="tspan840-3-37-2-6-5"
+         x="198.22458"
+         y="138.8434"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:1.41111112px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">OUT</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2549-7-7)"
+       d="m 207.69792,144.86462 v -6.61459 l 2.64583,1e-5"
+       id="path2539-4-1"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <g
+       transform="translate(148.16665,-9.2604005)"
+       id="g4421-7-7-7">
+      <rect
+         y="143.54167"
+         x="63.5"
+         height="7.9374948"
+         width="7.9375"
+         id="rect838-3-4-4"
+         style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5291667;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
+      <text
+         id="text842-1-8-1"
+         y="149.36787"
+         x="65.142899"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="149.36787"
+           x="65.142899"
+           id="tspan840-1-5-7"
+           sodipodi:role="line">z</tspan></text>
+      <text
+         id="text842-4-9-8-1"
+         y="147.22972"
+         x="68.095955"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="147.22972"
+           x="68.095955"
+           id="tspan840-9-0-2-1"
+           sodipodi:role="line">-1</tspan></text>
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1635-9-0)"
+       d="m 195.79167,139.04377 -1e-5,-6.0854"
+       id="path1625-0-1"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 203.72917,144.86461 h 3.96875"
+       id="path14905-9-7"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 222.25,138.25003 v 18.52083 l -30.42708,1e-5"
+       id="path15111-4-0"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <rect
+       style="opacity:1;fill:none;stroke:#4d4d4d;stroke-width:0.17638889;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:0.35277778, 0.35277778;stroke-dashoffset:0;paint-order:normal"
+       id="rect18510"
+       width="42.333332"
+       height="35.718746"
+       x="51.593742"
+       y="122.37502" />
+    <rect
+       style="opacity:1;fill:none;stroke:#4d4d4d;stroke-width:0.17638889;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:0.35277778, 0.35277778;stroke-dashoffset:0;paint-order:normal"
+       id="rect18510-8"
+       width="42.333332"
+       height="35.718746"
+       x="116.41665"
+       y="122.37503" />
+    <rect
+       style="opacity:1;fill:none;stroke:#4d4d4d;stroke-width:0.17638889;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:0.35277778, 0.35277778;stroke-dashoffset:0;paint-order:normal"
+       id="rect18510-5"
+       width="42.333332"
+       height="35.718746"
+       x="181.23958"
+       y="122.37503" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 219.60416,138.25003 H 222.25"
+       id="path18923"
+       inkscape:connector-curvature="0" />
+    <circle
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916676;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path1382-0"
+       cx="95.249992"
+       cy="101.20836"
+       r="3.96875" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 92.604152,101.20834 h 5.291667"
+       id="path1384-8"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 95.249986,98.562522 v 5.291648"
+       id="path1384-2-1"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916682;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-9-0"
+       width="7.9375"
+       height="7.9374948"
+       x="99.218742"
+       y="85.333344" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="100.86164"
+       y="91.159531"
+       id="text842-43-2"><tspan
+         sodipodi:role="line"
+         id="tspan840-5-2"
+         x="100.86164"
+         y="91.159531"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="103.8147"
+       y="89.021393"
+       id="text842-4-1-9"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-7-7"
+         x="103.8147"
+         y="89.021393"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1896-4)"
+       d="m 99.218736,89.302097 h -3.968751 v 6.614575"
+       id="path1886-5"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2154-19)"
+       d="M 111.12498,101.20834 V 89.302097 h -2.64583"
+       id="path2144-6"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2250-6)"
+       d="m 116.41665,101.20834 h -15.875"
+       id="path2240-4"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <circle
+       style="opacity:1;fill:#000000;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path2336-6"
+       cx="111.12501"
+       cy="101.20836"
+       r="0.26458332" />
+    <rect
+       style="opacity:1;fill:none;stroke:#4d4d4d;stroke-width:0.17638889;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:0.35277778, 0.35277778;stroke-dashoffset:0;paint-order:normal"
+       id="rect18510-0-8"
+       width="63.500004"
+       height="23.8125"
+       x="48.947903"
+       y="84.010429" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916682;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-9-0-0"
+       width="7.9375"
+       height="7.9374948"
+       x="76.729156"
+       y="97.239594" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="78.372055"
+       y="103.06578"
+       id="text842-43-2-4"><tspan
+         sodipodi:role="line"
+         id="tspan840-5-2-11"
+         x="78.372055"
+         y="103.06578"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="81.325104"
+       y="100.92764"
+       id="text842-4-1-9-3"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-7-7-5"
+         x="81.325104"
+         y="100.92764"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2250-9)"
+       d="M 91.28124,101.20834 H 85.98957"
+       id="path2240-1"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <circle
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916676;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path1382-3"
+       cx="130.96873"
+       cy="101.20835"
+       r="3.96875" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 128.32291,101.20834 h 5.29166"
+       id="path1384-7"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 130.96874,98.562512 v 5.291658"
+       id="path1384-2-6"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2250-7)"
+       d="m 141.55207,101.20834 h -5.29166"
+       id="path2240-15"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916682;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-9-6-9-0"
+       width="7.9375"
+       height="7.9374948"
+       x="115.09374"
+       y="97.239594" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="116.73664"
+       y="103.06578"
+       id="text842-43-8-3-6"><tspan
+         sodipodi:role="line"
+         id="tspan840-5-9-7-5"
+         x="116.73664"
+         y="103.06578"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="119.68967"
+       y="100.92765"
+       id="text842-4-1-0-8-0"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-7-6-7-8"
+         x="119.68967"
+         y="100.92765"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3613-5-9-3-9)"
+       d="m 126.99999,101.20834 h -2.64583"
+       id="path3603-7-8-1-1"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <circle
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916682;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path1382-0-2"
+       cx="160.07289"
+       cy="101.20837"
+       r="3.96875" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 157.42706,101.20835 h 5.29167"
+       id="path1384-8-2"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 160.0729,98.562528 v 5.291652"
+       id="path1384-2-1-6"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916682;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-9-0-9"
+       width="7.9375"
+       height="7.9374948"
+       x="164.04164"
+       y="85.333351" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="165.68454"
+       y="91.159538"
+       id="text842-43-2-1"><tspan
+         sodipodi:role="line"
+         id="tspan840-5-2-0"
+         x="165.68454"
+         y="91.159538"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="168.6376"
+       y="89.0214"
+       id="text842-4-1-9-4"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-7-7-2"
+         x="168.6376"
+         y="89.0214"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1896-4-5)"
+       d="m 164.04165,89.302103 h -3.96875 v 6.614575"
+       id="path1886-5-7"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2154-19-5)"
+       d="M 175.94789,101.20835 V 89.302103 h -2.64583"
+       id="path2144-6-4"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2250-6-8)"
+       d="m 181.23956,101.20835 h -15.875"
+       id="path2240-4-0"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <circle
+       style="opacity:1;fill:#000000;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal"
+       id="path2336-6-3"
+       cx="175.94791"
+       cy="101.20837"
+       r="0.26458332" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916682;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-9-0-0-2"
+       width="7.9375"
+       height="7.9374948"
+       x="141.55206"
+       y="97.239601" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="143.19496"
+       y="103.06579"
+       id="text842-43-2-4-8"><tspan
+         sodipodi:role="line"
+         id="tspan840-5-2-11-0"
+         x="143.19496"
+         y="103.06579"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="146.14801"
+       y="100.92765"
+       id="text842-4-1-9-3-3"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-7-7-5-7"
+         x="146.14801"
+         y="100.92765"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2250-9-5)"
+       d="m 156.10415,101.20835 h -5.29167"
+       id="path2240-1-0"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3613-5-0)"
+       d="m 154.78124,138.25003 h 30.42709"
+       id="path3603-7-4"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <rect
+       style="opacity:1;fill:none;stroke:#4d4d4d;stroke-width:0.17638889;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:0.35277778, 0.35277778;stroke-dashoffset:0;paint-order:normal"
+       id="rect18510-0-8-9"
+       width="63.500004"
+       height="23.8125"
+       x="113.77082"
+       y="84.010429" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1635-7-4)"
+       d="m 66.145826,123.69794 v -3.96875"
+       id="path1625-2-8"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <rect
+       style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.52916682;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect838-3-6-7-8"
+       width="7.9375"
+       height="7.9374948"
+       x="126.99999"
+       y="110.46877" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="128.6429"
+       y="116.29497"
+       id="text842-1-6-4-9"><tspan
+         sodipodi:role="line"
+         id="tspan840-1-4-2-2"
+         x="128.6429"
+         y="116.29497"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="131.59596"
+       y="114.15683"
+       id="text842-4-9-6-5-2"><tspan
+         sodipodi:role="line"
+         id="tspan840-9-0-28-2-3"
+         x="131.59596"
+         y="114.15683"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332">-3</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1635-7-4-6)"
+       d="m 130.96875,123.69794 v -3.96875"
+       id="path1625-2-8-1"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <g
+       transform="translate(35.718745,-9.2603978)"
+       id="g4421-7-3">
+      <rect
+         y="143.54167"
+         x="63.5"
+         height="7.9374948"
+         width="7.9375"
+         id="rect838-3-67"
+         style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5291667;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
+      <text
+         id="text842-1-5"
+         y="149.36787"
+         x="65.142899"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="149.36787"
+           x="65.142899"
+           id="tspan840-1-3"
+           sodipodi:role="line">z</tspan></text>
+      <text
+         id="text842-4-9-5"
+         y="147.22972"
+         x="68.095955"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="147.22972"
+           x="68.095955"
+           id="tspan840-9-0-6"
+           sodipodi:role="line">-1</tspan></text>
+    </g>
+    <g
+       transform="translate(100.54166,-9.2603978)"
+       id="g4421-7-3-2">
+      <rect
+         y="143.54167"
+         x="63.5"
+         height="7.9374948"
+         width="7.9375"
+         id="rect838-3-67-9"
+         style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5291667;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
+      <text
+         id="text842-1-5-1"
+         y="149.36787"
+         x="65.142899"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="149.36787"
+           x="65.142899"
+           id="tspan840-1-3-2"
+           sodipodi:role="line">z</tspan></text>
+      <text
+         id="text842-4-9-5-7"
+         y="147.22972"
+         x="68.095955"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:Arial;-inkscape-font-specification:Arial;stroke-width:0.26458332"
+           y="147.22972"
+           x="68.095955"
+           id="tspan840-9-0-6-0"
+           sodipodi:role="line">-1</tspan></text>
+    </g>
+  </g>
+</svg>
diff --git a/xschem/fractional_n_divider/fractional_n_divider.sym b/xschem/fractional_n_divider/fractional_n_divider.sym
new file mode 100644
index 0000000..fe78b34
--- /dev/null
+++ b/xschem/fractional_n_divider/fractional_n_divider.sym
@@ -0,0 +1,40 @@
+v {xschem version=2.9.8 file_version=1.2}
+G {}
+K {type=subcircuit
+format="@name @pinlist @symname"
+template="name=x1"
+verilog_primitive=true
+}
+V {}
+S {}
+E {}
+L 4 -130 -40 130 -40 {}
+L 4 -130 40 130 40 {}
+L 4 -130 -40 -130 40 {}
+L 4 130 -40 130 40 {}
+L 4 -150 -30 -130 -30 {}
+L 4 130 -10 150 -10 {}
+L 4 -150 -10 -130 -10 {}
+L 4 -150 10 -130 10 {}
+L 4 130 10 150 10 {}
+L 4 -150 30 -130 30 {}
+L 4 0 -60 0 -40 {}
+L 4 0 40 0 60 {}
+B 5 -152.5 -32.5 -147.5 -27.5 {name=rst dir=in }
+B 5 147.5 -12.5 152.5 -7.5 {name=output_frequency dir=out }
+B 5 -152.5 -12.5 -147.5 -7.5 {name=input_frequency dir=in }
+B 5 -152.5 7.5 -147.5 12.5 {name=data_in[25:0] dir=in }
+B 5 147.5 7.5 152.5 12.5 {name=dither_output dir=out }
+B 5 -152.5 27.5 -147.5 32.5 {name=dither_select[1:0] dir=in }
+B 5 -2.5 -62.5 2.5 -57.5 {name=VPWR dir=in }
+B 5 -2.5 57.5 2.5 62.5 {name=VGND dir=in }
+T {@symname} 32 44 0 0 0.3 0.3 {}
+T {@name} 35 68 0 0 0.2 0.2 {}
+T {rst} -125 -34 0 0 0.2 0.2 {}
+T {output_frequency} 125 -14 0 1 0.2 0.2 {}
+T {input_frequency} -125 -14 0 0 0.2 0.2 {}
+T {data_in[25:0]} -125 6 0 0 0.2 0.2 {}
+T {dither_select[1:0]} -125 26 0 0 0.2 0.2 {}
+T {dither_output} 125 6 0 1 0.2 0.2 {}
+T {VPWR} 14 -25 2 0 0.2 0.2 {}
+T {VGND} -14 25 0 0 0.2 0.2 {}
diff --git a/xschem/fractional_n_divider/pin_order.cfg b/xschem/fractional_n_divider/pin_order.cfg
new file mode 100644
index 0000000..7bc9d3d
--- /dev/null
+++ b/xschem/fractional_n_divider/pin_order.cfg
@@ -0,0 +1,13 @@
+#N
+
+#S
+
+#E
+rst
+divide_value.*
+dither_select.*
+
+#W
+dither_output
+input_frequency
+output_frequency
diff --git a/xschem/fractional_n_divider/spr.sh b/xschem/fractional_n_divider/spr.sh
new file mode 100755
index 0000000..bbea987
--- /dev/null
+++ b/xschem/fractional_n_divider/spr.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+cd ../../../openlane/openlane
+./run.sh /caravel_amsat_txrx_ic/xschem/fractional_n_divider
diff --git a/xschem/fractional_n_divider/src/fractional_n_divider.v b/xschem/fractional_n_divider/src/fractional_n_divider.v
new file mode 100644
index 0000000..20990de
--- /dev/null
+++ b/xschem/fractional_n_divider/src/fractional_n_divider.v
@@ -0,0 +1,145 @@
+// Copyright 2020 Thomas Parry
+//
+// SOME LICENSE
+//
+// Fractional N Divider
+//   A fractional N divider using MASH modulation.
+//   
+//   The 'data_in' value divided by the modulus will be created
+//   in a quantisesd number stream with high passed noise shaping
+//   characteristic.
+//
+
+module fractional_n_divider
+    # (
+        parameter WIDTH_INTEGER         = 10,
+        parameter WIDTH_MODULUS         = 16,
+        parameter ORDER                 = 3,
+        parameter DATA_WIDTH            = WIDTH_INTEGER+WIDTH_MODULUS
+    ) (
+        input                       rst,
+
+        // input and output frequencies
+        input                       input_frequency,
+        output                      output_frequency,
+
+        // a manual interface for data
+        input [DATA_WIDTH-1:0]      divide_value,
+        input [1:0]                 dither_select,
+
+        // test outputs
+        output                      dither_output
+    );
+
+    // internal signals
+    wire [WIDTH_INTEGER-1:0]        integer_value;
+    wire [WIDTH_MODULUS-1:0]        fractional_value;
+    wire signed [ORDER-1:0]         mash_output;
+    wire [WIDTH_INTEGER-1:0]        count_target;
+    reg [WIDTH_INTEGER-1:0]         count;
+    reg                             output_state;
+    reg                             dither;
+    reg                             dither_en_lfsr;
+    reg                             dither_in_lfsr;
+    reg                             dither_en_trng;
+    wire                            dither_out_lfsr;
+    wire                            dither_out_trng;
+
+
+    // split the divider values
+    assign integer_value = divide_value[DATA_WIDTH-1:WIDTH_MODULUS];
+    assign fractional_value = divide_value[WIDTH_MODULUS-1:0] + dither;
+
+    // instantiate the MASH modulator
+    mash_mod # (
+        .WIDTH_MODULUS(WIDTH_MODULUS),
+        .ORDER(ORDER)
+    ) mash_mod_inst (
+        .clk(output_frequency),
+        .rst(rst),
+        .data_in(fractional_value),
+        .data_out(mash_output)
+    );
+
+    // combine the integer and fractional components
+    assign count_target = $unsigned($signed(integer_value) + {{(WIDTH_INTEGER-ORDER){mash_output[ORDER-1]}}, mash_output});
+
+    // count until the target is met and then output a pulse
+    always @(posedge rst, posedge input_frequency) begin
+        if (rst) begin
+            count = 0;
+            output_state = 0;
+        end
+        else begin
+            if (count == count_target) begin
+                count = 0;
+                output_state = 1;
+            end
+            else begin
+                count = count + 1;
+                output_state = 0;
+            end
+        end
+    end
+    assign output_frequency = output_state;
+
+    // LFSR based dither
+    lfsr_fib lfsr_fib_inst (
+        .i_clk(output_frequency),
+        .i_reset(rst),
+        .i_ce(dither_en_lfsr),
+        .i_in(dither_in_lfsr),
+        .o_bit(dither_out_lfsr)
+    );
+
+    // TRNG based dither
+    trng trng_inst (
+        .clk(output_frequency), 
+        .rst(rst), 
+        .stop(!dither_en_trng),
+        .random(dither_out_trng)
+    );
+
+    // select the dither source
+    always @(posedge output_frequency) begin
+        case(dither_select)
+            2'b00  :begin
+                dither <= 0;
+                dither_en_lfsr <= 0;
+                dither_in_lfsr <= 0;
+                dither_en_trng <= 0;
+            end
+
+            2'b01  : begin
+                dither <= dither_out_trng;
+                dither_en_lfsr <= 0;
+                dither_in_lfsr <= 0;
+                dither_en_trng <= 1;
+            end
+
+            2'b10  : begin
+                dither <= dither_out_lfsr;
+                dither_en_lfsr <= 1;
+                dither_in_lfsr <= 0;
+                dither_en_trng <= 0;
+            end
+
+            2'b11  : begin
+                dither <= dither_out_lfsr;
+                dither_en_lfsr <= 1;
+                dither_in_lfsr <= 1;
+                dither_en_trng <= 0;
+            end
+
+            default : begin
+                dither <= 0;
+                dither_en_lfsr <= 0;
+                dither_in_lfsr <= 0;
+                dither_en_trng <= 0;
+            end
+        endcase
+    end
+
+    assign dither_output = dither;
+
+endmodule
\ No newline at end of file
diff --git a/xschem/fractional_n_divider/src/lfsr_fib.v b/xschem/fractional_n_divider/src/lfsr_fib.v
new file mode 100644
index 0000000..445a423
--- /dev/null
+++ b/xschem/fractional_n_divider/src/lfsr_fib.v
@@ -0,0 +1,64 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Filename:    lfsr_fib.v
+//
+// Project: DSP Filtering Example Project
+//
+// Purpose: 
+//
+// Creator: Dan Gisselquist, Ph.D.
+//      Gisselquist Technology, LLC
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (C) 2017-2020, Gisselquist Technology, LLC
+//
+// This file is part of the DSP filtering set of designs.
+//
+// The DSP filtering designs are free RTL designs: you can redistribute them
+// and/or modify any of them under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation, either version 3 of
+// the License, or (at your option) any later version.
+//
+// The DSP filtering designs are distributed in the hope that they will be
+// useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser
+// General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with these designs.  (It's in the $(ROOT)/doc directory.  Run make
+// with no target there if the PDF file isn't present.)  If not, see
+// <http://www.gnu.org/licenses/> for a copy.
+//
+// License: LGPL, v3, as defined and found on www.gnu.org,
+//      http://www.gnu.org/licenses/lgpl.html
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+//
+`default_nettype    none
+//
+module  lfsr_fib(i_clk, i_reset, i_ce, i_in, o_bit);
+    parameter       LN=8;   // LFSR Register length/polynomial deg
+    parameter [(LN-1):0]    TAPS = 8'h2d,
+                INITIAL_FILL = { { (LN-1){1'b0}}, 1'b1 };
+    //
+    input   wire            i_clk, i_reset, i_ce, i_in;
+    output  wire            o_bit;
+
+    reg [(LN-1):0]  sreg;
+
+    initial sreg = INITIAL_FILL;
+    always @(posedge i_clk)
+        if (i_reset)
+        begin
+            sreg <= INITIAL_FILL;
+        end else if (i_ce)
+        begin
+            sreg[(LN-2):0] <= sreg[(LN-1):1];
+            sreg[(LN-1)] <= (^(sreg & TAPS)) ^ i_in;
+        end
+
+    assign  o_bit = sreg[0];
+
+endmodule
\ No newline at end of file
diff --git a/xschem/fractional_n_divider/src/mash_mod.v b/xschem/fractional_n_divider/src/mash_mod.v
new file mode 100644
index 0000000..012e7d0
--- /dev/null
+++ b/xschem/fractional_n_divider/src/mash_mod.v
@@ -0,0 +1,110 @@
+// Copyright 2020 Thomas Parry
+//
+// SOME LICENSE
+//
+// MASH Modulator
+//   A MASH (Multi-Stage Noise Shaping) delta sigma modulator.
+//   
+//   The 'data_in' value divided by the modulus will be created
+//   in a quantisesd number stream with high passed noise shaping
+//   characteristic.
+//
+
+module mash_mod
+    # (
+        parameter WIDTH_MODULUS     = 16,
+        parameter ORDER             = 3
+    ) (
+        input                       clk,
+        input                       rst,
+        input [WIDTH_MODULUS-1:0]   data_in,
+        output [ORDER-1:0]          data_out
+    );
+
+    // internal registers
+    reg [WIDTH_MODULUS-1:0]         accumulator_output[ORDER-1:0];
+    reg [WIDTH_MODULUS-1:0]         accumulator_delay[ORDER-1:0];
+    reg [4*(ORDER-1)-1:0]           accumulator_carry[ORDER-1:0];
+    reg signed [ORDER-1:0]          sum_output[ORDER-2:0];
+    reg signed [ORDER-1:0]          sum_minus[ORDER-2:0];
+    reg signed [ORDER-1:0]          sum_delay[ORDER-2:0];
+
+
+    genvar i;
+    generate
+        for (i = 0; i < ORDER; i = i + 1) begin
+
+            // form the accumulators
+            if (i == 0) begin
+                always @(posedge rst, posedge clk) begin
+                    if (rst) begin
+                        accumulator_carry[i][0] <= 0;
+                        accumulator_output[i] <= 0;
+                        accumulator_delay[i] <= 0;
+                    end
+                    else begin
+                        {accumulator_carry[i][0], accumulator_output[i]} <= data_in + accumulator_output[i];
+                        accumulator_delay[i] <= accumulator_output[i];
+                    end
+                end
+            end
+            else begin
+                always @(posedge rst, posedge clk) begin
+                    if (rst) begin
+                        accumulator_carry[i][0] <= 0;
+                        accumulator_output[i] <= 0;
+                        accumulator_delay[i] <= 0;
+                    end
+                    else begin
+                        {accumulator_carry[i][0], accumulator_output[i]} <= accumulator_delay[i-1] + accumulator_output[i];
+                        accumulator_delay[i] <= accumulator_output[i];
+                    end
+                end
+            end
+
+            // pipeline the carrys
+            always @(posedge rst, posedge clk) begin
+                if (rst) begin
+                    accumulator_carry[i][4*(ORDER-1)-1:1] <= 0;
+                end
+                else begin
+                    accumulator_carry[i][4*(ORDER-1)-1:1] <= accumulator_carry[i][4*(ORDER-1)-2:0];
+                end
+            end
+
+            // form the summers
+            if (i < ORDER-2) begin
+                always @(posedge rst, posedge clk) begin
+                    if (rst) begin
+                        sum_delay[i] <= 0;
+                        sum_minus[i] <= 0;
+                        sum_output[i] <= 0;
+                    end
+                    else begin
+                        sum_delay[i] <= sum_output[i+1];
+                        sum_minus[i] <= sum_output[i+1] - sum_delay[i];
+                        sum_output[i] <= sum_minus[i] + {2'b00, accumulator_carry[i][4*(ORDER-1-i)-1]};
+                    end
+                end
+            end
+            else if (i == ORDER-2) begin
+                always @(posedge rst, posedge clk) begin
+                    if (rst) begin
+                        sum_delay[i] <= 0;
+                        sum_minus[i] <= 0;
+                        sum_output[i] <= 0;
+                    end
+                    else begin
+                        sum_delay[i] <= {2'b00, accumulator_carry[ORDER-1][0]};
+                        sum_minus[i] <= {2'b00, accumulator_carry[ORDER-1][0]} - sum_delay[i];
+                        sum_output[i] <= sum_minus[i] + {2'b00, accumulator_carry[i][4*(ORDER-1-i)-1]};
+                    end
+                end
+            end
+        end
+    endgenerate
+
+    // pass the output
+    assign data_out = sum_output[0];
+
+endmodule
\ No newline at end of file
diff --git a/xschem/fractional_n_divider/src/trng.v b/xschem/fractional_n_divider/src/trng.v
new file mode 100644
index 0000000..770a46d
--- /dev/null
+++ b/xschem/fractional_n_divider/src/trng.v
@@ -0,0 +1,67 @@
+//
+// Written by StanOverflow
+//   https://stackoverflow.com/questions/14497877/how-to-implement-a-pseudo-hardware-random-number-generator
+//
+// TRNG
+//   A true random number generator.
+//   
+//   A Galois Ring Oscillators(GARO) which is similar to an LFSR but
+//   completely asynchronous and will oscillate chaotically.
+//   The output bit will be sampled randomly.
+//
+
+
+module trng (
+        input clk, 
+        input rst, 
+        input stop,
+        output random
+    );
+
+    (* keep *) wire [31:1] stage;
+    reg meta1, meta2;
+
+    assign random = meta2;
+
+    always@(posedge clk or posedge rst)
+    if (rst) begin
+        meta1 <= 1'b0;
+        meta2 <= 1'b0;
+    end else begin
+        meta1 <= stage[1];
+        meta2 <= meta1;
+    end
+
+    assign stage[1] = ~&{stage[2] ^ stage[1],stop};
+    assign stage[2] = !stage[3];
+    assign stage[3] = !stage[4] ^ stage[1];
+    assign stage[4] = !stage[5] ^ stage[1];
+    assign stage[5] = !stage[6] ^ stage[1];
+    assign stage[6] = !stage[7] ^ stage[1];
+    assign stage[7] = !stage[8];
+    assign stage[8] = !stage[9] ^ stage[1];
+    assign stage[9] = !stage[10] ^ stage[1];
+    assign stage[10] = !stage[11];
+    assign stage[11] = !stage[12];
+    assign stage[12] = !stage[13] ^ stage[1];
+    assign stage[13] = !stage[14];
+    assign stage[14] = !stage[15] ^ stage[1];
+    assign stage[15] = !stage[16] ^ stage[1];
+    assign stage[16] = !stage[17] ^ stage[1];
+    assign stage[17] = !stage[18];
+    assign stage[18] = !stage[19];
+    assign stage[19] = !stage[20] ^ stage[1];
+    assign stage[20] = !stage[21] ^ stage[1];
+    assign stage[21] = !stage[22];
+    assign stage[22] = !stage[23];
+    assign stage[23] = !stage[24];
+    assign stage[24] = !stage[25];
+    assign stage[25] = !stage[26];
+    assign stage[26] = !stage[27] ^ stage[1];
+    assign stage[27] = !stage[28];
+    assign stage[28] = !stage[29];
+    assign stage[29] = !stage[30];
+    assign stage[30] = !stage[31];
+    assign stage[31] = !stage[1];
+
+endmodule
\ No newline at end of file
diff --git a/xschem/fractional_n_divider/tests/.gitignore b/xschem/fractional_n_divider/tests/.gitignore
new file mode 100644
index 0000000..4feb603
--- /dev/null
+++ b/xschem/fractional_n_divider/tests/.gitignore
@@ -0,0 +1,9 @@
+__pycache__/
+sim_build/
+coverage/
+*.dat
+coverage*.yml
+coverage*.xml
+*.vcd
+results.xml
+*.pyc
diff --git a/xschem/fractional_n_divider/tests/fractional_n_divider/Makefile b/xschem/fractional_n_divider/tests/fractional_n_divider/Makefile
new file mode 100644
index 0000000..a7ff03a
--- /dev/null
+++ b/xschem/fractional_n_divider/tests/fractional_n_divider/Makefile
@@ -0,0 +1,27 @@
+TOPLEVEL_LANG ?= verilog
+
+PWD=$(shell pwd)
+
+# add the models to path
+export PYTHONPATH := $(PWD)/../../models:$(PYTHONPATH)
+
+ifeq ($(TOPLEVEL_LANG),verilog)
+    VERILOG_SOURCES = $(PWD)/../../src/fractional_n_divider.v
+    VERILOG_SOURCES += $(PWD)/../../src/mash_mod.v
+    VERILOG_SOURCES += $(PWD)/../../src/lfsr_fib.v
+    VERILOG_SOURCES += $(PWD)/../../src/trng.v
+else
+    $(error "A valid value (verilog) was not provided for TOPLEVEL_LANG=$(TOPLEVEL_LANG)")
+endif
+
+EXTRA_ARGS := --trace --trace-structs --coverage
+SIM := verilator
+
+TOPLEVEL := fractional_n_divider
+MODULE   := test_fractional_n_divider
+
+include $(shell cocotb-config --makefiles)/Makefile.sim
+
+# ( \
+# . $(PWD)/../../../../env/venv/bin/activate \
+# ) 
diff --git a/xschem/fractional_n_divider/tests/fractional_n_divider/dump.vcd.gz b/xschem/fractional_n_divider/tests/fractional_n_divider/dump.vcd.gz
new file mode 100644
index 0000000..a36fe94
--- /dev/null
+++ b/xschem/fractional_n_divider/tests/fractional_n_divider/dump.vcd.gz
Binary files differ
diff --git a/xschem/fractional_n_divider/tests/fractional_n_divider/test_fractional_n_divider.py b/xschem/fractional_n_divider/tests/fractional_n_divider/test_fractional_n_divider.py
new file mode 100644
index 0000000..34c4738
--- /dev/null
+++ b/xschem/fractional_n_divider/tests/fractional_n_divider/test_fractional_n_divider.py
@@ -0,0 +1,74 @@
+import cocotb
+from cocotb.triggers import Timer, RisingEdge, ClockCycles
+from cocotb.clock import Clock
+import cocotb_coverage
+import random
+import fractional_n_divider_model
+from test_fractional_n_divider_coverage import *
+
+
+# hardware constants
+WIDTH_INTEGER = 10
+WIDTH_MODULUS = 16
+ORDER = 3
+
+
+# test constants
+NUMBER_TESTS = 64
+NUMBER_SAMPLES = 2**16
+
+
+@cocotb.test()
+async def coverage(dut):
+    """
+        Test the output against the model with random input values
+    """
+
+    # create the model
+    model = fractional_n_divider_model.fractional_n_divider_model(integer_width=WIDTH_INTEGER, modulus_width=WIDTH_MODULUS, order=ORDER)
+
+    # create an object that views the DUT state
+    status = FractionalNStatus(dut)
+
+    # start clock
+    clock = Clock(dut.input_frequency, 2)
+    cocotb.fork(clock.start())    
+
+    # loop through the tests
+    for test in range(NUMBER_TESTS):
+
+        # reset the DUT
+        dut.rst = 1
+        dut.divide_value = 0
+        await ClockCycles(dut.input_frequency, 8)
+        dut.rst = 0
+        model.reset()
+
+        # create some random data
+        divide_value = random.random() * (2**WIDTH_INTEGER - 0.5*2**ORDER - 1)
+        divide_value_fp = int(divide_value * 2**WIDTH_MODULUS)
+        dut._log.info("Test number %d, input value = %f" % (test+1, divide_value))
+
+        # change the divide value
+        model.set_divide_value(divide_value)
+
+        # update the divider value into the DUT
+        status.update()
+        output_data = await new_divider_value(dut, status, divide_value_fp)
+        await RisingEdge(dut.input_frequency)
+
+        # loop through some clock cycles calculating samples
+        for sample in range(NUMBER_SAMPLES):
+
+            # check the output matches the model
+            model_data = model.update()
+            output_data = int(dut.output_frequency)
+            assert(output_data == model_data), 'Model = %x, Simulation = %x' % (model_data, output_data)
+
+            await RisingEdge(dut.input_frequency)
+
+
+    # print and export coverage report
+    coverage_db.report_coverage(dut._log.info, bins=True)
+    coverage_db.export_to_xml(filename="coverage_fractional_n_divider.xml")
+    coverage_db.export_to_yaml(filename="coverage_fractional_n_divider.yml")
\ No newline at end of file
diff --git a/xschem/fractional_n_divider/tests/fractional_n_divider/test_fractional_n_divider_coverage.py b/xschem/fractional_n_divider/tests/fractional_n_divider/test_fractional_n_divider_coverage.py
new file mode 100644
index 0000000..55ffb9d
--- /dev/null
+++ b/xschem/fractional_n_divider/tests/fractional_n_divider/test_fractional_n_divider_coverage.py
@@ -0,0 +1,39 @@
+import cocotb
+from cocotb.triggers import RisingEdge, ReadOnly
+from cocotb_coverage.coverage import *
+
+# auxiliary relation function to define bins matching within a range
+range_relation = lambda val_, bin_ : bin_[0] <= val_ <= bin_[1]
+
+class FractionalNStatus():
+    """
+    Object representing modulator status 
+    """
+    def __init__(self, dut):
+        self.dut = dut
+    
+    # @cocotb.coroutine   
+    def update(self):
+        self.divide_value = int(self.dut.divide_value)
+
+
+#functional coverage - check that the DUT is getting suitably interacted with 
+FractionalNCoverage = coverage_section (
+    CoverPoint(
+        name = "top.divide_value",
+        xf = lambda dut, status, divide_value : status.divide_value,
+        rel = range_relation,
+        bins = [(0,int(2**10*1/3)-1), (int(2**10*1/3),int(2**10*2/3)-1), (int(2**10*2/3),int(2**10-1))],
+        bins_labels = ["low", "med", "high"]
+    )
+)
+
+
+# procedure of processing data
+# coverage sampled here - at each function call
+@FractionalNCoverage
+async def new_divider_value(dut, status, divide_value):
+
+    # provide new data and read old
+    dut.divide_value <= divide_value
+    await RisingEdge(dut.input_frequency)
\ No newline at end of file
diff --git a/xschem/fractional_n_divider/tests/fractional_n_divider_tb.sch b/xschem/fractional_n_divider/tests/fractional_n_divider_tb.sch
new file mode 100644
index 0000000..4bd9615
--- /dev/null
+++ b/xschem/fractional_n_divider/tests/fractional_n_divider_tb.sch
@@ -0,0 +1,225 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {}
+V {}
+S {}
+E {}
+N -2340 -90 -2340 60 {lab=input_frequency}
+N -2340 -90 -150 -90 {lab=input_frequency}
+N -2250 -70 -150 -70 {lab=data_in[25:0]}
+N -580 -60 -580 170 {lab=data_in[1]}
+N -510 -60 -510 170 {lab=data_in[0]}
+N -440 -40 -440 170 {lab=dither_select[1]}
+N -370 -40 -370 170 {lab=dither_select[0]}
+N 470 -90 470 90 {lab=output_frequency}
+N 150 -90 470 -90 {lab=output_frequency}
+N -2340 120 -2340 280 {lab=0}
+N 360 280 470 280 {lab=0}
+N 470 150 470 280 {lab=0}
+N -580 230 -580 280 {lab=0}
+N -510 230 -510 280 {lab=0}
+N -440 230 -440 280 {lab=0}
+N -370 230 -370 280 {lab=0}
+N 150 -70 360 -70 {lab=dither_output}
+N 360 -70 360 90 {lab=dither_output}
+N 360 150 360 280 {lab=0}
+N -430 -50 -150 -50 {lab=dither_select[1:0]}
+N -720 -60 -720 170 {lab=data_in[3]}
+N -650 -60 -650 170 {lab=data_in[2]}
+N -720 230 -720 280 {lab=0}
+N -650 230 -650 280 {lab=0}
+N -860 -60 -860 170 {lab=data_in[5]}
+N -790 -60 -790 170 {lab=data_in[4]}
+N -860 230 -860 280 {lab=0}
+N -790 230 -790 280 {lab=0}
+N -1000 -60 -1000 170 {lab=data_in[7]}
+N -930 -60 -930 170 {lab=data_in[6]}
+N -1000 230 -1000 280 {lab=0}
+N -930 230 -930 280 {lab=0}
+N -1140 -60 -1140 170 {lab=data_in[9]}
+N -1070 -60 -1070 170 {lab=data_in[8]}
+N -1140 230 -1140 280 {lab=0}
+N -1070 230 -1070 280 {lab=0}
+N -1280 -60 -1280 170 {lab=data_in[11]}
+N -1210 -60 -1210 170 {lab=data_in[10]}
+N -1280 230 -1280 280 {lab=0}
+N -1210 230 -1210 280 {lab=0}
+N -1420 -60 -1420 170 {lab=data_in[13]}
+N -1350 -60 -1350 170 {lab=data_in[12]}
+N -1420 230 -1420 280 {lab=0}
+N -1350 230 -1350 280 {lab=0}
+N -1560 -60 -1560 170 {lab=data_in[15]}
+N -1490 -60 -1490 170 {lab=data_in[14]}
+N -1560 230 -1560 280 {lab=0}
+N -1490 230 -1490 280 {lab=0}
+N -1700 -60 -1700 170 {lab=data_in[17]}
+N -1630 -60 -1630 170 {lab=data_in[16]}
+N -1700 230 -1700 280 {lab=0}
+N -1630 230 -1630 280 {lab=0}
+N -1840 -60 -1840 170 {lab=data_in[19]}
+N -1770 -60 -1770 170 {lab=data_in[18]}
+N -1840 230 -1840 280 {lab=0}
+N -1770 230 -1770 280 {lab=0}
+N -1980 -60 -1980 170 {lab=data_in[21]}
+N -1910 -60 -1910 170 {lab=data_in[20]}
+N -1980 230 -1980 280 {lab=0}
+N -1910 230 -1910 280 {lab=0}
+N -2120 -60 -2120 170 {lab=data_in[23]}
+N -2050 -60 -2050 170 {lab=data_in[22]}
+N -2120 230 -2120 280 {lab=0}
+N -2050 230 -2050 280 {lab=0}
+N -2260 -60 -2260 170 {lab=data_in[25]}
+N -2190 -60 -2190 170 {lab=data_in[24]}
+N -2260 230 -2260 280 {lab=0}
+N -2190 230 -2190 280 {lab=0}
+N -650 280 -580 280 {lab=0}
+N -580 280 -510 280 {lab=0}
+N -510 280 -440 280 {lab=0}
+N -440 280 -370 280 {lab=0}
+N -370 280 360 280 {lab=0}
+N -790 280 -720 280 {lab=0}
+N -720 280 -650 280 {lab=0}
+N -930 280 -860 280 {lab=0}
+N -860 280 -790 280 {lab=0}
+N -1070 280 -1000 280 {lab=0}
+N -1000 280 -930 280 {lab=0}
+N -1210 280 -1140 280 {lab=0}
+N -1140 280 -1070 280 {lab=0}
+N -1350 280 -1280 280 {lab=0}
+N -1280 280 -1210 280 {lab=0}
+N -1490 280 -1420 280 {lab=0}
+N -1420 280 -1350 280 {lab=0}
+N -1630 280 -1560 280 {lab=0}
+N -1560 280 -1490 280 {lab=0}
+N -1770 280 -1700 280 {lab=0}
+N -1700 280 -1630 280 {lab=0}
+N -1910 280 -1840 280 {lab=0}
+N -1840 280 -1770 280 {lab=0}
+N -2050 280 -1980 280 {lab=0}
+N -1980 280 -1910 280 {lab=0}
+N -2190 280 -2120 280 {lab=0}
+N -2120 280 -2050 280 {lab=0}
+N -2340 280 -2260 280 {lab=0}
+N -2260 280 -2190 280 {lab=0}
+N -190 -110 -150 -110 {lab=0}
+N -190 -110 -190 280 {lab=0}
+C {fractional_n_divider/fractional_n_divider.sym} 0 -80 0 0 {name=x1}
+C {vsource.sym} -2340 90 0 0 {name=V1 value=3}
+C {bus_connect_nolab.sym} -580 -60 0 0 {name=r1}
+C {lab_wire.sym} -430 -70 0 1 {name=l1 sig_type=std_logic lab=data_in[25:0]}
+C {vsource.sym} -370 200 0 0 {name=V2 value=dither_select_0}
+C {vsource.sym} -440 200 0 0 {name=V3 value=1.8}
+C {vsource.sym} -510 200 0 0 {name=V4 value=1.8}
+C {vsource.sym} -580 200 0 0 {name=V5 value=1.8}
+C {lab_wire.sym} -580 150 3 1 {name=l2 sig_type=std_logic lab=data_in[1]}
+C {bus_connect_nolab.sym} -510 -60 0 0 {name=r2}
+C {lab_wire.sym} -510 150 3 1 {name=l3 sig_type=std_logic lab=data_in[0]}
+C {bus_connect_nolab.sym} -440 -40 0 0 {name=r3}
+C {lab_wire.sym} -440 150 3 1 {name=l4 sig_type=std_logic lab=dither_select[1]}
+C {bus_connect_nolab.sym} -370 -40 0 0 {name=r4}
+C {lab_wire.sym} -370 150 3 1 {name=l5 sig_type=std_logic lab=dither_select[0]}
+C {bus_connect_nolab.sym} -370 -40 0 0 {name=r5}
+C {res.sym} 470 120 0 0 {name=R1
+value=1k
+footprint=1206
+device=resistor
+m=1}
+C {lab_wire.sym} 150 -90 0 1 {name=l6 sig_type=std_logic lab=output_frequency}
+C {lab_wire.sym} -430 -90 0 1 {name=l7 sig_type=std_logic lab=input_frequency}
+C {gnd.sym} -2340 280 0 0 {name=l8 lab=0}
+C {code.sym} 350 -310 0 0 {name=STIMULI
+tclcommand="xschem edit_vi_prop"
+value="
+*.option PARHIER=LOCAL RUNLVL=6 post MODMONTE=1 warn maxwarns=400
+*.option ITL4=20000 ITL5=0
+* .option sampling_method = SRS 
+* .option method=gear
+
+* simple transistor model
+.MODEL cmosn NMOS LEVEL=1 VT0=0.7 KP=110U GAMMA=0.4 LAMBDA=0.04 PHI=0.7
+.MODEL cmosp PMOS LEVEL=1 VT0=-0.7 KP=50U GAMMA=0.57 LAMBDA=0.05 PHI=0.8
+
+* load design and library
+.include /home/tom/repositories/amsat_txrx_ic/design/fractional_n_divider/yosys/prim_cells_cmos.mod
+
+.temp 30
+.tran  1e-9 1e-6 uic
+"}
+C {res.sym} 360 120 0 0 {name=R2
+value=1k
+footprint=1206
+device=resistor
+m=1}
+C {lab_wire.sym} -430 -50 0 1 {name=l9 sig_type=std_logic lab=dither_select[1:0]}
+C {lab_wire.sym} 150 -70 0 1 {name=l10 sig_type=std_logic lab=dither_output}
+C {bus_connect_nolab.sym} -720 -60 0 0 {name=r6}
+C {vsource.sym} -650 200 0 0 {name=V6 value=1.8}
+C {vsource.sym} -720 200 0 0 {name=V7 value=1.8}
+C {lab_wire.sym} -720 150 3 1 {name=l12 sig_type=std_logic lab=data_in[3]}
+C {bus_connect_nolab.sym} -650 -60 0 0 {name=r7}
+C {lab_wire.sym} -650 150 3 1 {name=l13 sig_type=std_logic lab=data_in[2]}
+C {bus_connect_nolab.sym} -860 -60 0 0 {name=r8}
+C {vsource.sym} -790 200 0 0 {name=V8 value=1.8}
+C {vsource.sym} -860 200 0 0 {name=V9 value=1.8}
+C {lab_wire.sym} -860 150 3 1 {name=l15 sig_type=std_logic lab=data_in[5]}
+C {bus_connect_nolab.sym} -790 -60 0 0 {name=r9}
+C {lab_wire.sym} -790 150 3 1 {name=l16 sig_type=std_logic lab=data_in[4]}
+C {bus_connect_nolab.sym} -1000 -60 0 0 {name=r10}
+C {vsource.sym} -930 200 0 0 {name=V10 value=1.8}
+C {vsource.sym} -1000 200 0 0 {name=V11 value=1.8}
+C {lab_wire.sym} -1000 150 3 1 {name=l18 sig_type=std_logic lab=data_in[7]}
+C {bus_connect_nolab.sym} -930 -60 0 0 {name=r11}
+C {lab_wire.sym} -930 150 3 1 {name=l19 sig_type=std_logic lab=data_in[6]}
+C {bus_connect_nolab.sym} -1140 -60 0 0 {name=r12}
+C {vsource.sym} -1070 200 0 0 {name=V12 value=1.8}
+C {vsource.sym} -1140 200 0 0 {name=V13 value=1.8}
+C {lab_wire.sym} -1140 150 3 1 {name=l11 sig_type=std_logic lab=data_in[9]}
+C {bus_connect_nolab.sym} -1070 -60 0 0 {name=r13}
+C {lab_wire.sym} -1070 150 3 1 {name=l14 sig_type=std_logic lab=data_in[8]}
+C {bus_connect_nolab.sym} -1280 -60 0 0 {name=r14}
+C {vsource.sym} -1210 200 0 0 {name=V14 value=1.8}
+C {vsource.sym} -1280 200 0 0 {name=V15 value=1.8}
+C {lab_wire.sym} -1280 150 3 1 {name=l17 sig_type=std_logic lab=data_in[11]}
+C {bus_connect_nolab.sym} -1210 -60 0 0 {name=r15}
+C {lab_wire.sym} -1210 150 3 1 {name=l20 sig_type=std_logic lab=data_in[10]}
+C {bus_connect_nolab.sym} -1420 -60 0 0 {name=r16}
+C {vsource.sym} -1350 200 0 0 {name=V16 value=1.8}
+C {vsource.sym} -1420 200 0 0 {name=V17 value=1.8}
+C {lab_wire.sym} -1420 150 3 1 {name=l21 sig_type=std_logic lab=data_in[13]}
+C {bus_connect_nolab.sym} -1350 -60 0 0 {name=r17}
+C {lab_wire.sym} -1350 150 3 1 {name=l22 sig_type=std_logic lab=data_in[12]}
+C {bus_connect_nolab.sym} -1560 -60 0 0 {name=r18}
+C {vsource.sym} -1490 200 0 0 {name=V18 value=1.8}
+C {vsource.sym} -1560 200 0 0 {name=V19 value=1.8}
+C {lab_wire.sym} -1560 150 3 1 {name=l23 sig_type=std_logic lab=data_in[15]}
+C {bus_connect_nolab.sym} -1490 -60 0 0 {name=r19}
+C {lab_wire.sym} -1490 150 3 1 {name=l24 sig_type=std_logic lab=data_in[14]}
+C {bus_connect_nolab.sym} -1700 -60 0 0 {name=r20}
+C {vsource.sym} -1630 200 0 0 {name=V20 value=1.8}
+C {vsource.sym} -1700 200 0 0 {name=V21 value=1.8}
+C {lab_wire.sym} -1700 150 3 1 {name=l25 sig_type=std_logic lab=data_in[17]}
+C {bus_connect_nolab.sym} -1630 -60 0 0 {name=r21}
+C {lab_wire.sym} -1630 150 3 1 {name=l26 sig_type=std_logic lab=data_in[16]}
+C {bus_connect_nolab.sym} -1840 -60 0 0 {name=r22}
+C {vsource.sym} -1770 200 0 0 {name=V22 value=1.8}
+C {vsource.sym} -1840 200 0 0 {name=V23 value=1.8}
+C {lab_wire.sym} -1840 150 3 1 {name=l27 sig_type=std_logic lab=data_in[19]}
+C {bus_connect_nolab.sym} -1770 -60 0 0 {name=r23}
+C {lab_wire.sym} -1770 150 3 1 {name=l28 sig_type=std_logic lab=data_in[18]}
+C {bus_connect_nolab.sym} -1980 -60 0 0 {name=r24}
+C {vsource.sym} -1910 200 0 0 {name=V24 value=1.8}
+C {vsource.sym} -1980 200 0 0 {name=V25 value=1.8}
+C {lab_wire.sym} -1980 150 3 1 {name=l29 sig_type=std_logic lab=data_in[21]}
+C {bus_connect_nolab.sym} -1910 -60 0 0 {name=r25}
+C {lab_wire.sym} -1910 150 3 1 {name=l30 sig_type=std_logic lab=data_in[20]}
+C {bus_connect_nolab.sym} -2120 -60 0 0 {name=r26}
+C {vsource.sym} -2050 200 0 0 {name=V26 value=1.8}
+C {vsource.sym} -2120 200 0 0 {name=V27 value=1.8}
+C {lab_wire.sym} -2120 150 3 1 {name=l31 sig_type=std_logic lab=data_in[23]}
+C {bus_connect_nolab.sym} -2050 -60 0 0 {name=r27}
+C {lab_wire.sym} -2050 150 3 1 {name=l32 sig_type=std_logic lab=data_in[22]}
+C {bus_connect_nolab.sym} -2260 -60 0 0 {name=r28}
+C {vsource.sym} -2190 200 0 0 {name=V28 value=1.8}
+C {vsource.sym} -2260 200 0 0 {name=V29 value=1.8}
+C {lab_wire.sym} -2260 150 3 1 {name=l33 sig_type=std_logic lab=data_in[25]}
+C {bus_connect_nolab.sym} -2190 -60 0 0 {name=r29}
+C {lab_wire.sym} -2190 150 3 1 {name=l34 sig_type=std_logic lab=data_in[24]}
diff --git a/xschem/fractional_n_divider/tests/lfsr_fib/Makefile b/xschem/fractional_n_divider/tests/lfsr_fib/Makefile
new file mode 100644
index 0000000..2607c24
--- /dev/null
+++ b/xschem/fractional_n_divider/tests/lfsr_fib/Makefile
@@ -0,0 +1,21 @@
+TOPLEVEL_LANG ?= verilog
+
+PWD=$(shell pwd)
+
+# add the models to path
+export PYTHONPATH := $(PWD)/../../models:$(PYTHONPATH)
+
+ifeq ($(TOPLEVEL_LANG),verilog)
+    VERILOG_SOURCES = $(PWD)/../../lfsr_fib.v
+else
+    $(error "A valid value (verilog) was not provided for TOPLEVEL_LANG=$(TOPLEVEL_LANG)")
+endif
+
+EXTRA_ARGS := --trace --trace-structs --coverage
+SIM := verilator
+
+TOPLEVEL := lfsr_fib
+MODULE   := test_lfsr_fib
+
+
+include $(shell cocotb-config --makefiles)/Makefile.sim
diff --git a/xschem/fractional_n_divider/tests/lfsr_fib/test_lfsr_fib.py b/xschem/fractional_n_divider/tests/lfsr_fib/test_lfsr_fib.py
new file mode 100644
index 0000000..9f7e6e6
--- /dev/null
+++ b/xschem/fractional_n_divider/tests/lfsr_fib/test_lfsr_fib.py
@@ -0,0 +1,61 @@
+import cocotb
+from cocotb.triggers import Timer, RisingEdge, ClockCycles
+from cocotb.clock import Clock
+import cocotb_coverage
+import random
+import lfsr_fib_model
+from test_lfsr_fib_coverage import *
+
+
+
+# test constants
+NUMBER_TESTS = 4096
+
+
+@cocotb.test()
+async def coverage(dut):
+    """
+        Test the output against the model with random input values
+    """
+
+    # create the model
+    model = lfsr_fib_model.lfsr_fib_model()
+
+    # create an object that views the DUT state
+    status = LFSRFibStatus(dut)
+
+    # start clock
+    clock = Clock(dut.i_clk, 2)
+    cocotb.fork(clock.start())
+
+    # reset the DUT
+    dut.i_reset = 1
+    dut.i_in = 0
+    dut.i_ce = 0
+    await ClockCycles(dut.i_clk, 8)
+    dut.i_reset = 0
+    model.reset()
+    await ClockCycles(dut.i_clk, 1)
+
+    # loop through the tests
+    for test in range(NUMBER_TESTS):
+
+        # create some random data
+        input_data = {  "in"    :   random.randint(0,1),
+                        "ce"    :   random.randint(0,1)}
+
+        dut._log.info("Test number %d, input value = %d, clock enable = %d" % (test+1, input_data["in"], input_data["ce"]))
+
+        # update the data in the DUT
+        status.update()
+        output_data = await process_data(dut, status, input_data)
+
+        # check the output matches the model
+        model_data = model.update(input_data)
+        assert(output_data == model_data), 'Model = %x, Simulation = %x' % (model_data, output_data)
+
+
+    # print and export coverage report
+    coverage_db.report_coverage(dut._log.info, bins=True)
+    coverage_db.export_to_xml(filename="coverage_lfsr_fib.xml")
+    coverage_db.export_to_yaml(filename="coverage_lfsr_fib.yml")
\ No newline at end of file
diff --git a/xschem/fractional_n_divider/tests/lfsr_fib/test_lfsr_fib_coverage.py b/xschem/fractional_n_divider/tests/lfsr_fib/test_lfsr_fib_coverage.py
new file mode 100644
index 0000000..96ba06e
--- /dev/null
+++ b/xschem/fractional_n_divider/tests/lfsr_fib/test_lfsr_fib_coverage.py
@@ -0,0 +1,57 @@
+import cocotb
+from cocotb.triggers import RisingEdge, ReadOnly
+from cocotb_coverage.coverage import *
+
+# auxiliary relation function to define bins matching within a range
+range_relation = lambda val_, bin_ : bin_[0] <= val_ <= bin_[1]
+
+class LFSRFibStatus():
+    """
+    Object representing modulator status 
+    """
+    def __init__(self, dut):
+        self.dut = dut
+    
+    # @cocotb.coroutine   
+    def update(self):
+        self.i_in = int(self.dut.i_in.value)
+        self.i_ce = int(self.dut.i_ce.value)
+        self.o_bit = int(self.dut.o_bit)
+
+
+#functional coverage - check if all FIFO states have been reached
+#and check if read or write operation performed in every FIFO state 
+LFSRFibCoverage = coverage_section (
+    CoverPoint(
+        name = "top.i_in",
+        xf = lambda dut, status, input_data : status.i_in,
+        bins = [0, 1],
+        bins_labels = ["low", "high"]
+    ),
+    CoverPoint(
+        name = "top.i_ce",
+        xf = lambda dut, status, input_data : status.i_ce,
+        bins = [0, 1],
+        bins_labels = ["low", "high"]
+    ),
+    CoverPoint(
+        name = "top.o_bit",
+        xf = lambda dut, status, input_data : status.o_bit,
+        bins = [0, 1],
+        bins_labels = ["low", "high"]
+    )
+)
+
+
+# procedure of processing data
+# coverage sampled here - at each function call
+@LFSRFibCoverage
+async def process_data(dut, status, input_data):
+
+    # provide new data and read old
+    dut.i_in <= input_data["in"]
+    dut.i_ce <= input_data["ce"]
+    await RisingEdge(dut.i_clk)
+    output_data = int(dut.o_bit)
+
+    return output_data
\ No newline at end of file
diff --git a/xschem/fractional_n_divider/tests/mash_mod/Makefile b/xschem/fractional_n_divider/tests/mash_mod/Makefile
new file mode 100644
index 0000000..3ef6cf3
--- /dev/null
+++ b/xschem/fractional_n_divider/tests/mash_mod/Makefile
@@ -0,0 +1,21 @@
+TOPLEVEL_LANG ?= verilog
+
+PWD=$(shell pwd)
+
+# add the models to path
+export PYTHONPATH := $(PWD)/../../models:$(PYTHONPATH)
+
+ifeq ($(TOPLEVEL_LANG),verilog)
+    VERILOG_SOURCES = $(PWD)/../../mash_mod.v
+else
+    $(error "A valid value (verilog) was not provided for TOPLEVEL_LANG=$(TOPLEVEL_LANG)")
+endif
+
+EXTRA_ARGS := --trace --trace-structs --coverage
+SIM := verilator
+
+TOPLEVEL := mash_mod
+MODULE   := test_mash_mod
+
+
+include $(shell cocotb-config --makefiles)/Makefile.sim
diff --git a/xschem/fractional_n_divider/tests/mash_mod/test_mash_mod.py b/xschem/fractional_n_divider/tests/mash_mod/test_mash_mod.py
new file mode 100644
index 0000000..fcbc6d2
--- /dev/null
+++ b/xschem/fractional_n_divider/tests/mash_mod/test_mash_mod.py
@@ -0,0 +1,73 @@
+import cocotb
+from cocotb.triggers import Timer, RisingEdge, ClockCycles
+from cocotb.clock import Clock
+import cocotb_coverage
+import random
+import mash_mod_model
+from test_mash_mod_coverage import *
+
+
+# hardware constants
+WIDTH_MODULUS = 16
+ORDER = 3
+
+
+# test constants
+NUMBER_TESTS = 256
+NUMBER_SAMPLES = 1024
+DELAY = 4*(ORDER-1)+1
+
+
+
+@cocotb.test()
+async def coverage(dut):
+    """
+        Test the output against the model with random input values
+    """
+
+    # create the model
+    model = mash_mod_model.mash_mod_model(modulus_width=WIDTH_MODULUS, order=ORDER)
+
+    # create an object that views the DUT state
+    status = MASHModStatus(dut)
+
+    # start clock
+    clock = Clock(dut.clk, 2)
+    cocotb.fork(clock.start())    
+
+    # loop through the tests
+    for test in range(NUMBER_TESTS):
+
+        # create some random data
+        input_data = random.randint(0,2**WIDTH_MODULUS-1)
+        input_data_frac = input_data / 2**WIDTH_MODULUS
+        dut._log.info("Test number %d, input value = %f" % (test+1, input_data_frac))
+
+        # reset the DUT
+        dut.rst = 1
+        dut.data_in = 0
+        await ClockCycles(dut.clk, 8)
+        dut.rst = 0
+        model.reset()
+        
+        # update the data in the DUT
+        status.update()
+        output_data = await process_data(dut, status, input_data)
+
+
+        # loop through some clock cycles calculating samples
+        for sample in range(NUMBER_SAMPLES):
+
+            # update the data in the DUT
+            status.update()
+            output_data = await process_data(dut, status, input_data)
+
+            # check the output matches the model
+            model_data = model.update(input_data_frac)
+            assert(output_data == model_data), 'Model = %x, Simulation = %x' % (int(model_data), output_data)
+
+
+    # print and export coverage report
+    coverage_db.report_coverage(dut._log.info, bins=True)
+    coverage_db.export_to_xml(filename="coverage_mash_mod.xml")
+    coverage_db.export_to_yaml(filename="coverage_mash_mod.yml")
\ No newline at end of file
diff --git a/xschem/fractional_n_divider/tests/mash_mod/test_mash_mod_coverage.py b/xschem/fractional_n_divider/tests/mash_mod/test_mash_mod_coverage.py
new file mode 100644
index 0000000..a8be862
--- /dev/null
+++ b/xschem/fractional_n_divider/tests/mash_mod/test_mash_mod_coverage.py
@@ -0,0 +1,55 @@
+import cocotb
+from cocotb.triggers import RisingEdge, ReadOnly
+from cocotb_coverage.coverage import *
+
+# auxiliary relation function to define bins matching within a range
+range_relation = lambda val_, bin_ : bin_[0] <= val_ <= bin_[1]
+
+class MASHModStatus():
+    """
+    Object representing modulator status 
+    """
+    def __init__(self, dut):
+        self.dut = dut
+    
+    # @cocotb.coroutine   
+    def update(self):
+        self.data_in = int(self.dut.data_in.value)
+        self.data_out = int(self.dut.data_out)
+
+
+#functional coverage - check if all FIFO states have been reached
+#and check if read or write operation performed in every FIFO state 
+MASHModCoverage = coverage_section (
+    CoverPoint(
+        name = "top.data_in",
+        xf = lambda dut, status, input_data : status.data_in,
+        rel = range_relation,
+        bins = [(0,int(2**16*1/3)-1), (int(2**16*1/3),int(2**16*2/3)-1), (int(2**16*2/3),int(2**16-1))],
+        bins_labels = ["low", "med", "high"]
+    ),
+    CoverPoint(
+        name = "top.data_out",
+        xf = lambda dut, status, input_data : status.data_out,
+        rel = range_relation,
+        bins = [(0,int(2**3*1/3)-1), (int(2**3*1/3),int(2**3*2/3)-1), (int(2**3*2/3),int(2**3-1))],
+        bins_labels = ["low", "med", "high"]
+    )
+)
+
+
+# procedure of processing data
+# coverage sampled here - at each function call
+@MASHModCoverage
+async def process_data(dut, status, input_data):
+
+    # provide new data and read old
+    dut.data_in <= input_data
+    await RisingEdge(dut.clk)
+    output_data = int(dut.data_out)
+
+    # convert to signed
+    if output_data > 2**2:
+        output_data -= 2**3
+
+    return output_data
\ No newline at end of file
diff --git a/xschem/pll_collection/pll_collection.sch b/xschem/pll_collection/pll_collection.sch
new file mode 100644
index 0000000..6b69bb0
--- /dev/null
+++ b/xschem/pll_collection/pll_collection.sch
@@ -0,0 +1,120 @@
+v { version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N 640 -210 700 -210 { lab=#net1}
+N 640 -190 700 -190 { lab=#net2}
+N 900 -210 960 -210 { lab=#net3}
+N 900 -190 960 -190 { lab=#net4}
+N 1160 -210 1220 -210 { lab=#net5}
+N 1160 -190 1220 -190 { lab=#net6}
+N 1420 -210 1480 -210 { lab=#net7}
+N 1420 -190 1480 -190 { lab=#net8}
+N 1680 -210 1740 -210 { lab=#net9}
+N 1680 -190 1740 -190 { lab=#net10}
+N 1840 -550 1840 -260 { lab=vdd}
+N 1580 -550 1840 -550 { lab=vdd}
+N 210 -100 210 0 { lab=vss}
+N 1580 0 1840 0 { lab=vss}
+N 1840 -140 1840 0 { lab=vss}
+N 210 -430 210 -350 { lab=#net11}
+N 210 -550 210 -490 { lab=vdd}
+N 540 -550 540 -430 { lab=vdd}
+N 540 -320 540 -260 { lab=#net12}
+N 540 -320 800 -320 { lab=#net12}
+N 800 -320 800 -260 { lab=#net12}
+N 540 -400 560 -400 { lab=vdd}
+N 560 -550 560 -400 { lab=vdd}
+N 210 -460 230 -460 { lab=vdd}
+N 230 -550 230 -460 { lab=vdd}
+N 100 -400 500 -400 { lab=en_n}
+N 100 -460 100 -400 { lab=en_n}
+N 100 -460 170 -460 { lab=en_n}
+N 1060 -550 1060 -260 { lab=vdd}
+N 1320 -550 1320 -260 { lab=vdd}
+N 1580 -550 1580 -260 { lab=vdd}
+N 1580 -140 1580 0 { lab=vss}
+N 1320 -140 1320 0 { lab=vss}
+N 1060 -140 1060 0 { lab=vss}
+N 800 -140 800 0 { lab=vss}
+N 540 -140 540 0 { lab=vss}
+N 0 -550 210 -550 { lab=vdd}
+N 0 0 210 0 { lab=vss}
+N 0 -220 80 -220 { lab=ctl}
+N 1940 -210 2100 -210 { lab=#net13}
+N 0 -460 100 -460 { lab=en_n}
+N 2080 -190 2100 -190 { lab=#net14}
+N 2080 -190 2080 -140 { lab=#net14}
+N 2080 -140 2300 -140 { lab=#net14}
+N 2300 -190 2300 -140 { lab=#net14}
+N 2280 -190 2300 -190 { lab=#net14}
+N 2280 -210 2360 -210 { lab=#net15}
+N 2340 -190 2360 -190 { lab=#net16}
+N 2340 -190 2340 -140 { lab=#net16}
+N 2340 -140 2560 -140 { lab=#net16}
+N 2560 -190 2560 -140 { lab=#net16}
+N 2540 -190 2560 -190 { lab=#net16}
+N 2540 -210 2620 -210 { lab=#net17}
+N 2700 -210 2780 -210 { lab=out}
+N 230 -550 540 -550 { lab=vdd}
+N 540 -370 540 -320 { lab=#net12}
+N 540 -550 560 -550 { lab=vdd}
+N 210 -550 230 -550 { lab=vdd}
+N 560 -550 1060 -550 { lab=vdd}
+N 1060 -550 1320 -550 { lab=vdd}
+N 1320 -550 1580 -550 { lab=vdd}
+N 1320 0 1580 0 { lab=vss}
+N 1060 0 1320 0 { lab=vss}
+N 800 0 1060 0 { lab=vss}
+N 540 0 800 0 { lab=vss}
+N 210 0 540 0 { lab=vss}
+N 340 -210 440 -210 { lab=#net18}
+N 340 -190 430 -190 { lab=#net19}
+N 430 -190 440 -190 { lab=#net19}
+C {vco_2-4GHz/vco_2-4GHz.sym} 210 -220 0 0 {name=xvco}
+C {divider_cml/divider_cml.sym} 540 -200 0 0 {name=x1}
+C {divider_cml/divider_cml.sym} 800 -200 0 0 {name=x2}
+C {divider_ff/divider_ff.sym} 1060 -200 0 0 {name=x3}
+C {divider_ff/divider_ff.sym} 1320 -200 0 0 {name=x4}
+C {divider_ff/divider_ff.sym} 1580 -200 0 0 {name=x5}
+C {divider_ff/divider_ff.sym} 1840 -200 0 0 {name=x6}
+C {sky130_fd_pr/pfet_01v8_lvt.sym} 190 -460 0 0 {name=M1
+L=0.35
+W=7
+ad="'W * 0.29'" pd="'2 * (W + 0.29)'"
+as="'W * 0.29'" ps="'2 * (W + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+nf=1 mult=128
+model=pfet_01v8_lvt
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_01v8_lvt.sym} 520 -400 0 0 {name=M2
+L=0.35
+W=7
+ad="'W * 0.29'" pd="'2 * (W + 0.29)'"
+as="'W * 0.29'" ps="'2 * (W + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+nf=1 mult=128
+model=pfet_01v8_lvt
+spiceprefix=X
+}
+C {iopin.sym} 0 -550 0 1 {name=p1 lab=vdd}
+C {iopin.sym} 0 0 0 1 {name=p2 lab=vss}
+C {ipin.sym} 0 -220 0 0 {name=p3 lab=ctl}
+C {opin.sym} 2780 -210 0 0 {name=p4 lab=out}
+C {ipin.sym} 0 -460 0 0 {name=p6 lab=en_n}
+C {sky130_stdcells/dfxbp_1.sym} 2190 -200 0 0 {name=x7 VGND=vss VNB=vss VPB=vdd VPWR=vdd prefix=sky130_fd_sc_hd__ }
+C {sky130_stdcells/dfxbp_1.sym} 2450 -200 0 0 {name=x8 VGND=vss VNB=vss VPB=vdd VPWR=vdd prefix=sky130_fd_sc_hd__ }
+C {sky130_stdcells/bufinv_16.sym} 2660 -210 0 0 {name=x9 VGND=vss VNB=vss VPB=vdd VPWR=vdd prefix=sky130_fd_sc_hd__ }
+C {lab_pin.sym} 340 -310 0 1 {name=l2 sig_type=std_logic lab=ph1_p}
+C {lab_pin.sym} 340 -290 0 1 {name=l3 sig_type=std_logic lab=ph1_n}
+C {lab_pin.sym} 340 -160 0 1 {name=l6 sig_type=std_logic lab=ph4_p}
+C {lab_pin.sym} 340 -140 0 1 {name=l7 sig_type=std_logic lab=ph4_n}
+C {lab_pin.sym} 1940 -190 0 1 {name=l8 sig_type=std_logic lab=ff_nc}
+C {sky130_stdcells/tapvpwrvgnd_1.sym} 2040 -450 0 0 {name=x10[2:1] VGND=vss VPWR=vdd prefix=sky130_fd_sc_hd__ }
+C {lab_pin.sym} 340 -260 0 1 {name=l1 sig_type=std_logic lab=ph2_p}
+C {lab_pin.sym} 340 -240 0 1 {name=l4 sig_type=std_logic lab=ph2_n}
diff --git a/xschem/pll_collection/pll_collection.sym b/xschem/pll_collection/pll_collection.sym
new file mode 100644
index 0000000..85b3d95
--- /dev/null
+++ b/xschem/pll_collection/pll_collection.sym
@@ -0,0 +1,30 @@
+v {xschem version=2.9.8 file_version=1.2}
+G {}
+K {type=subcircuit
+format="@name @pinlist @symname"
+template="name=x1"
+}
+V {}
+S {}
+E {}
+L 4 -130 -40 130 -40 {}
+L 4 -130 40 130 40 {}
+L 4 -130 -40 -130 40 {}
+L 4 130 -40 130 40 {}
+L 4 -150 -10 -130 -10 {}
+L 4 -150 10 -130 10 {}
+L 4 130 -10 150 -10 {}
+L 7 0 -60 0 -40 {}
+L 7 0 40 0 60 {}
+B 5 -2.5 -62.5 2.5 -57.5 {name=vdd dir=inout name=p1 }
+B 5 -152.5 -12.5 -147.5 -7.5 {name=en_n dir=in name=p6 }
+B 5 -152.5 7.5 -147.5 12.5 {name=ctl dir=in name=p3 }
+B 5 147.5 -12.5 152.5 -7.5 {name=out dir=out name=p4 }
+B 5 -2.5 57.5 2.5 62.5 {name=vss dir=inout name=p2 }
+T {@symname} 29 54 0 0 0.3 0.3 {}
+T {@name} 45 78 0 0 0.2 0.2 {}
+T {vdd} 16 -35 0 1 0.2 0.2 {}
+T {en_n} -125 -14 0 0 0.2 0.2 {}
+T {ctl} -125 6 0 0 0.2 0.2 {}
+T {out} 125 -14 0 1 0.2 0.2 {}
+T {vss} -6 35 2 1 0.2 0.2 {}
diff --git a/xschem/pll_collection/test/pll_collection_tb.sch b/xschem/pll_collection/test/pll_collection_tb.sch
new file mode 100644
index 0000000..f33bef0
--- /dev/null
+++ b/xschem/pll_collection/test/pll_collection_tb.sch
@@ -0,0 +1,86 @@
+v {xschem version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N 0 -90 -0 -0 { lab=GND}
+N -0 -0 380 0 { lab=GND}
+N 400 -110 400 -0 { lab=GND}
+N 380 -0 400 -0 { lab=GND}
+N 400 -280 400 -230 { lab=#net1}
+N -0 -280 400 -280 { lab=#net1}
+N -0 -280 -0 -150 { lab=#net1}
+N 100 -60 100 -0 { lab=GND}
+N 180 -60 180 -0 { lab=GND}
+N 180 -160 180 -120 { lab=ctl}
+N 180 -160 250 -160 { lab=ctl}
+N 100 -180 250 -180 { lab=en_n}
+N 100 -180 100 -120 { lab=en_n}
+N 400 0 740 0 { lab=GND}
+N 740 -30 740 0 { lab=GND}
+N 740 -40 740 -30 { lab=GND}
+N 550 -180 740 -180 { lab=outp}
+N 740 -180 740 -100 { lab=outp}
+C {pll_collection/pll_collection.sym} 400 -170 0 0 {name=x1}
+C {vsource.sym} 0 -120 0 0 {name=Vvdd value=1.8}
+C {vsource.sym} 100 -90 0 0 {name=V2 value=0.0}
+C {vsource.sym} 180 -90 0 0 {name=V3 value=0.2}
+C {capa.sym} 740 -70 0 0 {name=C2
+m=1
+value=1p
+footprint=1206
+device="ceramic capacitor"}
+C {lab_wire.sym} 550 -180 0 1 {name=l1 sig_type=std_logic lab=outp}
+C {gnd.sym} 0 0 0 0 {name=l3 lab=GND}
+C {code.sym} 630 -390 0 0 {name=STIMULI
+tclcommand="xschem edit_vi_prop"
+value="
+.param temp=27
+.temp 27
+
+*.save v(ip) v(in) v(vctl) i(vdd)
+
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aM04W5p00L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aM02W3p00L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15.spice
+
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM04W5p00L0p35.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM04W3p00L0p35.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM04W5p00L0p35.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM04W5p00L0p50.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM02W3p00L0p35.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM02W5p00L0p35.spice
+
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W1p65L0p15.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W3p00L0p15.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W5p00L0p15.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W3p00L0p25.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W5p00L0p25.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aF04W2p00L0p15.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aF04W3p00L0p15.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W1p65L0p25.spice
+
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aF06W3p00L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aF06W1p65L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aF04W1p65L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aF02W1p65L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aF02W0p84L0p15.spice
+
+
+.lib sky130_fd_pr/models/sky130.lib.spice tt
+*.include sky130_fd_pr/models/corners/tt.spice
+
+
+.tran 0.01n 1000n uic
+.param vdd=1.8
+.param vctl=0.2
+"}
+C {lab_wire.sym} 100 -180 0 1 {name=l4 sig_type=std_logic lab=en_n}
+C {lab_wire.sym} 180 -160 0 1 {name=l5 sig_type=std_logic lab=ctl}
+C {code.sym} 460 -390 0 0 {name=STDCELL_MODELS 
+only_toplevel=true
+place=end
+format=tcleval(@value\\)
+value="[sky130_models]"
+}
diff --git a/xschem/pll_collection/test/sky130_fd_pr b/xschem/pll_collection/test/sky130_fd_pr
new file mode 120000
index 0000000..e705079
--- /dev/null
+++ b/xschem/pll_collection/test/sky130_fd_pr
@@ -0,0 +1 @@
+/home/tom/skywater/skywater-pdk/libraries/sky130_fd_pr/latest
\ No newline at end of file
diff --git a/xschem/rf_bufferdiff/rf_bufferdiff.sch b/xschem/rf_bufferdiff/rf_bufferdiff.sch
new file mode 100644
index 0000000..d760603
--- /dev/null
+++ b/xschem/rf_bufferdiff/rf_bufferdiff.sch
@@ -0,0 +1,50 @@
+v {xschem version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N 70 -30 70 0 {lab=vss}
+N 70 0 220 0 {lab=vss}
+N 220 -30 220 0 {lab=vss}
+N 70 -60 220 -60 {lab=vss}
+N 70 -140 70 -90 {lab=out_p}
+N 220 -270 220 -200 {lab=vdd}
+N 0 -270 220 -270 {lab=vdd}
+N 70 -270 70 -200 {lab=vdd}
+N 0 -120 70 -120 {lab=out_p}
+N 220 -140 220 -90 {lab=out_n}
+N 220 -120 290 -120 {lab=out_n}
+N 0 -170 40 -170 {lab=vss}
+N 240 -170 280 -170 {lab=vss}
+N 0 0 70 0 {lab=vss}
+N 150 -60 150 0 {lab=vss}
+N 20 -60 30 -60 { lab=in_p}
+N 260 -60 290 -60 { lab=in_n}
+N 0 -60 20 -60 { lab=in_p}
+N 40 -170 50 -170 { lab=vss}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 50 -60 0 0 {name=XMdiffp model=sky130_fd_pr__rf_nfet_01v8_lvt_aF02W1p65L0p15
+
+}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 240 -60 0 1 {name=XMdiffn model=sky130_fd_pr__rf_nfet_01v8_lvt_aF02W1p65L0p15
+}
+C {iopin.sym} 0 -270 0 1 {name=p1 lab=vdd}
+C {iopin.sym} 0 0 0 1 {name=p2 lab=vss}
+C {ipin.sym} 0 -60 0 0 {name=p3 lab=in_p}
+C {ipin.sym} 290 -60 0 1 {name=p4 lab=in_n}
+C {opin.sym} 0 -120 0 1 {name=p5 lab=out_p}
+C {opin.sym} 290 -120 0 0 {name=p6 lab=out_n}
+C {lab_wire.sym} 0 -170 0 1 {name=l1 sig_type=std_logic lab=vss}
+C {lab_wire.sym} 240 -170 0 1 {name=l2 sig_type=std_logic lab=vss}
+C {sky130_fd_pr/res_xhigh_po.sym} 70 -170 0 0 {name=Rp
+W=2.85
+L=5.00
+model=res_xhigh_po
+spiceprefix=X
+mult=1}
+C {sky130_fd_pr/res_xhigh_po.sym} 220 -170 0 1 {name=Rn
+W=2.85
+L=5.00
+model=res_xhigh_po
+spiceprefix=X
+mult=1}
diff --git a/xschem/rf_bufferdiff/rf_bufferdiff.sym b/xschem/rf_bufferdiff/rf_bufferdiff.sym
new file mode 100644
index 0000000..0232662
--- /dev/null
+++ b/xschem/rf_bufferdiff/rf_bufferdiff.sym
@@ -0,0 +1,31 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {type=subcircuit
+format="@name @pinlist @symname"
+template="name=x1"
+}
+V {}
+S {}
+E {}
+L 4 -50 -40 -50 40 {}
+L 4 18 -10 60 -10 {}
+L 4 18 10 60 10 {}
+L 4 -70 -10 -50 -10 {}
+L 4 -70 10 -50 10 {}
+L 4 -50 -40 40 0 {}
+L 4 -50 40 40 0 {}
+L 7 0 -40 0 -18 {}
+L 7 0 18 0 40 {}
+B 5 -2.5 -42.5 2.5 -37.5 {name=vdd dir=inout }
+B 5 57.5 -12.5 62.5 -7.5 {name=out_n dir=out }
+B 5 57.5 7.5 62.5 12.5 {name=out_p dir=out }
+B 5 -72.5 -12.5 -67.5 -7.5 {name=in_p dir=in }
+B 5 -72.5 7.5 -67.5 12.5 {name=in_n dir=in }
+B 5 -2.5 37.5 2.5 42.5 {name=vss dir=inout }
+T {@symname} 13.5 34 0 0 0.3 0.3 {}
+T {@name} 15 58 0 0 0.2 0.2 {}
+T {vdd} -4 -45 0 1 0.2 0.2 {}
+T {out_n} 45 -24 0 1 0.2 0.2 {}
+T {out_p} 45 16 0 1 0.2 0.2 {}
+T {in_p} -45 -14 0 0 0.2 0.2 {}
+T {in_n} -45 6 0 0 0.2 0.2 {}
+T {vss} -26 45 2 1 0.2 0.2 {}
diff --git a/xschem/rf_bufferdiff/test/rf_bufferdiff_tb.sch b/xschem/rf_bufferdiff/test/rf_bufferdiff_tb.sch
new file mode 100644
index 0000000..e792ddc
--- /dev/null
+++ b/xschem/rf_bufferdiff/test/rf_bufferdiff_tb.sch
@@ -0,0 +1,63 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {}
+V {}
+S {}
+E {}
+N -90 10 -90 90 {lab=in_n}
+N -90 10 -10 10 {lab=in_n}
+N -150 -10 -150 90 {lab=in_p}
+N -150 -10 -10 -10 {lab=in_p}
+N -260 30 -10 30 {lab=#net1}
+N -300 -30 -300 0 {lab=#net1}
+N -300 -30 -230 -30 {lab=#net1}
+N -230 -30 -230 30 {lab=#net1}
+N -300 60 -300 180 {lab=0}
+N -300 180 60 180 {lab=0}
+N 60 40 60 180 {lab=0}
+N -90 150 -90 180 {lab=0}
+N -150 150 -150 180 {lab=0}
+N -320 30 -300 30 {lab=0}
+N -320 30 -320 180 {lab=0}
+N -320 180 -300 180 {lab=0}
+N -300 -80 -300 -30 {lab=#net1}
+N -440 -10 -440 180 {lab=0}
+N -440 180 -320 180 {lab=0}
+N -440 -190 -440 -70 {lab=#net2}
+N -440 -190 60 -190 {lab=#net2}
+N 60 -190 60 -40 {lab=#net2}
+N -300 -190 -300 -140 {lab=#net2}
+N 60 -190 460 -190 {lab=#net2}
+N 460 -190 460 -80 {lab=#net2}
+N 360 -190 360 20 {lab=#net2}
+N 460 -20 460 180 {lab=0}
+N 60 180 460 180 {lab=0}
+N 360 80 360 180 {lab=0}
+N 360 50 380 50 {lab=0}
+N 380 50 380 180 {lab=0}
+N 460 -50 480 -50 {lab=0}
+N 480 -50 480 180 {lab=0}
+N 460 180 480 180 {lab=0}
+N 120 -10 280 -10 {lab=out_n}
+N 280 -50 280 -10 {lab=out_n}
+N 280 -50 420 -50 {lab=out_n}
+N 120 10 280 10 {lab=out_p}
+N 280 10 280 50 {lab=out_p}
+N 280 50 320 50 {lab=out_p}
+C {rf_bufferdiff/rf_bufferdiff.sym} 60 0 0 0 {name=x1}
+C {nmos4.sym} -280 30 0 1 {name=XM1 model=sky130_fd_pr__nfet_01v8 w=1 l=0.5 m=1}
+C {vsource.sym} -90 120 0 0 {name=Vin_n value="pulse(1.8 0 0 41.67p 41.67p 166.68p 416.7p 0)"}
+C {vsource.sym} -150 120 0 0 {name=Vin_p value="pulse(0 1.8 0 41.67p 41.67p 166.68p 416.7p 0)"}
+C {isource.sym} -300 -110 0 0 {name=I0 value=1u}
+C {vsource.sym} -440 -40 0 0 {name=V1 value=1.8}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 340 50 0 0 {name=XM2 model=sky130_fd_pr__rf_nfet_01v8_bM02W1p65L0p15 m=1}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 440 -50 0 0 {name=XM3 model=sky130_fd_pr__rf_nfet_01v8_bM02W1p65L0p15 m=1}
+C {lab_wire.sym} -440 180 0 1 {name=l1 sig_type=std_logic lab=0}
+C {lab_wire.sym} -90 -10 0 1 {name=l2 sig_type=std_logic lab=in_p}
+C {lab_wire.sym} -90 10 0 1 {name=l3 sig_type=std_logic lab=in_n}
+C {lab_wire.sym} 120 -10 0 1 {name=l4 sig_type=std_logic lab=out_n}
+C {lab_wire.sym} 120 10 0 1 {name=l5 sig_type=std_logic lab=out_p}
+C {code_shown.sym} -440 240 0 0 {name=CONTROL value="
+.param temp=27
+.lib sky130_fd_pr/models/sky130.lib.spice tt
+.tran 0.001n 10n uic
+"}
diff --git a/xschem/vco_2-4GHz/doc/.ipynb_checkpoints/Transfer Function-checkpoint.ipynb b/xschem/vco_2-4GHz/doc/.ipynb_checkpoints/Transfer Function-checkpoint.ipynb
new file mode 100644
index 0000000..7d0618a
--- /dev/null
+++ b/xschem/vco_2-4GHz/doc/.ipynb_checkpoints/Transfer Function-checkpoint.ipynb
@@ -0,0 +1,138 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# 2.4 GHz VCO Transfer Function\n",
+    "Plot the transfer function of the VCO over different corners and temperatures"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%load_ext autoreload\n",
+    "%autoreload 2"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import matplotlib.pyplot as plt\n",
+    "import numpy as np\n",
+    "from IPython.display import display, Markdown\n",
+    "import SpiceInterface\n",
+    "import h5py"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Read in the results file"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[5.88235294e+09 5.88235294e+09 5.88235294e+09 5.26315789e+09\n",
+      " 5.26315789e+09 5.00000000e+09 5.00000000e+09 4.98449179e+09\n",
+      " 4.57174073e+09 5.25427244e+09 4.31128989e+09 4.04942136e+09\n",
+      " 4.11495216e+09 3.57142857e+09 2.92397661e+09 2.90729831e+09\n",
+      " 2.30414747e+09 1.85185185e+09 1.61290323e+09 1.44927536e+09\n",
+      " 1.31578947e+09 1.19047619e+09 1.09890110e+09 1.05263158e+09\n",
+      " 1.03092784e+09 1.02040816e+09 1.03092784e+09 1.02040816e+09\n",
+      " 1.02040816e+09 1.03092784e+09 1.02040816e+09 1.02040816e+09]\n"
+     ]
+    }
+   ],
+   "source": [
+    "filename = '../tests/vco_2-4GHz_corners.hdf5'\n",
+    "with h5py.File(filename, 'r') as file:\n",
+    "\n",
+    "    # grab the data keys\n",
+    "    group_list = list(file.keys())\n",
+    "    \n",
+    "    # get the indexing data\n",
+    "    indexing = {}\n",
+    "    for key in list(file['indexing']):\n",
+    "        indexing[key] = list(file['indexing'][key])\n",
+    "        \n",
+    "        \n",
+    "        \n",
+    "    # get the simulation data\n",
+    "    data = list(file['data'])    \n",
+    "    print(data[0][0][0])\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Plot the transfer function"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {},
+   "outputs": [
+    {
+     "ename": "NameError",
+     "evalue": "name 'vdd' is not defined",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
+      "\u001b[0;32m<ipython-input-14-32a5b334c682>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mvctl\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinspace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvdd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvctl_num\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m     \u001b[0;32mfor\u001b[0m \u001b[0mj\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;31mNameError\u001b[0m: name 'vdd' is not defined"
+     ]
+    }
+   ],
+   "source": [
+    "vctl = np.linspace(0, 1.8, 32)\n",
+    "\n",
+    "for i in range(len(data)):\n",
+    "    for j in range(len(data[0])):\n",
+    "        for k in range(len(data[0][0])):\n",
+    "            \n",
+    "            plt.plot(vctl, data[i][j][k], 'b', alpha=0.5)\n",
+    "\n",
+    "plt.show()"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/xschem/vco_2-4GHz/doc/Transfer Function.ipynb b/xschem/vco_2-4GHz/doc/Transfer Function.ipynb
new file mode 100644
index 0000000..0da7e1f
--- /dev/null
+++ b/xschem/vco_2-4GHz/doc/Transfer Function.ipynb
@@ -0,0 +1,149 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# 2.4 GHz VCO Transfer Function\n",
+    "Plot the transfer function of the VCO over different corners and temperatures"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%load_ext autoreload\n",
+    "%autoreload 2"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import matplotlib.pyplot as plt\n",
+    "import numpy as np\n",
+    "from IPython.display import display, Markdown\n",
+    "import SpiceInterface\n",
+    "import h5py"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Read in the results file"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[5.88235294e+09 5.88235294e+09 5.88235294e+09 5.26315789e+09\n",
+      " 5.26315789e+09 5.00000000e+09 5.00000000e+09 4.54545455e+09\n",
+      " 4.34782609e+09 4.16666667e+09 3.84615385e+09 3.57142857e+09\n",
+      " 3.33333333e+09 2.94117647e+09 2.63157895e+09 2.32558140e+09\n",
+      " 2.08333333e+09 1.85185185e+09 1.61290323e+09 1.44927536e+09\n",
+      " 1.31578947e+09 1.19047619e+09 1.09890110e+09 1.05263158e+09\n",
+      " 1.03092784e+09 1.02040816e+09 1.03092784e+09 1.02040816e+09\n",
+      " 1.02040816e+09 1.03092784e+09 1.02040816e+09 1.02040816e+09]\n"
+     ]
+    }
+   ],
+   "source": [
+    "filename = '../tests/vco_2-4GHz_corners.hdf5'\n",
+    "with h5py.File(filename, 'r') as file:\n",
+    "\n",
+    "    # grab the data keys\n",
+    "    group_list = list(file.keys())\n",
+    "    \n",
+    "    # get the indexing data\n",
+    "    indexing = {}\n",
+    "    for key in list(file['indexing']):\n",
+    "        indexing[key] = list(file['indexing'][key])\n",
+    "        \n",
+    "        \n",
+    "        \n",
+    "    # get the simulation data\n",
+    "    data = list(file['data'])    \n",
+    "    print(data[0][0][0])\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Plot the transfer function"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "vctl = np.linspace(0, 1.8, 32)\n",
+    "\n",
+    "for i in range(len(data)):\n",
+    "    for j in range(len(data[0])):\n",
+    "        for k in range(len(data[0][0])):\n",
+    "            \n",
+    "            plt.plot(vctl, [_/1e9 for _ in data[i][j][k]], 'b', alpha=0.4)\n",
+    "\n",
+    "plt.ylabel('Frequency (GHz)')\n",
+    "plt.xlabel('Control Voltage (V)')\n",
+    "plt.title('VCO Transfer Function')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/xschem/vco_2-4GHz/tests/.ipynb_checkpoints/Corner Transfer Function-checkpoint.ipynb b/xschem/vco_2-4GHz/tests/.ipynb_checkpoints/Corner Transfer Function-checkpoint.ipynb
new file mode 100644
index 0000000..7fec515
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/.ipynb_checkpoints/Corner Transfer Function-checkpoint.ipynb
@@ -0,0 +1,6 @@
+{
+ "cells": [],
+ "metadata": {},
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/xschem/vco_2-4GHz/tests/Corner Transfer Function.ipynb b/xschem/vco_2-4GHz/tests/Corner Transfer Function.ipynb
new file mode 100644
index 0000000..888c372
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/Corner Transfer Function.ipynb
@@ -0,0 +1,32 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/xschem/vco_2-4GHz/tests/b3v32check.log b/xschem/vco_2-4GHz/tests/b3v32check.log
new file mode 100644
index 0000000..569f6a3
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/b3v32check.log
@@ -0,0 +1,4 @@
+BSIM3 Model (Supports: v3.2, v3.2.2, v3.2.3, v3.2.4)
+Parameter Checking.
+Model = xvco.x1.xmprimpos:nemod.3
+W = 3e-05, L = 1.8e-07, M = 1
diff --git a/xschem/vco_2-4GHz/tests/bsim4v5.out b/xschem/vco_2-4GHz/tests/bsim4v5.out
new file mode 100644
index 0000000..fd29aae
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/bsim4v5.out
@@ -0,0 +1,5 @@
+BSIM4v5: Berkeley Short Channel IGFET Model-4
+Developed by Xuemei (Jane) Xi, Mohan Dunga, Prof. Ali Niknejad and Prof. Chenming Hu in 2003.
+
+++++++++++ BSIM4v5 PARAMETER CHECKING BELOW ++++++++++
+Model = xvco.x1.xxmprimpos.xsky130_fd_pr__rf_nfet_01v8_bm04w5p00l0p15:sky130_fd_pr__rf_nfet_01v8_bm04__model.6
diff --git a/xschem/vco_2-4GHz/tests/plot_transfer.py b/xschem/vco_2-4GHz/tests/plot_transfer.py
new file mode 100644
index 0000000..2829915
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/plot_transfer.py
@@ -0,0 +1,91 @@
+import matplotlib.pyplot as plt
+from pathlib import Path
+import numpy as np
+import os
+import re
+import h5py
+import subprocess
+from spyci import spyci
+
+import SpiceInterface
+
+
+
+# read the generated netlist.
+netlist_path = os.environ.get('HOME') + '/.xschem/simulations/vco_2-4GHz_tb.spice'
+
+# create the object
+spice_interface_obj = SpiceInterface.SpiceInterface(netlist_path=netlist_path)
+
+# only save the Ip node to avoid using lots of memory
+# spice_interface_obj.simulation['netlist'] = re.sub(r'\*\*\*\* end user architecture code', r'.save v(ip)\n**** end user architecture code', spice_interface_obj.simulation['netlist'])
+
+
+
+# define the sweeps
+vctl_num = 32
+vdd = [1.8]
+
+corners = ['tt', 'sf', 'ff', 'ss', 'fs', 'll', 'hh', 'hl', 'lh']
+temp = [-40, 27, 125]
+
+# corners = ['tt']
+# temp = [25]
+
+
+vctl = np.linspace(0, vdd, vctl_num)
+freq = []
+
+
+
+hdf_file = h5py.File('vco_2-4GHz_corners.hdf5', 'w')
+
+# prepopulate the data
+values = np.zeros((len(vdd), len(corners), len(temp), vctl_num))
+
+for vdd_i, current_vdd in enumerate(vdd):
+    for corner_i, current_corner in enumerate(corners):
+
+        # set corner
+        spice_interface_obj.set_corner(current_corner)
+        
+        for temp_i, current_temp in enumerate(temp):
+
+            # set temperature
+            spice_interface_obj.set_temp(current_temp)
+
+            for vctl_i, current_vctl in enumerate(vctl):
+
+                # set the parameters for this simulation run
+                parameters = [['vctl', current_vctl], ['vdd', current_vdd]]
+                spice_interface_obj.set_parameters(parameters)
+
+                try:
+
+                    # run the simulation 
+                    spice_interface_obj.run_simulation()
+
+                    # add the calculated frequency to the array
+                    values[vdd_i][corner_i][temp_i][vctl_i] = spice_interface_obj.measure_frequency(node='ip', measure_after_factor=0.5)
+
+                    print('Frequency = %0.3f MHz' % (values[vdd_i][corner_i][temp_i][vctl_i]/1e6))
+
+                except:
+
+                    # enter a None data for failed simulation step
+                    values[vdd_i][corner_i][temp_i][vctl_i] = None
+
+# save the data to file
+hdf_file.create_dataset('data', data=values)
+
+# save the indexing information
+indexing_group = hdf_file.create_group('indexing')
+indexing = [['vdd', vdd], ['corner', corners], ['temp', temp], ['vctl', vctl]]
+
+# save each of the index information
+for index in indexing:
+    if type(index[1][0]) == str:
+        ascii_list = [_.encode("ascii", "ignore") for _ in index[1]]
+        indexing_group.create_dataset(index[0], (len(ascii_list),1),'S10', ascii_list)
+    else:   
+        indexing_group.create_dataset(index[0], data=index[1])
\ No newline at end of file
diff --git a/xschem/vco_2-4GHz/tests/plot_transfer_pyspice.py b/xschem/vco_2-4GHz/tests/plot_transfer_pyspice.py
new file mode 100644
index 0000000..eebb3d3
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/plot_transfer_pyspice.py
@@ -0,0 +1,133 @@
+import matplotlib.pyplot as plt
+from pathlib import Path
+import numpy as np
+import os
+import re
+import h5py
+
+import PySpice.Logging.Logging as Logging
+logger = Logging.setup_logging()
+
+from PySpice.Spice.NgSpice.Shared import NgSpiceShared
+from PySpice.Probe.Plot import plot
+from PySpice.Unit import *
+
+
+
+
+# read the generated netlist.
+netlist_path = os.environ.get('HOME') + '/.xschem/simulations/vco_2-4GHz_tb.spice'
+with open(netlist_path) as f:
+    netlist = f.read()
+
+# only saver the Ip node to avoid using lots of memory
+# netlist += '.save v(ip)'
+
+
+
+number_points = 32
+vdd = [1.8]
+
+
+corners = ['tt', 'sf', 'ff', 'ss', 'fs', 'll', 'hh', 'hl', 'lh']
+temp = [-40, 27, 125]
+
+# corners = ['ff', 'ss']
+# temp = [-40, 125]
+
+
+vctl = np.linspace(0, vdd, number_points)
+freq = []
+
+
+def set_parameters(netlist, vctl, corner, temp, vdd):
+
+    print("NEW PARAMETER SET: vctl = %f, corner = %s, temp = %f, vdd = %f" % (vctl, corner, temp, vdd))
+
+    # VCO control voltage 
+    sub_string = ".param vctl=%f" % vctl
+    netlist = re.sub(r'\.param vctl=.*', sub_string, netlist)
+
+    # corner
+    sub_string = ".lib sky130_fd_pr/models/sky130.lib.spice %s" % corner
+    netlist = re.sub(r'\.lib sky130_fd_pr/models/sky130.lib.spice .*', sub_string, netlist)
+
+    # temperature
+    sub_string = ".param temp=%f" % temp
+    netlist = re.sub(r'\.param temp=.*', sub_string, netlist)
+    sub_string = ".temp %f" % temp
+    netlist = re.sub(r'\.temp .*', sub_string, netlist)
+
+    # supply voltage 
+    sub_string = ".param vdd=%f" % vdd
+    netlist = re.sub(r'\.param vdd=.*', sub_string, netlist)
+
+    return netlist
+
+
+hdf_file = h5py.File('vco_2-4GHz_corners.hdf5', 'w')
+
+# prepopulate the data
+values = np.zeros((len(vdd), len(corners), len(temp), number_points))
+
+for vdd_i, current_vdd in enumerate(vdd):
+    for corner_i, current_corner in enumerate(corners):
+        for temp_i, current_temp in enumerate(temp):
+            for vctl_i, current_vctl in enumerate(vctl):
+
+                # set the parameters for this simulation run
+                netlist = set_parameters(netlist, current_vctl, current_corner, current_temp, current_vdd)
+
+                # run the simulation 
+                try:
+                    ngspice = NgSpiceShared.new_instance()
+                    ngspice.load_circuit(netlist)
+                    ngspice.run()
+
+                    # get the results
+                    plot = ngspice.plot(simulation=None, plot_name=ngspice.last_plot)
+                    analysis = plot.to_analysis()
+
+                    # trim to steady state
+                    analysis_time = analysis._time[int(len(analysis._nodes['ip'])*0.5):]
+                    analysis_data = analysis._nodes['ip'][int(len(analysis._nodes['ip'])*0.5):]
+
+                    # find first rising edge
+                    for i in range(2,len(analysis_data)):
+                        if (float(analysis_data[i]) > 0.9) and (float(analysis_data[i-1]) > 0.9) and (float(analysis_data[i-2]) < 0.9):
+                            first_index = i
+                            first_time = analysis_time[i]
+                            break
+
+                    # find second rising edge
+                    for i in range(first_index+3, len(analysis_data)):
+                        if (float(analysis_data[i]) > 0.9) and (float(analysis_data[i-1]) > 0.9) and (float(analysis_data[i-2]) < 0.9):
+                            second_index = i
+                            second_time = analysis_time[i]
+                            break
+
+                    # find third rising edge
+                    for i in range(second_index+3, len(analysis_data)):
+                        if (float(analysis_data[i]) > 0.9) and (float(analysis_data[i-1]) > 0.9) and (float(analysis_data[i-2]) < 0.9):
+                            third_index = i
+                            third_time = analysis_time[i]
+                            break
+
+                    # add the calculated frequency to the array
+                    values[vdd_i][corner_i][temp_i][vctl_i] = 1.0/(third_time-second_time)
+                    ngspice.destroy()
+
+                except:
+
+                    # enter a None data for failed simulation step
+                    values[vdd_i][corner_i][temp_i][vctl_i] = None
+
+
+# save the data to file
+hdf_file.create_dataset('data', data=values)
+
+# save the indexing information
+indexing_group = hdf_file.create_group('indexing')
+indexing = [['vdd', vdd], ['corner', corners], ['temp', temp], ['vctl', vctl]]
+for index in indexing:
+    indexing_group.create_dataset(index[0], data=index[1])
\ No newline at end of file
diff --git a/xschem/vco_2-4GHz/tests/sky130_fd_pr b/xschem/vco_2-4GHz/tests/sky130_fd_pr
new file mode 120000
index 0000000..68eb173
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/sky130_fd_pr
@@ -0,0 +1 @@
+../../../../skywater/sky130_fd_pr
\ No newline at end of file
diff --git a/xschem/vco_2-4GHz/tests/spiceinterface_temp.out b/xschem/vco_2-4GHz/tests/spiceinterface_temp.out
new file mode 100644
index 0000000..46b4868
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/spiceinterface_temp.out
@@ -0,0 +1,116 @@
+codemodel: no such command available in ngspice
+codemodel: no such command available in ngspice
+codemodel: no such command available in ngspice
+codemodel: no such command available in ngspice
+codemodel: no such command available in ngspice
+codemodel: no such command available in ngspice
+
+Circuit: **.subckt vco_2-4ghz_tb
+
+Scale set
+Doing analysis at TEMP = 125.000000 and TNOM = 27.000000
+
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: Source conductance reset to 1.0e3 mho.
+Warning: include: has no value, DC 0 assumed
+Warning: i.xvco.i0: no DC value, transient time 0 value used
+No. of Data Columns : 5  
+
+Initial Transient Solution
+--------------------------
+
+Node                                   Voltage
+----                                   -------
+vctl                                         0
+net1                                         0
+xvco.net1                                    0
+xvco.net8                                    0
+xvco.net2                                    0
+xvco.net7                                    0
+xvco.x1.net2                                 0
+xvco.x1.net1                                 0
+xvco.net3                                    0
+xvco.net4                                    0
+xvco.x2.net2                                 0
+xvco.x2.net1                                 0
+xvco.net5                                    0
+xvco.net6                                    0
+xvco.x3.net2                                 0
+xvco.x3.net1                                 0
+xvco.x4.net2                                 0
+xvco.x4.net1                                 0
+ip                                           0
+in                                           0
+xvco.x5.xrn.xsky130_fd_pr__res_xhigh_po_2p85.ra               0
+xvco.x5.xrp.xsky130_fd_pr__res_xhigh_po_2p85.ra               0
+qp                                           0
+qn                                           0
+xvco.x6.xrn.xsky130_fd_pr__res_xhigh_po_2p85.ra               0
+xvco.x6.xrp.xsky130_fd_pr__res_xhigh_po_2p85.ra               0
+ncp                                          0
+ncn                                          0
+xvco.x7.xrn.xsky130_fd_pr__res_xhigh_po_2p85.ra               0
+xvco.x7.xrp.xsky130_fd_pr__res_xhigh_po_2p85.ra               0
+fbp                                          0
+fbn                                          0
+xvco.x8.xrn.xsky130_fd_pr__res_xhigh_po_2p85.ra               0
+xvco.x8.xrp.xsky130_fd_pr__res_xhigh_po_2p85.ra               0
+sky130_fd_pr__esd_nfet_05v0_nvt.pm3               0
+                                             0
+vdd#branch                                   0
+v1#branch                                    0
+
+
+No. of Data Rows : 1026
+
+Total analysis time (seconds) = 1.71965
+
+Total CPU time (seconds) = 51.261 
+
+Total DRAM available = 7908.293 MB.
+DRAM currently available =  153.211 MB.
+Total ngspice program size =  243.086 MB.
+Resident set size =  223.559 MB.
+Shared ngspice pages =    6.891 MB.
+Text (code) pages =    5.105 MB.
+Stack = 0 bytes.
+Library pages =  217.039 MB.
+
diff --git a/xschem/vco_2-4GHz/tests/spiceinterface_temp.raw b/xschem/vco_2-4GHz/tests/spiceinterface_temp.raw
new file mode 100644
index 0000000..db480ba
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/spiceinterface_temp.raw
@@ -0,0 +1,5143 @@
+Title: **.subckt vco_2-4ghz_tb
+Date: Sun Oct  4 03:13:25  2020
+Plotname: Transient Analysis
+Flags: real
+No. Variables: 5
+No. Points: 1026    
+Variables:
+	0	time	time
+	1	v(ip)	voltage
+	2	v(in)	voltage
+	3	v(vctl)	voltage
+	4	i(vdd)	current
+Values:
+0		0.000000000000000e+00
+	0.000000000000000e+00
+	0.000000000000000e+00
+	0.000000000000000e+00
+	0.000000000000000e+00
+1		1.000000000000000e-13
+	5.584778341732823e-02
+	5.584778341732826e-02
+	1.800000000000000e+00
+	-6.451056818629723e-01
+2		1.057671010611960e-13
+	5.884416864335116e-02
+	5.884416864335120e-02
+	1.800000000000000e+00
+	-2.605134718933804e-01
+3		1.173013031835881e-13
+	6.446821341785063e-02
+	6.446821341785068e-02
+	1.800000000000000e+00
+	-2.465820749374185e-01
+4		1.403697074283722e-13
+	7.388857491146857e-02
+	7.388857491146855e-02
+	1.800000000000000e+00
+	-2.124530929253619e-01
+5		1.865065159179404e-13
+	8.782874388990564e-02
+	8.782874388990543e-02
+	1.800000000000000e+00
+	-1.623169384310600e-01
+6		2.787801328970768e-13
+	1.063823933001555e-01
+	1.063823933001552e-01
+	1.800000000000000e+00
+	-1.009686008290037e-01
+7		4.633273668553496e-13
+	1.329742262909329e-01
+	1.329742262909323e-01
+	1.800000000000000e+00
+	-5.902972848061155e-02
+8		8.262155630200710e-13
+	1.766594443967695e-01
+	1.766594443967684e-01
+	1.800000000000000e+00
+	-3.888834967401125e-02
+9		1.505769605101951e-12
+	2.464451157385203e-01
+	2.464451157385192e-01
+	1.800000000000000e+00
+	-2.932818544446008e-02
+10		2.864877689265712e-12
+	3.677666539116059e-01
+	3.677666539116047e-01
+	1.800000000000000e+00
+	-2.172523358760791e-02
+11		4.094483999179020e-12
+	4.681414198912776e-01
+	4.681414198912766e-01
+	1.800000000000000e+00
+	-1.603922918228803e-02
+12		6.553696619005637e-12
+	6.525344052532037e-01
+	6.525344052532028e-01
+	1.800000000000000e+00
+	-6.902597535707562e-03
+13		9.999999999999999e-12
+	8.730019008733907e-01
+	8.730019008733899e-01
+	1.800000000000000e+00
+	-5.810818746850069e-03
+14		1.036053834580368e-11
+	8.932100184569198e-01
+	8.932100184569189e-01
+	1.800000000000000e+00
+	-4.926860975357070e-03
+15		1.108161503741103e-11
+	9.327888961207250e-01
+	9.327888961207240e-01
+	1.800000000000000e+00
+	-4.661135957876450e-03
+16		1.252376842062574e-11
+	1.007017334635486e+00
+	1.007017334635485e+00
+	1.800000000000000e+00
+	-4.433643085670656e-03
+17		1.540807518705516e-11
+	1.137569917815776e+00
+	1.137569917815775e+00
+	1.800000000000000e+00
+	-4.019420362225548e-03
+18		2.117668871991399e-11
+	1.338375549270802e+00
+	1.338375549270801e+00
+	1.800000000000000e+00
+	-3.634473046744243e-03
+19		3.117668871991399e-11
+	1.542843206302183e+00
+	1.542843206302184e+00
+	1.800000000000000e+00
+	-3.312065496515267e-03
+20		4.117668871991398e-11
+	1.625721242548734e+00
+	1.625721242548737e+00
+	1.800000000000000e+00
+	-3.318004704400327e-03
+21		5.117668871991398e-11
+	1.649992498282766e+00
+	1.649992498282772e+00
+	1.800000000000000e+00
+	-3.323113319858280e-03
+22		6.117668871991398e-11
+	1.653662530769758e+00
+	1.653662530769763e+00
+	1.800000000000000e+00
+	-3.384956546671526e-03
+23		7.117668871991398e-11
+	1.652024318572552e+00
+	1.652024318572555e+00
+	1.800000000000000e+00
+	-3.373476203950413e-03
+24		8.117668871991399e-11
+	1.649879998422803e+00
+	1.649879998422805e+00
+	1.800000000000000e+00
+	-3.413848334065914e-03
+25		9.117668871991399e-11
+	1.648236511608842e+00
+	1.648236511608844e+00
+	1.800000000000000e+00
+	-3.391029985749361e-03
+26		1.011766887199140e-10
+	1.647202367069704e+00
+	1.647202367069704e+00
+	1.800000000000000e+00
+	-3.422371838930267e-03
+27		1.111766887199140e-10
+	1.646566490223847e+00
+	1.646566490223846e+00
+	1.800000000000000e+00
+	-3.396843053175545e-03
+28		1.211766887199140e-10
+	1.646216945191087e+00
+	1.646216945191087e+00
+	1.800000000000000e+00
+	-3.424399781880003e-03
+29		1.311766887199140e-10
+	1.646007743942169e+00
+	1.646007743942169e+00
+	1.800000000000000e+00
+	-3.399021682409598e-03
+30		1.411766887199140e-10
+	1.645904149464842e+00
+	1.645904149464844e+00
+	1.800000000000000e+00
+	-3.424518355710320e-03
+31		1.511766887199140e-10
+	1.645837311013686e+00
+	1.645837311013693e+00
+	1.800000000000000e+00
+	-3.400101784494815e-03
+32		1.611766887199140e-10
+	1.645810287121931e+00
+	1.645810287121946e+00
+	1.800000000000000e+00
+	-3.424112231134112e-03
+33		1.711766887199139e-10
+	1.645787553681785e+00
+	1.645787553681807e+00
+	1.800000000000000e+00
+	-3.400835061135993e-03
+34		1.811766887199139e-10
+	1.645782694601946e+00
+	1.645782694601974e+00
+	1.800000000000000e+00
+	-3.423585390376990e-03
+35		1.911766887199139e-10
+	1.645773476312995e+00
+	1.645773476313021e+00
+	1.800000000000000e+00
+	-3.401440055315912e-03
+36		2.011766887199139e-10
+	1.645774555465724e+00
+	1.645774555465741e+00
+	1.800000000000000e+00
+	-3.423052716408174e-03
+37		2.111766887199139e-10
+	1.645769668702163e+00
+	1.645769668702163e+00
+	1.800000000000000e+00
+	-3.401980843867095e-03
+38		2.211766887199139e-10
+	1.645772066633549e+00
+	1.645772066633520e+00
+	1.800000000000000e+00
+	-3.422545353227601e-03
+39		2.311766887199139e-10
+	1.645768753418792e+00
+	1.645768753418719e+00
+	1.800000000000000e+00
+	-3.402477370598412e-03
+40		2.411766887199139e-10
+	1.645771228384768e+00
+	1.645771228384625e+00
+	1.800000000000000e+00
+	-3.422070415272143e-03
+41		2.511766887199139e-10
+	1.645768625866064e+00
+	1.645768625865818e+00
+	1.800000000000000e+00
+	-3.402937017964174e-03
+42		2.611766887199139e-10
+	1.645770886985162e+00
+	1.645770886984777e+00
+	1.800000000000000e+00
+	-3.421628190538152e-03
+43		2.711766887199139e-10
+	1.645768695495528e+00
+	1.645768695494971e+00
+	1.800000000000000e+00
+	-3.403363564899504e-03
+44		2.811766887199140e-10
+	1.645770706988365e+00
+	1.645770706987616e+00
+	1.800000000000000e+00
+	-3.421217113917505e-03
+45		2.911766887199140e-10
+	1.645768801225862e+00
+	1.645768801224923e+00
+	1.800000000000000e+00
+	-3.403759690042822e-03
+46		3.011766887199140e-10
+	1.645770588050754e+00
+	1.645770588049665e+00
+	1.800000000000000e+00
+	-3.420835146551027e-03
+47		3.111766887199140e-10
+	1.645768902126431e+00
+	1.645768902125309e+00
+	1.800000000000000e+00
+	-3.404127667675826e-03
+48		3.211766887199140e-10
+	1.645770498027595e+00
+	1.645770498026657e+00
+	1.800000000000000e+00
+	-3.420480278639072e-03
+49		3.311766887199140e-10
+	1.645768990037167e+00
+	1.645768990036768e+00
+	1.800000000000000e+00
+	-3.404469577097304e-03
+50		3.411766887199141e-10
+	1.645770425159490e+00
+	1.645770425160178e+00
+	1.800000000000000e+00
+	-3.420150504657771e-03
+51		3.511766887199141e-10
+	1.645769065142631e+00
+	1.645769065145174e+00
+	1.800000000000000e+00
+	-3.404787334032401e-03
+52		3.611766887199141e-10
+	1.645770364165175e+00
+	1.645770364170572e+00
+	1.800000000000000e+00
+	-3.419844008490513e-03
+53		3.711766887199141e-10
+	1.645769129360351e+00
+	1.645769129369804e+00
+	1.800000000000000e+00
+	-3.405082711769581e-03
+54		3.811766887199141e-10
+	1.645770312112671e+00
+	1.645770312127519e+00
+	1.800000000000000e+00
+	-3.419559074598343e-03
+55		3.911766887199141e-10
+	1.645769184618519e+00
+	1.645769184640048e+00
+	1.800000000000000e+00
+	-3.405357358567411e-03
+56		4.000000000000000e-10
+	1.645770263963463e+00
+	1.645770263991664e+00
+	1.800000000000000e+00
+	-3.419277064959597e-03
+57		4.010000000000000e-10
+	1.645769786215185e+00
+	1.645769786244157e+00
+	1.800000000000000e+00
+	-3.412681904899839e-03
+58		4.030000000000000e-10
+	1.645769703217130e+00
+	1.645769703247631e+00
+	1.800000000000000e+00
+	-3.412146034177485e-03
+59		4.070000000000000e-10
+	1.645769769711828e+00
+	1.645769769745625e+00
+	1.800000000000000e+00
+	-3.412614618528416e-03
+60		4.150000000000000e-10
+	1.645769713922942e+00
+	1.645769713962483e+00
+	1.800000000000000e+00
+	-3.412175863181285e-03
+61		4.250000000000000e-10
+	1.645769775873863e+00
+	1.645769775917424e+00
+	1.800000000000000e+00
+	-3.412597862765284e-03
+62		4.350000000000000e-10
+	1.645769726267815e+00
+	1.645769726310216e+00
+	1.800000000000000e+00
+	-3.412190084140200e-03
+63		4.450000000000001e-10
+	1.645769778881689e+00
+	1.645769778912397e+00
+	1.800000000000000e+00
+	-3.412584143288763e-03
+64		4.550000000000001e-10
+	1.645769731543004e+00
+	1.645769731545552e+00
+	1.800000000000000e+00
+	-3.412203284884343e-03
+65		4.650000000000001e-10
+	1.645769778057495e+00
+	1.645769778007575e+00
+	1.800000000000000e+00
+	-3.412571413893622e-03
+66		4.750000000000001e-10
+	1.645769734403114e+00
+	1.645769734267790e+00
+	1.800000000000000e+00
+	-3.412215529668833e-03
+67		4.850000000000001e-10
+	1.645769776500564e+00
+	1.645769776238001e+00
+	1.800000000000000e+00
+	-3.412559631111513e-03
+68		4.950000000000000e-10
+	1.645769736569261e+00
+	1.645769736129988e+00
+	1.800000000000000e+00
+	-3.412226869743001e-03
+69		5.000000000000000e-10
+	1.645769774140345e+00
+	1.645769773593714e+00
+	1.800000000000000e+00
+	-3.412543557051255e-03
+70		5.010000000000000e-10
+	1.645769757903154e+00
+	1.645769757333307e+00
+	1.800000000000000e+00
+	-3.412402029544245e-03
+71		5.030000000000000e-10
+	1.645769754986987e+00
+	1.645769754368764e+00
+	1.800000000000000e+00
+	-3.412380875356557e-03
+72		5.070000000000000e-10
+	1.645769757398990e+00
+	1.645769756676266e+00
+	1.800000000000000e+00
+	-3.412399220718120e-03
+73		5.150000000000000e-10
+	1.645769755388969e+00
+	1.645769754439343e+00
+	1.800000000000000e+00
+	-3.412382117012231e-03
+74		5.249999999999999e-10
+	1.645769757522087e+00
+	1.645769756269283e+00
+	1.800000000000000e+00
+	-3.412398527624574e-03
+75		5.349999999999999e-10
+	1.645769755731549e+00
+	1.645769754194663e+00
+	1.800000000000000e+00
+	-3.412382702627997e-03
+76		5.449999999999999e-10
+	1.645769757568187e+00
+	1.645769755848005e+00
+	1.800000000000000e+00
+	-3.412397961647659e-03
+77		5.549999999999998e-10
+	1.645769755762341e+00
+	1.645769754080515e+00
+	1.800000000000000e+00
+	-3.412383246026797e-03
+78		5.649999999999998e-10
+	1.645769757069409e+00
+	1.645769755826707e+00
+	1.800000000000000e+00
+	-3.412397435038106e-03
+79		5.749999999999998e-10
+	1.645769754848160e+00
+	1.645769754685880e+00
+	1.800000000000000e+00
+	-3.412383754244431e-03
+80		5.849999999999997e-10
+	1.645769755144665e+00
+	1.645769757009238e+00
+	1.800000000000000e+00
+	-3.412396948585417e-03
+81		5.949999999999997e-10
+	1.645769751853544e+00
+	1.645769757041004e+00
+	1.800000000000000e+00
+	-3.412384222521331e-03
+82		6.000000000000000e-10
+	1.645769751906942e+00
+	1.645769759345289e+00
+	1.800000000000000e+00
+	-3.412396287230421e-03
+83		6.010000000000000e-10
+	1.645769751057155e+00
+	1.645769759009323e+00
+	1.800000000000000e+00
+	-3.412390946943565e-03
+84		6.030000000000000e-10
+	1.645769750356255e+00
+	1.645769759373837e+00
+	1.800000000000000e+00
+	-3.412390076194287e-03
+85		6.070000000000000e-10
+	1.645769749128784e+00
+	1.645769760510819e+00
+	1.800000000000000e+00
+	-3.412390825978869e-03
+86		6.149999999999999e-10
+	1.645769745878351e+00
+	1.645769762989862e+00
+	1.800000000000000e+00
+	-3.412390135280352e-03
+87		6.249999999999999e-10
+	1.645769740926613e+00
+	1.645769767108621e+00
+	1.800000000000000e+00
+	-3.412390801414576e-03
+88		6.349999999999999e-10
+	1.645769734747776e+00
+	1.645769771877236e+00
+	1.800000000000000e+00
+	-3.412390149629211e-03
+89		6.449999999999998e-10
+	1.645769727985504e+00
+	1.645769777117008e+00
+	1.800000000000000e+00
+	-3.412390775950886e-03
+90		6.549999999999998e-10
+	1.645769721195957e+00
+	1.645769781633797e+00
+	1.800000000000000e+00
+	-3.412390175158414e-03
+91		6.649999999999998e-10
+	1.645769716085418e+00
+	1.645769784063408e+00
+	1.800000000000000e+00
+	-3.412390753904454e-03
+92		6.749999999999997e-10
+	1.645769714728622e+00
+	1.645769781666051e+00
+	1.800000000000000e+00
+	-3.412390195024647e-03
+93		6.849999999999997e-10
+	1.645769720728648e+00
+	1.645769771037602e+00
+	1.800000000000000e+00
+	-3.412390734769867e-03
+94		6.949999999999997e-10
+	1.645769738449904e+00
+	1.645769747068161e+00
+	1.800000000000000e+00
+	-3.412390213002614e-03
+95		7.049999999999996e-10
+	1.645769773835019e+00
+	1.645769703779931e+00
+	1.800000000000000e+00
+	-3.412390716069096e-03
+96		7.149999999999996e-10
+	1.645769833332412e+00
+	1.645769633790655e+00
+	1.800000000000000e+00
+	-3.412390233817975e-03
+97		7.249999999999996e-10
+	1.645769923918329e+00
+	1.645769529762267e+00
+	1.800000000000000e+00
+	-3.412390698212339e-03
+98		7.349999999999995e-10
+	1.645770050977075e+00
+	1.645769385023086e+00
+	1.800000000000000e+00
+	-3.412390249870850e-03
+99		7.449999999999995e-10
+	1.645770216687549e+00
+	1.645769196506746e+00
+	1.800000000000000e+00
+	-3.412390683496804e-03
+100		7.549999999999995e-10
+	1.645770415873207e+00
+	1.645768967489226e+00
+	1.800000000000000e+00
+	-3.412390265767092e-03
+101		7.649999999999994e-10
+	1.645770631724675e+00
+	1.645768713000917e+00
+	1.800000000000000e+00
+	-3.412390668072689e-03
+102		7.749999999999994e-10
+	1.645770828818379e+00
+	1.645768465499569e+00
+	1.800000000000000e+00
+	-3.412390279808801e-03
+103		7.849999999999994e-10
+	1.645770945868592e+00
+	1.645768283051033e+00
+	1.800000000000000e+00
+	-3.412390654307510e-03
+104		7.949999999999993e-10
+	1.645770886508393e+00
+	1.645768257208878e+00
+	1.800000000000000e+00
+	-3.412390295190778e-03
+105		8.049999999999993e-10
+	1.645770511458362e+00
+	1.645768521599044e+00
+	1.800000000000000e+00
+	-3.412390640285142e-03
+106		8.149999999999993e-10
+	1.645769632019884e+00
+	1.645769256989647e+00
+	1.800000000000000e+00
+	-3.412390306275412e-03
+107		8.249999999999992e-10
+	1.645768010250598e+00
+	1.645770691536980e+00
+	1.800000000000000e+00
+	-3.412390630369842e-03
+108		8.349999999999992e-10
+	1.645765368703513e+00
+	1.645773089437946e+00
+	1.800000000000000e+00
+	-3.412390316547973e-03
+109		8.449999999999991e-10
+	1.645761418114466e+00
+	1.645776723189720e+00
+	1.800000000000000e+00
+	-3.412390617590119e-03
+110		8.549999999999991e-10
+	1.645755909635030e+00
+	1.645781819331971e+00
+	1.800000000000000e+00
+	-3.412390329647624e-03
+111		8.649999999999991e-10
+	1.645748723058871e+00
+	1.645788469526483e+00
+	1.800000000000000e+00
+	-3.412390609807662e-03
+112		8.749999999999990e-10
+	1.645739999632309e+00
+	1.645796495011507e+00
+	1.800000000000000e+00
+	-3.412390339920647e-03
+113		8.849999999999990e-10
+	1.645730329882056e+00
+	1.645805257111369e+00
+	1.800000000000000e+00
+	-3.412390605405011e-03
+114		8.949999999999990e-10
+	1.645720999252088e+00
+	1.645813407763322e+00
+	1.800000000000000e+00
+	-3.412390360296374e-03
+115		9.049999999999989e-10
+	1.645714288041608e+00
+	1.645818586155631e+00
+	1.800000000000000e+00
+	-3.412390613033772e-03
+116		9.149999999999989e-10
+	1.645713803110740e+00
+	1.645817080559725e+00
+	1.800000000000000e+00
+	-3.412390401710274e-03
+117		9.249999999999989e-10
+	1.645724796572757e+00
+	1.645803501559427e+00
+	1.800000000000000e+00
+	-3.412390666863720e-03
+118		9.349999999999989e-10
+	1.645754387894936e+00
+	1.645770545578866e+00
+	1.800000000000000e+00
+	-3.412390516801396e-03
+119		9.449999999999989e-10
+	1.645811560201366e+00
+	1.645708977546636e+00
+	1.800000000000000e+00
+	-3.412390858053039e-03
+120		9.549999999999989e-10
+	1.645906739581242e+00
+	1.645608018809347e+00
+	1.800000000000000e+00
+	-3.412390893710904e-03
+121		9.649999999999988e-10
+	1.646050699545307e+00
+	1.645456396882429e+00
+	1.800000000000000e+00
+	-3.412391546650548e-03
+122		9.749999999999988e-10
+	1.646252475587845e+00
+	1.645244396253043e+00
+	1.800000000000000e+00
+	-3.412392175715520e-03
+123		9.849999999999988e-10
+	1.646515906218514e+00
+	1.644967292041994e+00
+	1.800000000000000e+00
+	-3.412393867340418e-03
+124		9.949999999999987e-10
+	1.646834421443471e+00
+	1.644630593689531e+00
+	1.800000000000000e+00
+	-3.412396466970547e-03
+125		1.004999999999999e-09
+	1.647183767037581e+00
+	1.644257489708885e+00
+	1.800000000000000e+00
+	-3.412401757910922e-03
+126		1.014999999999999e-09
+	1.647512478472903e+00
+	1.643898663395590e+00
+	1.800000000000000e+00
+	-3.412411020508532e-03
+127		1.024999999999999e-09
+	1.647730213207117e+00
+	1.643644233317147e+00
+	1.800000000000000e+00
+	-3.412428536120306e-03
+128		1.034999999999999e-09
+	1.647694459387378e+00
+	1.643636738711182e+00
+	1.800000000000000e+00
+	-3.412460338874487e-03
+129		1.044999999999999e-09
+	1.647196755425063e+00
+	1.644082725084535e+00
+	1.800000000000000e+00
+	-3.412519327189738e-03
+130		1.054999999999999e-09
+	1.645950518576782e+00
+	1.645258457909790e+00
+	1.800000000000000e+00
+	-3.412627501408162e-03
+131		1.064999999999998e-09
+	1.643584293181759e+00
+	1.647502698858462e+00
+	1.800000000000000e+00
+	-3.412827002152088e-03
+132		1.074999999999998e-09
+	1.639647422564102e+00
+	1.651186961922688e+00
+	1.800000000000000e+00
+	-3.413193606963189e-03
+133		1.084999999999998e-09
+	1.633640704435639e+00
+	1.656653037105680e+00
+	1.800000000000000e+00
+	-3.413867835103876e-03
+134		1.094999999999998e-09
+	1.625092593898819e+00
+	1.664112375679860e+00
+	1.800000000000000e+00
+	-3.415104783005529e-03
+135		1.104999999999998e-09
+	1.613709659928160e+00
+	1.673516591788181e+00
+	1.800000000000000e+00
+	-3.417368375377107e-03
+136		1.114999999999998e-09
+	1.599632958103093e+00
+	1.684432223484812e+00
+	1.800000000000000e+00
+	-3.421486658577500e-03
+137		1.124999999999998e-09
+	1.583823583492193e+00
+	1.695966626438729e+00
+	1.800000000000000e+00
+	-3.428903050634808e-03
+138		1.134999999999998e-09
+	1.568567959802440e+00
+	1.706748984326536e+00
+	1.800000000000000e+00
+	-3.442010955794601e-03
+139		1.144999999999998e-09
+	1.557968792995711e+00
+	1.714843161724434e+00
+	1.800000000000000e+00
+	-3.464416820767577e-03
+140		1.154999999999998e-09
+	1.557902981730064e+00
+	1.717405571600383e+00
+	1.800000000000000e+00
+	-3.500410998310757e-03
+141		1.164999999999998e-09
+	1.574314647210608e+00
+	1.710376921260141e+00
+	1.800000000000000e+00
+	-3.550937223110985e-03
+142		1.174999999999998e-09
+	1.608898737839601e+00
+	1.689400687520199e+00
+	1.800000000000000e+00
+	-3.606428647701678e-03
+143		1.184999999999998e-09
+	1.654470962498233e+00
+	1.652352362732034e+00
+	1.800000000000000e+00
+	-3.644688458968343e-03
+144		1.194999999999998e-09
+	1.697444388553363e+00
+	1.600660369416316e+00
+	1.800000000000000e+00
+	-3.654899377844497e-03
+145		1.204999999999998e-09
+	1.727807172452028e+00
+	1.536842915196602e+00
+	1.800000000000000e+00
+	-3.646880748324554e-03
+146		1.214999999999998e-09
+	1.747691225188001e+00
+	1.463676938192330e+00
+	1.800000000000000e+00
+	-3.631967042182684e-03
+147		1.224999999999998e-09
+	1.763753478247061e+00
+	1.385247316921451e+00
+	1.800000000000000e+00
+	-3.629773661089952e-03
+148		1.234999999999998e-09
+	1.777023748083172e+00
+	1.305453737193166e+00
+	1.800000000000000e+00
+	-3.667603571130156e-03
+149		1.244999999999998e-09
+	1.786288190275880e+00
+	1.228130470009061e+00
+	1.800000000000000e+00
+	-3.707569017136458e-03
+150		1.254999999999998e-09
+	1.791975461634411e+00
+	1.155956152805193e+00
+	1.800000000000000e+00
+	-3.709025882742927e-03
+151		1.264999999999998e-09
+	1.795294849870552e+00
+	1.085251102749292e+00
+	1.800000000000000e+00
+	-3.696425539060335e-03
+152		1.274999999999998e-09
+	1.797143137741592e+00
+	1.009542414272639e+00
+	1.800000000000000e+00
+	-3.685665818338856e-03
+153		1.284999999999998e-09
+	1.798169527484772e+00
+	9.286219685391855e-01
+	1.800000000000000e+00
+	-3.679070275616913e-03
+154		1.294999999999998e-09
+	1.798734967649053e+00
+	8.465271517904525e-01
+	1.800000000000000e+00
+	-3.691378913546377e-03
+155		1.304999999999998e-09
+	1.799041225129610e+00
+	7.672705777625173e-01
+	1.800000000000000e+00
+	-3.700637073338298e-03
+156		1.314999999999998e-09
+	1.799232690350611e+00
+	6.945901405024852e-01
+	1.800000000000000e+00
+	-3.676367357621563e-03
+157		1.324999999999998e-09
+	1.799380381998742e+00
+	6.306895953017236e-01
+	1.800000000000000e+00
+	-3.683460787369411e-03
+158		1.334999999999998e-09
+	1.799463589433472e+00
+	5.762083746681728e-01
+	1.800000000000000e+00
+	-3.721624900179214e-03
+159		1.344999999999998e-09
+	1.799568534079229e+00
+	5.310468291097590e-01
+	1.800000000000000e+00
+	-3.780455693470798e-03
+160		1.354999999999997e-09
+	1.799743751129328e+00
+	4.945593845782534e-01
+	1.800000000000000e+00
+	-3.823603003066378e-03
+161		1.364999999999997e-09
+	1.800030202878532e+00
+	4.655236063291083e-01
+	1.800000000000000e+00
+	-3.845593566285085e-03
+162		1.374999999999997e-09
+	1.800514864587455e+00
+	4.423337155946572e-01
+	1.800000000000000e+00
+	-3.826746187530861e-03
+163		1.384999999999997e-09
+	1.801409010706521e+00
+	4.233859702507306e-01
+	1.800000000000000e+00
+	-3.785930662668891e-03
+164		1.394999999999997e-09
+	1.803008063789563e+00
+	4.076644654816430e-01
+	1.800000000000000e+00
+	-3.747076432631337e-03
+165		1.404999999999997e-09
+	1.804563623662371e+00
+	3.951239900706501e-01
+	1.800000000000000e+00
+	-3.717569698091807e-03
+166		1.414999999999997e-09
+	1.805042953040107e+00
+	3.864729650185484e-01
+	1.800000000000000e+00
+	-3.642523792248647e-03
+167		1.424999999999997e-09
+	1.804913977394702e+00
+	3.831928129414082e-01
+	1.800000000000000e+00
+	-3.617897236957566e-03
+168		1.434999999999997e-09
+	1.804367093140099e+00
+	3.882263277970697e-01
+	1.800000000000000e+00
+	-3.638261182522786e-03
+169		1.444999999999997e-09
+	1.803591606000393e+00
+	4.068370452815714e-01
+	1.800000000000000e+00
+	-3.700567595328451e-03
+170		1.454999999999997e-09
+	1.803143834742076e+00
+	4.480609421303721e-01
+	1.800000000000000e+00
+	-3.765360589321083e-03
+171		1.464999999999997e-09
+	1.803222057506055e+00
+	5.281650110910601e-01
+	1.800000000000000e+00
+	-3.828065885623301e-03
+172		1.474999999999997e-09
+	1.804095722534061e+00
+	6.695506510835194e-01
+	1.800000000000000e+00
+	-3.858882978243597e-03
+173		1.484999999999997e-09
+	1.806084388858442e+00
+	8.743792319826806e-01
+	1.800000000000000e+00
+	-3.854167893329529e-03
+174		1.494999999999997e-09
+	1.809495537491819e+00
+	1.119797026226788e+00
+	1.800000000000000e+00
+	-3.807858953665617e-03
+175		1.504999999999997e-09
+	1.813001720852507e+00
+	1.356244661323528e+00
+	1.800000000000000e+00
+	-3.753635394233745e-03
+176		1.514999999999997e-09
+	1.814395653509394e+00
+	1.530259823454982e+00
+	1.800000000000000e+00
+	-3.716130986568787e-03
+177		1.524999999999997e-09
+	1.812006454975446e+00
+	1.638072092626055e+00
+	1.800000000000000e+00
+	-3.637903108533009e-03
+178		1.534999999999997e-09
+	1.801624499878758e+00
+	1.705308023017956e+00
+	1.800000000000000e+00
+	-3.577027833231812e-03
+179		1.544999999999997e-09
+	1.776079192374136e+00
+	1.746739944600872e+00
+	1.800000000000000e+00
+	-3.576902494015518e-03
+180		1.554999999999997e-09
+	1.730392170447836e+00
+	1.770594979972779e+00
+	1.800000000000000e+00
+	-3.623781057656841e-03
+181		1.564999999999997e-09
+	1.665192045107327e+00
+	1.783826608286581e+00
+	1.800000000000000e+00
+	-3.692998572236113e-03
+182		1.574999999999997e-09
+	1.585427095542136e+00
+	1.790986592543466e+00
+	1.800000000000000e+00
+	-3.767769424216518e-03
+183		1.584999999999997e-09
+	1.497431249749211e+00
+	1.794946097595233e+00
+	1.800000000000000e+00
+	-3.830810547483502e-03
+184		1.594999999999997e-09
+	1.406875782831311e+00
+	1.797075982824461e+00
+	1.800000000000000e+00
+	-3.864082327804067e-03
+185		1.604999999999997e-09
+	1.318042607871056e+00
+	1.798330957567963e+00
+	1.800000000000000e+00
+	-3.854951520711972e-03
+186		1.614999999999997e-09
+	1.233784099794929e+00
+	1.799022195461774e+00
+	1.800000000000000e+00
+	-3.805682068026451e-03
+187		1.624999999999997e-09
+	1.155724191541589e+00
+	1.799426590617220e+00
+	1.800000000000000e+00
+	-3.747996574781330e-03
+188		1.634999999999997e-09
+	1.085644208378427e+00
+	1.799551088797352e+00
+	1.800000000000000e+00
+	-3.707172166783868e-03
+189		1.644999999999996e-09
+	1.025549438756512e+00
+	1.799662016204799e+00
+	1.800000000000000e+00
+	-3.621282260291042e-03
+190		1.654999999999996e-09
+	9.705856475644180e-01
+	1.799727467587934e+00
+	1.800000000000000e+00
+	-3.561843664913556e-03
+191		1.664999999999996e-09
+	9.099479268404868e-01
+	1.799766246008048e+00
+	1.800000000000000e+00
+	-3.563356935315235e-03
+192		1.674999999999996e-09
+	8.417500115820025e-01
+	1.799751665336193e+00
+	1.800000000000000e+00
+	-3.611226630621845e-03
+193		1.684999999999996e-09
+	7.715925722983346e-01
+	1.799780016670134e+00
+	1.800000000000000e+00
+	-3.681823133302376e-03
+194		1.694999999999996e-09
+	7.042373039344787e-01
+	1.799785862642656e+00
+	1.800000000000000e+00
+	-3.757902345811216e-03
+195		1.704999999999996e-09
+	6.430910929300432e-01
+	1.799818335477736e+00
+	1.800000000000000e+00
+	-3.824635866096860e-03
+196		1.714999999999996e-09
+	5.895768261323753e-01
+	1.799829252038904e+00
+	1.800000000000000e+00
+	-3.861329195991072e-03
+197		1.724999999999996e-09
+	5.441077684117186e-01
+	1.799858069229605e+00
+	1.800000000000000e+00
+	-3.857714181637103e-03
+198		1.734999999999996e-09
+	5.064360574259608e-01
+	1.799871065244617e+00
+	1.800000000000000e+00
+	-3.809771970841655e-03
+199		1.744999999999996e-09
+	4.759583987640476e-01
+	1.799889394811856e+00
+	1.800000000000000e+00
+	-3.751601130446970e-03
+200		1.754999999999996e-09
+	4.515607700137300e-01
+	1.799869549225747e+00
+	1.800000000000000e+00
+	-3.708872342487653e-03
+201		1.764999999999996e-09
+	4.320587352951883e-01
+	1.799855635086959e+00
+	1.800000000000000e+00
+	-3.627714566518307e-03
+202		1.774999999999996e-09
+	4.166716014831224e-01
+	1.799869237499411e+00
+	1.800000000000000e+00
+	-3.559492801725597e-03
+203		1.784999999999996e-09
+	4.045317459293228e-01
+	1.799833295601061e+00
+	1.800000000000000e+00
+	-3.557244443083291e-03
+204		1.794999999999996e-09
+	3.948396633131850e-01
+	1.799738851246522e+00
+	1.800000000000000e+00
+	-3.599807263262475e-03
+205		1.804999999999996e-09
+	3.870633532976486e-01
+	1.799708157143791e+00
+	1.800000000000000e+00
+	-3.670653033406284e-03
+206		1.814999999999996e-09
+	3.805986358676119e-01
+	1.799728529164367e+00
+	1.800000000000000e+00
+	-3.746010625908041e-03
+207		1.824999999999996e-09
+	3.750819826947491e-01
+	1.799824072652163e+00
+	1.800000000000000e+00
+	-3.816891890151444e-03
+208		1.834999999999996e-09
+	3.702248534253251e-01
+	1.799981064660390e+00
+	1.800000000000000e+00
+	-3.857679146300621e-03
+209		1.844999999999996e-09
+	3.658032231375440e-01
+	1.800258731862448e+00
+	1.800000000000000e+00
+	-3.861593224552976e-03
+210		1.854999999999996e-09
+	3.615917947753563e-01
+	1.800769568344042e+00
+	1.800000000000000e+00
+	-3.817353988379736e-03
+211		1.864999999999996e-09
+	3.573655087050323e-01
+	1.801763445373537e+00
+	1.800000000000000e+00
+	-3.759042002838693e-03
+212		1.874999999999996e-09
+	3.532087664979774e-01
+	1.803584733431063e+00
+	1.800000000000000e+00
+	-3.714223374251192e-03
+213		1.884999999999996e-09
+	3.496028861605813e-01
+	1.804804789329926e+00
+	1.800000000000000e+00
+	-3.640950951007271e-03
+214		1.894999999999996e-09
+	3.473593530415920e-01
+	1.805069634442827e+00
+	1.800000000000000e+00
+	-3.562948659118380e-03
+215		1.904999999999997e-09
+	3.477945332433399e-01
+	1.804744012313110e+00
+	1.800000000000000e+00
+	-3.553646035400723e-03
+216		1.914999999999997e-09
+	3.535426623109633e-01
+	1.803880590160033e+00
+	1.800000000000000e+00
+	-3.590025872988833e-03
+217		1.924999999999997e-09
+	3.688953059211268e-01
+	1.803050340008641e+00
+	1.800000000000000e+00
+	-3.658969784057056e-03
+218		1.934999999999997e-09
+	4.007376588694223e-01
+	1.802544707962028e+00
+	1.800000000000000e+00
+	-3.734144917868089e-03
+219		1.944999999999997e-09
+	4.625105945997072e-01
+	1.802588868373130e+00
+	1.800000000000000e+00
+	-3.807411381138440e-03
+220		1.954999999999997e-09
+	5.779226421749667e-01
+	1.803274262442760e+00
+	1.800000000000000e+00
+	-3.853659013194162e-03
+221		1.964999999999998e-09
+	7.658421352123812e-01
+	1.804901489583684e+00
+	1.800000000000000e+00
+	-3.864097204235574e-03
+222		1.974999999999998e-09
+	1.009273589030513e+00
+	1.807870155058694e+00
+	1.800000000000000e+00
+	-3.826164298155932e-03
+223		1.984999999999998e-09
+	1.264749550706853e+00
+	1.811741317793797e+00
+	1.800000000000000e+00
+	-3.767387795751761e-03
+224		1.994999999999998e-09
+	1.470704872228084e+00
+	1.814278593086843e+00
+	1.800000000000000e+00
+	-3.720348552538989e-03
+225		2.004999999999998e-09
+	1.602358649564670e+00
+	1.813996154324191e+00
+	1.800000000000000e+00
+	-3.655606525031143e-03
+226		2.014999999999999e-09
+	1.683611710463650e+00
+	1.808318626572190e+00
+	1.800000000000000e+00
+	-3.569833932152198e-03
+227		2.024999999999999e-09
+	1.733978518513311e+00
+	1.791007588062191e+00
+	1.800000000000000e+00
+	-3.551332919243221e-03
+228		2.034999999999999e-09
+	1.763567793221770e+00
+	1.755365255439353e+00
+	1.800000000000000e+00
+	-3.581635974934812e-03
+229		2.044999999999999e-09
+	1.779945438073202e+00
+	1.699319454126422e+00
+	1.800000000000000e+00
+	-3.646948234137536e-03
+230		2.054999999999999e-09
+	1.788956056534928e+00
+	1.626044139009411e+00
+	1.800000000000000e+00
+	-3.722599671559499e-03
+231		2.064999999999999e-09
+	1.793769020972407e+00
+	1.541485059767175e+00
+	1.800000000000000e+00
+	-3.796615543605858e-03
+232		2.075000000000000e-09
+	1.796492463272452e+00
+	1.451757250096729e+00
+	1.800000000000000e+00
+	-3.849207409328231e-03
+233		2.085000000000000e-09
+	1.797924018256884e+00
+	1.361781343814500e+00
+	1.800000000000000e+00
+	-3.864891827804242e-03
+234		2.095000000000000e-09
+	1.798840326120118e+00
+	1.275115105613617e+00
+	1.800000000000000e+00
+	-3.835188894404355e-03
+235		2.105000000000000e-09
+	1.799293298325168e+00
+	1.193906180708203e+00
+	1.800000000000000e+00
+	-3.775790817603551e-03
+236		2.115000000000000e-09
+	1.799567643308364e+00
+	1.119572688610015e+00
+	1.800000000000000e+00
+	-3.726876813452418e-03
+237		2.125000000000000e-09
+	1.799606873124310e+00
+	1.054354332043395e+00
+	1.800000000000000e+00
+	-3.669465997083802e-03
+238		2.135000000000001e-09
+	1.799736602193673e+00
+	9.982512429180426e-01
+	1.800000000000000e+00
+	-3.579545061013800e-03
+239		2.145000000000001e-09
+	1.799747894851857e+00
+	9.419882416322469e-01
+	1.800000000000000e+00
+	-3.549915461189327e-03
+240		2.155000000000001e-09
+	1.799783536677803e+00
+	8.774988890116910e-01
+	1.800000000000000e+00
+	-3.574614861627995e-03
+241		2.165000000000001e-09
+	1.799754857512355e+00
+	8.078383248991541e-01
+	1.800000000000000e+00
+	-3.634779413806660e-03
+242		2.175000000000001e-09
+	1.799802247959309e+00
+	7.385932086732652e-01
+	1.800000000000000e+00
+	-3.711388269590877e-03
+243		2.185000000000001e-09
+	1.799790895141965e+00
+	6.739641861444167e-01
+	1.800000000000000e+00
+	-3.784914747921757e-03
+244		2.195000000000002e-09
+	1.799840167319322e+00
+	6.164171117633818e-01
+	1.800000000000000e+00
+	-3.844163668071192e-03
+245		2.205000000000002e-09
+	1.799832896848256e+00
+	5.667736678671570e-01
+	1.800000000000000e+00
+	-3.864219300745753e-03
+246		2.215000000000002e-09
+	1.799877894631505e+00
+	5.251224501726764e-01
+	1.800000000000000e+00
+	-3.843799547501412e-03
+247		2.225000000000002e-09
+	1.799873087537759e+00
+	4.910307440890760e-01
+	1.800000000000000e+00
+	-3.784242508211931e-03
+248		2.235000000000002e-09
+	1.799897866657635e+00
+	4.636575539969609e-01
+	1.800000000000000e+00
+	-3.733870034075288e-03
+249		2.245000000000002e-09
+	1.799853187978455e+00
+	4.417664494070856e-01
+	1.800000000000000e+00
+	-3.681773224254092e-03
+250		2.255000000000003e-09
+	1.799871598435808e+00
+	4.243175259241212e-01
+	1.800000000000000e+00
+	-3.591618119066817e-03
+251		2.265000000000003e-09
+	1.799861741132416e+00
+	4.105553391893110e-01
+	1.800000000000000e+00
+	-3.549550095490695e-03
+252		2.275000000000003e-09
+	1.799803498878691e+00
+	3.996523372358733e-01
+	1.800000000000000e+00
+	-3.568767320561730e-03
+253		2.285000000000003e-09
+	1.799713583862241e+00
+	3.909147587922474e-01
+	1.800000000000000e+00
+	-3.622791174430473e-03
+254		2.295000000000003e-09
+	1.799715810819716e+00
+	3.838293145977891e-01
+	1.800000000000000e+00
+	-3.700283654396510e-03
+255		2.305000000000004e-09
+	1.799751757065595e+00
+	3.778555764887175e-01
+	1.800000000000000e+00
+	-3.772710980933749e-03
+256		2.315000000000004e-09
+	1.799881098769823e+00
+	3.727016938636483e-01
+	1.800000000000000e+00
+	-3.838260738508853e-03
+257		2.325000000000004e-09
+	1.800063042020033e+00
+	3.681000320420837e-01
+	1.800000000000000e+00
+	-3.862408352585261e-03
+258		2.335000000000004e-09
+	1.800419086626309e+00
+	3.638439897548066e-01
+	1.800000000000000e+00
+	-3.851488723476496e-03
+259		2.345000000000004e-09
+	1.801069648222284e+00
+	3.596965339883988e-01
+	1.800000000000000e+00
+	-3.792854614556864e-03
+260		2.355000000000004e-09
+	1.802360090135028e+00
+	3.554991994693710e-01
+	1.800000000000000e+00
+	-3.741442044685525e-03
+261		2.365000000000005e-09
+	1.804205008358852e+00
+	3.515198474823001e-01
+	1.800000000000000e+00
+	-3.692224214626133e-03
+262		2.375000000000005e-09
+	1.805017442628461e+00
+	3.483410527726844e-01
+	1.800000000000000e+00
+	-3.605638614890913e-03
+263		2.385000000000005e-09
+	1.804991404470706e+00
+	3.469151251979113e-01
+	1.800000000000000e+00
+	-3.550437454177738e-03
+264		2.395000000000005e-09
+	1.804474660223437e+00
+	3.489668573953599e-01
+	1.800000000000000e+00
+	-3.563968598228962e-03
+265		2.405000000000005e-09
+	1.803517969231711e+00
+	3.577201812091775e-01
+	1.800000000000000e+00
+	-3.611251273864774e-03
+266		2.415000000000005e-09
+	1.802817611146555e+00
+	3.782098220650703e-01
+	1.800000000000000e+00
+	-3.689097726622460e-03
+267		2.425000000000006e-09
+	1.802476955929732e+00
+	4.191416812565483e-01
+	1.800000000000000e+00
+	-3.760331095288815e-03
+268		2.435000000000006e-09
+	1.802763611161319e+00
+	4.976647062780772e-01
+	1.800000000000000e+00
+	-3.831283960697443e-03
+269		2.445000000000006e-09
+	1.803744794210340e+00
+	6.398470431412240e-01
+	1.800000000000000e+00
+	-3.859773459016488e-03
+270		2.455000000000006e-09
+	1.805834706640753e+00
+	8.518512827576764e-01
+	1.800000000000000e+00
+	-3.857846083547781e-03
+271		2.465000000000006e-09
+	1.809320396607378e+00
+	1.106736305721309e+00
+	1.800000000000000e+00
+	-3.801770391927059e-03
+272		2.475000000000006e-09
+	1.812954360082271e+00
+	1.350228017144985e+00
+	1.800000000000000e+00
+	-3.749469863484303e-03
+273		2.485000000000007e-09
+	1.814564351604476e+00
+	1.527757736880083e+00
+	1.800000000000000e+00
+	-3.701077098790267e-03
+274		2.495000000000007e-09
+	1.812769072086495e+00
+	1.637184575270979e+00
+	1.800000000000000e+00
+	-3.620832508115536e-03
+275		2.505000000000007e-09
+	1.803631845037293e+00
+	1.705419844712379e+00
+	1.800000000000000e+00
+	-3.553056357549753e-03
+276		2.515000000000007e-09
+	1.780090379684973e+00
+	1.747020416969682e+00
+	1.800000000000000e+00
+	-3.559906024171066e-03
+277		2.525000000000007e-09
+	1.736763127604693e+00
+	1.770860323785203e+00
+	1.800000000000000e+00
+	-3.600603880397759e-03
+278		2.535000000000007e-09
+	1.673698220794244e+00
+	1.783970852662444e+00
+	1.800000000000000e+00
+	-3.677510754027002e-03
+279		2.545000000000008e-09
+	1.595465565375503e+00
+	1.791094777738560e+00
+	1.800000000000000e+00
+	-3.748205693188274e-03
+280		2.555000000000008e-09
+	1.508313787379415e+00
+	1.794989528316707e+00
+	1.800000000000000e+00
+	-3.822941228408904e-03
+281		2.565000000000008e-09
+	1.417991231340888e+00
+	1.797113817783294e+00
+	1.800000000000000e+00
+	-3.856690478529024e-03
+282		2.575000000000008e-09
+	1.328915260165164e+00
+	1.798333855352723e+00
+	1.800000000000000e+00
+	-3.862464623708918e-03
+283		2.585000000000008e-09
+	1.244097993773831e+00
+	1.799032045215505e+00
+	1.800000000000000e+00
+	-3.811114647815109e-03
+284		2.595000000000009e-09
+	1.165274885569932e+00
+	1.799436130405530e+00
+	1.800000000000000e+00
+	-3.757678907610696e-03
+285		2.605000000000009e-09
+	1.094028287448738e+00
+	1.799576970905124e+00
+	1.800000000000000e+00
+	-3.708840343146408e-03
+286		2.615000000000009e-09
+	1.032630362914763e+00
+	1.799664798183377e+00
+	1.800000000000000e+00
+	-3.636361474893237e-03
+287		2.625000000000009e-09
+	9.778983566848710e-01
+	1.799738383696072e+00
+	1.800000000000000e+00
+	-3.557803108966191e-03
+288		2.635000000000009e-09
+	9.189188445956594e-01
+	1.799774080443304e+00
+	1.800000000000000e+00
+	-3.556424043877092e-03
+289		2.645000000000009e-09
+	8.517731981087580e-01
+	1.799761509501920e+00
+	1.800000000000000e+00
+	-3.591122988589053e-03
+290		2.655000000000010e-09
+	7.817189061119890e-01
+	1.799780472649904e+00
+	1.800000000000000e+00
+	-3.665430232786366e-03
+291		2.665000000000010e-09
+	7.137637243691788e-01
+	1.799790083890087e+00
+	1.800000000000000e+00
+	-3.736536159784110e-03
+292		2.675000000000010e-09
+	6.516142166243016e-01
+	1.799816082459582e+00
+	1.800000000000000e+00
+	-3.813200959605312e-03
+293		2.685000000000010e-09
+	5.969559707618493e-01
+	1.799831526722594e+00
+	1.800000000000000e+00
+	-3.853283360585444e-03
+294		2.695000000000010e-09
+	5.503263440657399e-01
+	1.799854982656401e+00
+	1.800000000000000e+00
+	-3.865212010328465e-03
+295		2.705000000000010e-09
+	5.115544706093186e-01
+	1.799871884013967e+00
+	1.800000000000000e+00
+	-3.820773396333770e-03
+296		2.715000000000011e-09
+	4.801058417675291e-01
+	1.799889463403082e+00
+	1.800000000000000e+00
+	-3.765858578409916e-03
+297		2.725000000000011e-09
+	4.549177272973844e-01
+	1.799880108530264e+00
+	1.800000000000000e+00
+	-3.716025839575701e-03
+298		2.735000000000011e-09
+	4.347741767257710e-01
+	1.799856730769027e+00
+	1.800000000000000e+00
+	-3.651489734180766e-03
+299		2.745000000000011e-09
+	4.188056422555871e-01
+	1.799870496151836e+00
+	1.800000000000000e+00
+	-3.564897839277035e-03
+300		2.755000000000011e-09
+	4.062052338815145e-01
+	1.799852565442489e+00
+	1.800000000000000e+00
+	-3.553542141584603e-03
+301		2.765000000000011e-09
+	3.961623108168953e-01
+	1.799760135176731e+00
+	1.800000000000000e+00
+	-3.582898887198656e-03
+302		2.775000000000012e-09
+	3.881174768139825e-01
+	1.799710583478934e+00
+	1.800000000000000e+00
+	-3.652978491438523e-03
+303		2.785000000000012e-09
+	3.814865402767008e-01
+	1.799718645958923e+00
+	1.800000000000000e+00
+	-3.725315161835387e-03
+304		2.795000000000012e-09
+	3.758552104974667e-01
+	1.799794602206803e+00
+	1.800000000000000e+00
+	-3.802254806768272e-03
+305		2.805000000000012e-09
+	3.709311147444561e-01
+	1.799935498334402e+00
+	1.800000000000000e+00
+	-3.849469086238212e-03
+306		2.815000000000012e-09
+	3.664855450038403e-01
+	1.800173280038929e+00
+	1.800000000000000e+00
+	-3.866195769863277e-03
+307		2.825000000000012e-09
+	3.622978012888948e-01
+	1.800608895474349e+00
+	1.800000000000000e+00
+	-3.830423783657293e-03
+308		2.835000000000013e-09
+	3.581370220720089e-01
+	1.801454447933418e+00
+	1.800000000000000e+00
+	-3.773975545890461e-03
+309		2.845000000000013e-09
+	3.539647313151419e-01
+	1.803087347070973e+00
+	1.800000000000000e+00
+	-3.723025012528055e-03
+310		2.855000000000013e-09
+	3.501971689142501e-01
+	1.804609371218123e+00
+	1.800000000000000e+00
+	-3.665672096868874e-03
+311		2.865000000000013e-09
+	3.475433944747368e-01
+	1.805085429599431e+00
+	1.800000000000000e+00
+	-3.574283249874857e-03
+312		2.875000000000013e-09
+	3.471325561514864e-01
+	1.804869117897904e+00
+	1.800000000000000e+00
+	-3.551509629980241e-03
+313		2.885000000000014e-09
+	3.512103980937182e-01
+	1.804128379053994e+00
+	1.800000000000000e+00
+	-3.575827255701879e-03
+314		2.895000000000014e-09
+	3.636225137753606e-01
+	1.803221595219715e+00
+	1.800000000000000e+00
+	-3.640459027817241e-03
+315		2.905000000000014e-09
+	3.903547933394977e-01
+	1.802630764458162e+00
+	1.800000000000000e+00
+	-3.714346914271794e-03
+316		2.915000000000014e-09
+	4.426762085751926e-01
+	1.802512527333698e+00
+	1.800000000000000e+00
+	-3.790473449404785e-03
+317		2.925000000000014e-09
+	5.417117088388829e-01
+	1.803027162219379e+00
+	1.800000000000000e+00
+	-3.844996018866086e-03
+318		2.935000000000014e-09
+	7.115532585973333e-01
+	1.804373232857604e+00
+	1.800000000000000e+00
+	-3.865722713372560e-03
+319		2.945000000000015e-09
+	9.437967079221198e-01
+	1.806969478815105e+00
+	1.800000000000000e+00
+	-3.839598380460938e-03
+320		2.955000000000015e-09
+	1.202182052429260e+00
+	1.810793987733534e+00
+	1.800000000000000e+00
+	-3.782157634599369e-03
+321		2.965000000000015e-09
+	1.425560097087904e+00
+	1.813861817516359e+00
+	1.800000000000000e+00
+	-3.730151094812502e-03
+322		2.975000000000015e-09
+	1.574860363409074e+00
+	1.814415415673919e+00
+	1.800000000000000e+00
+	-3.678440677103369e-03
+323		2.985000000000015e-09
+	1.666393566588430e+00
+	1.810568804869014e+00
+	1.800000000000000e+00
+	-3.585846769836529e-03
+324		2.995000000000015e-09
+	1.723495636802481e+00
+	1.796946941855051e+00
+	1.800000000000000e+00
+	-3.550543051860369e-03
+325		3.005000000000016e-09
+	1.757576761686423e+00
+	1.766405038088569e+00
+	1.800000000000000e+00
+	-3.569797096528144e-03
+326		3.015000000000016e-09
+	1.776661329822271e+00
+	1.715438995616355e+00
+	1.800000000000000e+00
+	-3.628165726467144e-03
+327		3.025000000000016e-09
+	1.787171559433383e+00
+	1.646044072659851e+00
+	1.800000000000000e+00
+	-3.703419510544656e-03
+328		3.035000000000016e-09
+	1.792792676983318e+00
+	1.563755663241853e+00
+	1.800000000000000e+00
+	-3.778220844195154e-03
+329		3.045000000000016e-09
+	1.795961721123607e+00
+	1.474822612697280e+00
+	1.800000000000000e+00
+	-3.839610873962475e-03
+330		3.055000000000016e-09
+	1.797616480052903e+00
+	1.384517825763698e+00
+	1.800000000000000e+00
+	-3.864128943838700e-03
+331		3.065000000000017e-09
+	1.798666281804185e+00
+	1.296753571518718e+00
+	1.800000000000000e+00
+	-3.847845835481594e-03
+332		3.075000000000017e-09
+	1.799189353756373e+00
+	1.214013116699544e+00
+	1.800000000000000e+00
+	-3.790565288564349e-03
+333		3.085000000000017e-09
+	1.799535275613613e+00
+	1.137763550710471e+00
+	1.800000000000000e+00
+	-3.737646638011936e-03
+334		3.095000000000017e-09
+	1.799584239923328e+00
+	1.069986311057590e+00
+	1.800000000000000e+00
+	-3.689487057215436e-03
+335		3.105000000000017e-09
+	1.799718244258401e+00
+	1.012067342477648e+00
+	1.800000000000000e+00
+	-3.599341108694084e-03
+336		3.115000000000017e-09
+	1.799737813790900e+00
+	9.569762579753907e-01
+	1.800000000000000e+00
+	-3.550846373252526e-03
+337		3.125000000000018e-09
+	1.799788724356333e+00
+	8.946868803395879e-01
+	1.800000000000000e+00
+	-3.564725860685315e-03
+338		3.135000000000018e-09
+	1.799748650960423e+00
+	8.257504068811142e-01
+	1.800000000000000e+00
+	-3.616341717593667e-03
+339		3.145000000000018e-09
+	1.799800908512888e+00
+	7.559655581520159e-01
+	1.800000000000000e+00
+	-3.692364213824715e-03
+340		3.155000000000018e-09
+	1.799783318543331e+00
+	6.898311320812214e-01
+	1.800000000000000e+00
+	-3.765793895145579e-03
+341		3.165000000000018e-09
+	1.799837042034280e+00
+	6.303655866850875e-01
+	1.800000000000000e+00
+	-3.833120895569738e-03
+342		3.175000000000019e-09
+	1.799826251576981e+00
+	5.786657039352685e-01
+	1.800000000000000e+00
+	-3.861701046773452e-03
+343		3.185000000000019e-09
+	1.799874173417263e+00
+	5.350088534868693e-01
+	1.800000000000000e+00
+	-3.854799456086784e-03
+344		3.195000000000019e-09
+	1.799867874104641e+00
+	4.990422125788199e-01
+	1.800000000000000e+00
+	-3.799304803551811e-03
+345		3.205000000000019e-09
+	1.799900571344346e+00
+	4.700737700637820e-01
+	1.800000000000000e+00
+	-3.745586356372073e-03
+346		3.215000000000019e-09
+	1.799860017654798e+00
+	4.468998515976683e-01
+	1.800000000000000e+00
+	-3.698834992275657e-03
+347		3.225000000000019e-09
+	1.799867182121369e+00
+	4.283810087991686e-01
+	1.800000000000000e+00
+	-3.614257320067339e-03
+348		3.235000000000020e-09
+	1.799865324477118e+00
+	4.137624493270841e-01
+	1.800000000000000e+00
+	-3.552724942390547e-03
+349		3.245000000000020e-09
+	1.799829301800610e+00
+	4.022109630472657e-01
+	1.800000000000000e+00
+	-3.560471161463790e-03
+350		3.255000000000020e-09
+	1.799725729909619e+00
+	3.929598527191667e-01
+	1.800000000000000e+00
+	-3.605272997275668e-03
+351		3.265000000000020e-09
+	1.799714291355327e+00
+	3.855177927288105e-01
+	1.800000000000000e+00
+	-3.680997762390893e-03
+352		3.275000000000020e-09
+	1.799731911050873e+00
+	3.792885502218067e-01
+	1.800000000000000e+00
+	-3.753489331374429e-03
+353		3.285000000000020e-09
+	1.799845582524034e+00
+	3.739560903329930e-01
+	1.800000000000000e+00
+	-3.825348651767894e-03
+354		3.295000000000021e-09
+	1.800002975859731e+00
+	3.692317877925552e-01
+	1.800000000000000e+00
+	-3.858707372599190e-03
+355		3.305000000000021e-09
+	1.800309891804301e+00
+	3.649104163736296e-01
+	1.800000000000000e+00
+	-3.860141083053653e-03
+356		3.315000000000021e-09
+	1.800855352974025e+00
+	3.607572824579550e-01
+	1.800000000000000e+00
+	-3.808440086378390e-03
+357		3.325000000000021e-09
+	1.801937990172807e+00
+	3.565702092379268e-01
+	1.800000000000000e+00
+	-3.753816235887819e-03
+358		3.335000000000021e-09
+	1.803805928243424e+00
+	3.524887619397232e-01
+	1.800000000000000e+00
+	-3.706880487425076e-03
+359		3.345000000000021e-09
+	1.804888507628136e+00
+	3.490283043790053e-01
+	1.800000000000000e+00
+	-3.629819273521543e-03
+360		3.355000000000022e-09
+	1.805048434879402e+00
+	3.470418095180013e-01
+	1.800000000000000e+00
+	-3.556588552556035e-03
+361		3.365000000000022e-09
+	1.804669542937500e+00
+	3.479591962451622e-01
+	1.800000000000000e+00
+	-3.556844188910082e-03
+362		3.375000000000022e-09
+	1.803756451014735e+00
+	3.545954180214870e-01
+	1.800000000000000e+00
+	-3.595277525206438e-03
+363		3.385000000000022e-09
+	1.802971652585766e+00
+	3.714667607845241e-01
+	1.800000000000000e+00
+	-3.669160127825594e-03
+364		3.395000000000022e-09
+	1.802509091744413e+00
+	4.059498740342064e-01
+	1.800000000000000e+00
+	-3.741576989063405e-03
+365		3.405000000000022e-09
+	1.802634697577183e+00
+	4.726052772375856e-01
+	1.800000000000000e+00
+	-3.816178246962950e-03
+366		3.415000000000023e-09
+	1.803404168585300e+00
+	5.961643737075036e-01
+	1.800000000000000e+00
+	-3.855354395577064e-03
+367		3.425000000000023e-09
+	1.805174544217848e+00
+	7.920530992107532e-01
+	1.800000000000000e+00
+	-3.863645535286420e-03
+368		3.435000000000023e-09
+	1.808312666934059e+00
+	1.039856567105106e+00
+	1.800000000000000e+00
+	-3.817943967205740e-03
+369		3.445000000000023e-09
+	1.812150911497050e+00
+	1.292566449023931e+00
+	1.800000000000000e+00
+	-3.762088995784880e-03
+370		3.455000000000023e-09
+	1.814410936341800e+00
+	1.489812268760438e+00
+	1.800000000000000e+00
+	-3.714159832891669e-03
+371		3.465000000000023e-09
+	1.813700428753061e+00
+	1.613980606187151e+00
+	1.800000000000000e+00
+	-3.645233972445657e-03
+372		3.475000000000024e-09
+	1.807041934922258e+00
+	1.690903081473906e+00
+	1.800000000000000e+00
+	-3.562747612665312e-03
+373		3.485000000000024e-09
+	1.787878682514226e+00
+	1.738373739797945e+00
+	1.800000000000000e+00
+	-3.553784642499074e-03
+374		3.495000000000024e-09
+	1.749841046224975e+00
+	1.766045614729892e+00
+	1.800000000000000e+00
+	-3.586526725846126e-03
+375		3.505000000000024e-09
+	1.691534763150853e+00
+	1.781309944821027e+00
+	1.800000000000000e+00
+	-3.656883048683348e-03
+376		3.515000000000024e-09
+	1.616610126922925e+00
+	1.789686269790194e+00
+	1.800000000000000e+00
+	-3.730139804863362e-03
+377		3.525000000000025e-09
+	1.531149135697543e+00
+	1.794180324401146e+00
+	1.800000000000000e+00
+	-3.805706290193491e-03
+378		3.535000000000025e-09
+	1.441164684843650e+00
+	1.796705773779185e+00
+	1.800000000000000e+00
+	-3.851649317787108e-03
+379		3.545000000000025e-09
+	1.351422492953063e+00
+	1.798059405358447e+00
+	1.800000000000000e+00
+	-3.865316929986709e-03
+380		3.555000000000025e-09
+	1.265306969841942e+00
+	1.798907235802611e+00
+	1.800000000000000e+00
+	-3.827584578149319e-03
+381		3.565000000000025e-09
+	1.184829101820501e+00
+	1.799340822576440e+00
+	1.800000000000000e+00
+	-3.770282258665291e-03
+382		3.575000000000025e-09
+	1.111423090517912e+00
+	1.799573950957028e+00
+	1.800000000000000e+00
+	-3.721128317539499e-03
+383		3.585000000000026e-09
+	1.047403831894572e+00
+	1.799623175117875e+00
+	1.800000000000000e+00
+	-3.659886572484089e-03
+384		3.595000000000026e-09
+	9.919094664602405e-01
+	1.799739441612553e+00
+	1.800000000000000e+00
+	-3.571232575294605e-03
+385		3.605000000000026e-09
+	9.349071903484715e-01
+	1.799755708347403e+00
+	1.800000000000000e+00
+	-3.551470553804194e-03
+386		3.615000000000026e-09
+	8.695024654772564e-01
+	1.799777470498652e+00
+	1.800000000000000e+00
+	-3.578987615344582e-03
+387		3.625000000000026e-09
+	7.996406931732400e-01
+	1.799761760417334e+00
+	1.800000000000000e+00
+	-3.644406419366016e-03
+388		3.635000000000026e-09
+	7.307372690551300e-01
+	1.799799424648972e+00
+	1.800000000000000e+00
+	-3.719050695089626e-03
+389		3.645000000000027e-09
+	6.668550720982924e-01
+	1.799797781163344e+00
+	1.800000000000000e+00
+	-3.794240732884280e-03
+390		3.655000000000027e-09
+	6.102026028716504e-01
+	1.799838466732697e+00
+	1.800000000000000e+00
+	-3.847400578036126e-03
+391		3.665000000000027e-09
+	5.615044202708529e-01
+	1.799838876331364e+00
+	1.800000000000000e+00
+	-3.865391505889997e-03
+392		3.675000000000027e-09
+	5.207613808242788e-01
+	1.799876925454099e+00
+	1.800000000000000e+00
+	-3.836943288604032e-03
+393		3.685000000000027e-09
+	4.875120204414138e-01
+	1.799877658916747e+00
+	1.800000000000000e+00
+	-3.778466636853097e-03
+394		3.695000000000027e-09
+	4.608410069838788e-01
+	1.799893645209962e+00
+	1.800000000000000e+00
+	-3.728129705991882e-03
+395		3.705000000000028e-09
+	4.395129998818707e-01
+	1.799852802479662e+00
+	1.800000000000000e+00
+	-3.673267334843465e-03
+396		3.715000000000028e-09
+	4.225397097617848e-01
+	1.799872123469110e+00
+	1.800000000000000e+00
+	-3.581970051831565e-03
+397		3.725000000000028e-09
+	4.091526949145133e-01
+	1.799859784372669e+00
+	1.800000000000000e+00
+	-3.550126778169759e-03
+398		3.735000000000028e-09
+	3.985282469250510e-01
+	1.799790097564466e+00
+	1.800000000000000e+00
+	-3.572544500112219e-03
+399		3.745000000000028e-09
+	3.900159425239273e-01
+	1.799711135971010e+00
+	1.800000000000000e+00
+	-3.632035966500790e-03
+400		3.755000000000028e-09
+	3.830799652278349e-01
+	1.799716317924369e+00
+	1.800000000000000e+00
+	-3.708094986343934e-03
+401		3.765000000000027e-09
+	3.772178526027827e-01
+	1.799763597223003e+00
+	1.800000000000000e+00
+	-3.782157840504689e-03
+402		3.775000000000027e-09
+	3.721394811619761e-01
+	1.799897461724412e+00
+	1.800000000000000e+00
+	-3.842346327176067e-03
+403		3.785000000000027e-09
+	3.675900834639736e-01
+	1.800094464486993e+00
+	1.800000000000000e+00
+	-3.864206130249720e-03
+404		3.795000000000027e-09
+	3.633590217025665e-01
+	1.800473752098095e+00
+	1.800000000000000e+00
+	-3.845551530276841e-03
+405		3.805000000000026e-09
+	3.592102713808542e-01
+	1.801180198143202e+00
+	1.800000000000000e+00
+	-3.786803186926217e-03
+406		3.815000000000026e-09
+	3.550147404483966e-01
+	1.802577770622048e+00
+	1.800000000000000e+00
+	-3.735441214576741e-03
+407		3.825000000000026e-09
+	3.510929881754096e-01
+	1.804350598661528e+00
+	1.800000000000000e+00
+	-3.684995353024688e-03
+408		3.835000000000026e-09
+	3.480635071436568e-01
+	1.805054006232927e+00
+	1.800000000000000e+00
+	-3.594767883571983e-03
+409		3.845000000000025e-09
+	3.469259795158024e-01
+	1.804958796319263e+00
+	1.800000000000000e+00
+	-3.549956989958546e-03
+410		3.855000000000025e-09
+	3.495589156183765e-01
+	1.804372902980713e+00
+	1.800000000000000e+00
+	-3.567107608183501e-03
+411		3.865000000000025e-09
+	3.593765150895684e-01
+	1.803418864913036e+00
+	1.800000000000000e+00
+	-3.620030915948544e-03
+412		3.875000000000025e-09
+	3.816774930363638e-01
+	1.802753750052755e+00
+	1.800000000000000e+00
+	-3.697086070185785e-03
+413		3.885000000000025e-09
+	4.258857347491944e-01
+	1.802477697304335e+00
+	1.800000000000000e+00
+	-3.769781464600409e-03
+414		3.895000000000024e-09
+	5.103781956203584e-01
+	1.802835319539636e+00
+	1.800000000000000e+00
+	-3.836267130791147e-03
+415		3.905000000000024e-09
+	6.612166809369705e-01
+	1.803923281917786e+00
+	1.800000000000000e+00
+	-3.862072473229476e-03
+416		3.915000000000024e-09
+	8.799661137117418e-01
+	1.806165749001085e+00
+	1.800000000000000e+00
+	-3.853005811741590e-03
+417		3.925000000000024e-09
+	1.136870693191953e+00
+	1.809784582020391e+00
+	1.800000000000000e+00
+	-3.795426437172140e-03
+418		3.935000000000023e-09
+	1.374877654762025e+00
+	1.813273273730438e+00
+	1.800000000000000e+00
+	-3.743208353998223e-03
+419		3.945000000000023e-09
+	1.543421748484980e+00
+	1.814568720650259e+00
+	1.800000000000000e+00
+	-3.694955974131159e-03
+420		3.955000000000023e-09
+	1.646846055823525e+00
+	1.812201652725068e+00
+	1.800000000000000e+00
+	-3.609225024396103e-03
+421		3.965000000000023e-09
+	1.711430808507560e+00
+	1.801779394211996e+00
+	1.800000000000000e+00
+	-3.551220475741933e-03
+422		3.975000000000022e-09
+	1.750558886331414e+00
+	1.776124201675841e+00
+	1.800000000000000e+00
+	-3.562561716969433e-03
+423		3.985000000000022e-09
+	1.772811573301790e+00
+	1.730396353148940e+00
+	1.800000000000000e+00
+	-3.608656127390063e-03
+424		3.995000000000022e-09
+	1.785050486684488e+00
+	1.665275644287977e+00
+	1.800000000000000e+00
+	-3.685846736815187e-03
+425		4.005000000000022e-09
+	1.791664136209423e+00
+	1.585681280303315e+00
+	1.800000000000000e+00
+	-3.757406305726911e-03
+426		4.015000000000021e-09
+	1.795318846962261e+00
+	1.497890259692495e+00
+	1.800000000000000e+00
+	-3.828978812064291e-03
+427		4.025000000000021e-09
+	1.797279582120473e+00
+	1.407510841339199e+00
+	1.800000000000000e+00
+	-3.859267154591180e-03
+428		4.035000000000021e-09
+	1.798447142039110e+00
+	1.318803628961567e+00
+	1.800000000000000e+00
+	-3.858968509816894e-03
+429		4.045000000000021e-09
+	1.799082697924255e+00
+	1.234612243290484e+00
+	1.800000000000000e+00
+	-3.804419334976778e-03
+430		4.055000000000020e-09
+	1.799473214717029e+00
+	1.156568148923829e+00
+	1.800000000000000e+00
+	-3.751352344938866e-03
+431		4.065000000000020e-09
+	1.799577175086975e+00
+	1.086362619886662e+00
+	1.800000000000000e+00
+	-3.703428373429562e-03
+432		4.075000000000020e-09
+	1.799683791404142e+00
+	1.026118340986791e+00
+	1.800000000000000e+00
+	-3.624639489740418e-03
+433		4.085000000000020e-09
+	1.799736954608506e+00
+	9.714598825980654e-01
+	1.800000000000000e+00
+	-3.554310568706052e-03
+434		4.095000000000019e-09
+	1.799781081798925e+00
+	9.114736677275603e-01
+	1.800000000000000e+00
+	-3.558714101892665e-03
+435		4.105000000000019e-09
+	1.799755217675323e+00
+	8.436732325998398e-01
+	1.800000000000000e+00
+	-3.598237558572605e-03
+436		4.115000000000019e-09
+	1.799788646238195e+00
+	7.736360052977204e-01
+	1.800000000000000e+00
+	-3.674188347714654e-03
+437		4.125000000000019e-09
+	1.799786236033815e+00
+	7.061959302319406e-01
+	1.800000000000000e+00
+	-3.745330444930306e-03
+438		4.135000000000018e-09
+	1.799824173368225e+00
+	6.448667888306299e-01
+	1.800000000000000e+00
+	-3.820324097732960e-03
+439		4.145000000000018e-09
+	1.799828491072261e+00
+	5.911250197033925e-01
+	1.800000000000000e+00
+	-3.856036697933887e-03
+440		4.155000000000018e-09
+	1.799862230898416e+00
+	5.454288006003325e-01
+	1.800000000000000e+00
+	-3.863162929042114e-03
+441		4.165000000000018e-09
+	1.799869568163068e+00
+	5.075403040951623e-01
+	1.800000000000000e+00
+	-3.813804403151049e-03
+442		4.175000000000018e-09
+	1.799894353274430e+00
+	4.768847113696875e-01
+	1.800000000000000e+00
+	-3.759631168402512e-03
+443		4.185000000000017e-09
+	1.799873222409255e+00
+	4.523432913011827e-01
+	1.800000000000000e+00
+	-3.710933570190918e-03
+444		4.195000000000017e-09
+	1.799859913872097e+00
+	4.327171294735698e-01
+	1.800000000000000e+00
+	-3.640191350080908e-03
+445		4.205000000000017e-09
+	1.799868982302744e+00
+	4.171838387637811e-01
+	1.800000000000000e+00
+	-3.559594229358433e-03
+446		4.215000000000017e-09
+	1.799847205476623e+00
+	4.049235427223380e-01
+	1.800000000000000e+00
+	-3.555443162849009e-03
+447		4.225000000000016e-09
+	1.799747641099005e+00
+	3.951333648692565e-01
+	1.800000000000000e+00
+	-3.589021377193572e-03
+448		4.235000000000016e-09
+	1.799711629817954e+00
+	3.872872247408026e-01
+	1.800000000000000e+00
+	-3.662052136700816e-03
+449		4.245000000000016e-09
+	1.799721099880090e+00
+	3.807858695562499e-01
+	1.800000000000000e+00
+	-3.733726055040357e-03
+450		4.255000000000016e-09
+	1.799810142615572e+00
+	3.752528226323305e-01
+	1.800000000000000e+00
+	-3.810302980175886e-03
+451		4.265000000000015e-09
+	1.799954521199538e+00
+	3.703937910524288e-01
+	1.800000000000000e+00
+	-3.852479133878087e-03
+452		4.275000000000015e-09
+	1.800213186501584e+00
+	3.659906452562547e-01
+	1.800000000000000e+00
+	-3.865490992994712e-03
+453		4.285000000000015e-09
+	1.800678515210511e+00
+	3.618171259995048e-01
+	1.800000000000000e+00
+	-3.823439585365340e-03
+454		4.295000000000015e-09
+	1.801593107279728e+00
+	3.576484543800543e-01
+	1.800000000000000e+00
+	-3.767850574045373e-03
+455		4.305000000000014e-09
+	1.803320450169456e+00
+	3.534968465525804e-01
+	1.800000000000000e+00
+	-3.717976693289979e-03
+456		4.315000000000014e-09
+	1.804706458076033e+00
+	3.498137445466581e-01
+	1.800000000000000e+00
+	-3.655182975981480e-03
+457		4.325000000000014e-09
+	1.805081834291195e+00
+	3.473516933980537e-01
+	1.800000000000000e+00
+	-3.567237902469393e-03
+458		4.335000000000014e-09
+	1.804817066846249e+00
+	3.473179174870500e-01
+	1.800000000000000e+00
+	-3.552812261947906e-03
+459		4.345000000000013e-09
+	1.804012329265166e+00
+	3.521319686217877e-01
+	1.800000000000000e+00
+	-3.581053709638886e-03
+460		4.355000000000013e-09
+	1.803139864667385e+00
+	3.658422994149865e-01
+	1.800000000000000e+00
+	-3.649608164332322e-03
+461		4.365000000000013e-09
+	1.802584714061789e+00
+	3.948098447248523e-01
+	1.800000000000000e+00
+	-3.722536841174926e-03
+462		4.375000000000013e-09
+	1.802542073562669e+00
+	4.512577989963338e-01
+	1.800000000000000e+00
+	-3.799155908687344e-03
+463		4.385000000000012e-09
+	1.803131321027381e+00
+	5.575311793696240e-01
+	1.800000000000000e+00
+	-3.848466242198494e-03
+464		4.395000000000012e-09
+	1.804603854606959e+00
+	7.357741037815019e-01
+	1.800000000000000e+00
+	-3.866113484579606e-03
+465		4.405000000000012e-09
+	1.807367759049146e+00
+	9.734417418128170e-01
+	1.800000000000000e+00
+	-3.832962852814935e-03
+466		4.415000000000012e-09
+	1.811235750986661e+00
+	1.231067930706225e+00
+	1.800000000000000e+00
+	-3.776016006653549e-03
+467		4.425000000000011e-09
+	1.814073295209319e+00
+	1.446807437499921e+00
+	1.800000000000000e+00
+	-3.724935429918537e-03
+468		4.435000000000011e-09
+	1.814261854806066e+00
+	1.587833245185474e+00
+	1.800000000000000e+00
+	-3.669079314094058e-03
+469		4.445000000000011e-09
+	1.809629894861452e+00
+	1.674508967011123e+00
+	1.800000000000000e+00
+	-3.577165908047520e-03
+470		4.455000000000011e-09
+	1.794390680457660e+00
+	1.728456609216602e+00
+	1.800000000000000e+00
+	-3.551078810194444e-03
+471		4.465000000000011e-09
+	1.761550151467354e+00
+	1.760425613687581e+00
+	1.800000000000000e+00
+	-3.574223620931908e-03
+472		4.475000000000010e-09
+	1.708251212021200e+00
+	1.778221949826670e+00
+	1.800000000000000e+00
+	-3.637159560370908e-03
+473		4.485000000000010e-09
+	1.637042269739245e+00
+	1.788023447640831e+00
+	1.800000000000000e+00
+	-3.711561795415322e-03
+474		4.495000000000010e-09
+	1.553670847122779e+00
+	1.793254626306309e+00
+	1.800000000000000e+00
+	-3.787253951765707e-03
+475		4.505000000000010e-09
+	1.464335398060210e+00
+	1.796216553359902e+00
+	1.800000000000000e+00
+	-3.843744499226815e-03
+476		4.515000000000009e-09
+	1.374150687564179e+00
+	1.797759752054035e+00
+	1.800000000000000e+00
+	-3.865348890771700e-03
+477		4.525000000000009e-09
+	1.286867730177280e+00
+	1.798750890165093e+00
+	1.800000000000000e+00
+	-3.841906111549855e-03
+478		4.535000000000009e-09
+	1.204814502087339e+00
+	1.799237043299790e+00
+	1.800000000000000e+00
+	-3.784271742273339e-03
+479		4.545000000000009e-09
+	1.129419138417236e+00
+	1.799553528303961e+00
+	1.800000000000000e+00
+	-3.732111523837621e-03
+480		4.555000000000008e-09
+	1.062793144754399e+00
+	1.799592529214255e+00
+	1.800000000000000e+00
+	-3.681445065619327e-03
+481		4.565000000000008e-09
+	1.005776002242544e+00
+	1.799728707766578e+00
+	1.800000000000000e+00
+	-3.589239462519019e-03
+482		4.575000000000008e-09
+	9.502369383557758e-01
+	1.799741288053017e+00
+	1.800000000000000e+00
+	-3.550445387548243e-03
+483		4.585000000000008e-09
+	8.869220120591215e-01
+	1.799787857415322e+00
+	1.800000000000000e+00
+	-3.568430206151101e-03
+484		4.595000000000007e-09
+	8.176078517894962e-01
+	1.799749958425214e+00
+	1.800000000000000e+00
+	-3.624985572684263e-03
+485		4.605000000000007e-09
+	7.480330807178796e-01
+	1.799802854234320e+00
+	1.800000000000000e+00
+	-3.700597951872279e-03
+486		4.615000000000007e-09
+	6.825605100768134e-01
+	1.799785482666016e+00
+	1.800000000000000e+00
+	-3.774946201335419e-03
+487		4.625000000000007e-09
+	6.239605008249458e-01
+	1.799839675781473e+00
+	1.800000000000000e+00
+	-3.838072021546172e-03
+488		4.635000000000006e-09
+	5.731939945683605e-01
+	1.799828163868459e+00
+	1.800000000000000e+00
+	-3.863527022742787e-03
+489		4.645000000000006e-09
+	5.304524564631811e-01
+	1.799876901721582e+00
+	1.800000000000000e+00
+	-3.849834289174543e-03
+490		4.655000000000006e-09
+	4.953441473906429e-01
+	1.799869391687744e+00
+	1.800000000000000e+00
+	-3.792771741163347e-03
+491		4.665000000000006e-09
+	4.671115938278088e-01
+	1.799900499052783e+00
+	1.800000000000000e+00
+	-3.739711987344526e-03
+492		4.675000000000005e-09
+	4.445307509857469e-01
+	1.799855977948974e+00
+	1.800000000000000e+00
+	-3.692041968997257e-03
+493		4.685000000000005e-09
+	4.265025748065243e-01
+	1.799869692307948e+00
+	1.800000000000000e+00
+	-3.603155024851483e-03
+494		4.695000000000005e-09
+	4.122798383407110e-01
+	1.799863756260652e+00
+	1.800000000000000e+00
+	-3.551134722884865e-03
+495		4.705000000000005e-09
+	4.010300898141091e-01
+	1.799818415762651e+00
+	1.800000000000000e+00
+	-3.563578928953814e-03
+496		4.715000000000005e-09
+	3.920157055291972e-01
+	1.799718996331581e+00
+	1.800000000000000e+00
+	-3.613337752651649e-03
+497		4.725000000000004e-09
+	3.847411248791783e-01
+	1.799715135981263e+00
+	1.800000000000000e+00
+	-3.689470754937854e-03
+498		4.735000000000004e-09
+	3.786300583894022e-01
+	1.799739772571836e+00
+	1.800000000000000e+00
+	-3.762530883180845e-03
+499		4.745000000000004e-09
+	3.733812492817903e-01
+	1.799861701368838e+00
+	1.800000000000000e+00
+	-3.831255770231384e-03
+500		4.755000000000004e-09
+	3.687142954897459e-01
+	1.800028649409948e+00
+	1.800000000000000e+00
+	-3.860934544399227e-03
+501		4.765000000000003e-09
+	3.644246195989942e-01
+	1.800357732656310e+00
+	1.800000000000000e+00
+	-3.856388844783001e-03
+502		4.775000000000003e-09
+	3.602759580144489e-01
+	1.800947606224008e+00
+	1.800000000000000e+00
+	-3.801617236324137e-03
+503		4.785000000000003e-09
+	3.560825309887550e-01
+	1.802118516241503e+00
+	1.800000000000000e+00
+	-3.747743279830349e-03
+504		4.795000000000003e-09
+	3.520436189726198e-01
+	1.804000391087971e+00
+	1.800000000000000e+00
+	-3.701007292854295e-03
+505		4.805000000000002e-09
+	3.487030324098037e-01
+	1.804954938422708e+00
+	1.800000000000000e+00
+	-3.618314718556947e-03
+506		4.815000000000002e-09
+	3.469590831305188e-01
+	1.805024916182527e+00
+	1.800000000000000e+00
+	-3.553496536634206e-03
+507		4.825000000000002e-09
+	3.483669344568354e-01
+	1.804586852488006e+00
+	1.800000000000000e+00
+	-3.559499225490322e-03
+508		4.835000000000002e-09
+	3.559252356126180e-01
+	1.803644983563917e+00
+	1.800000000000000e+00
+	-3.602524906222147e-03
+509		4.845000000000001e-09
+	3.743768831941512e-01
+	1.802899974163577e+00
+	1.800000000000000e+00
+	-3.677988429619021e-03
+510		4.855000000000001e-09
+	4.116592200690751e-01
+	1.802488587892982e+00
+	1.800000000000000e+00
+	-3.750310438866008e-03
+511		4.865000000000001e-09
+	4.834817039272654e-01
+	1.802688609762611e+00
+	1.800000000000000e+00
+	-3.823121352829806e-03
+512		4.875000000000001e-09
+	6.153686689920302e-01
+	1.803549637623068e+00
+	1.800000000000000e+00
+	-3.857835449326827e-03
+513		4.885000000000000e-09
+	8.187701363905345e-01
+	1.805462523834489e+00
+	1.800000000000000e+00
+	-3.861264271091731e-03
+514		4.895000000000000e-09
+	1.070205836732940e+00
+	1.808764598408080e+00
+	1.800000000000000e+00
+	-3.810859310868428e-03
+515		4.905000000000000e-09
+	1.319246686969233e+00
+	1.812531241190032e+00
+	1.800000000000000e+00
+	-3.756005585762116e-03
+516		4.915000000000000e-09
+	1.507621351165102e+00
+	1.814504011982953e+00
+	1.800000000000000e+00
+	-3.708802704672442e-03
+517		4.924999999999999e-09
+	1.624840339948325e+00
+	1.813328940187643e+00
+	1.800000000000000e+00
+	-3.633909630183284e-03
+518		4.934999999999999e-09
+	1.697707676538600e+00
+	1.805605297631150e+00
+	1.800000000000000e+00
+	-3.557935354467658e-03
+519		4.944999999999999e-09
+	1.742443705310636e+00
+	1.784508797677901e+00
+	1.800000000000000e+00
+	-3.556019533591919e-03
+520		4.954999999999999e-09
+	1.768320755105091e+00
+	1.744077316590263e+00
+	1.800000000000000e+00
+	-3.592845839250048e-03
+521		4.964999999999998e-09
+	1.782566135128673e+00
+	1.683577932877209e+00
+	1.800000000000000e+00
+	-3.666023188736105e-03
+522		4.974999999999998e-09
+	1.790353163912898e+00
+	1.607101440336402e+00
+	1.800000000000000e+00
+	-3.738523899478210e-03
+523		4.984999999999998e-09
+	1.794561410202005e+00
+	1.520825291488471e+00
+	1.800000000000000e+00
+	-3.813591804648736e-03
+524		4.994999999999998e-09
+	1.796899202632356e+00
+	1.430650146987367e+00
+	1.800000000000000e+00
+	-3.854399918272427e-03
+525		5.004999999999998e-09
+	1.798187552895254e+00
+	1.341184045301415e+00
+	1.800000000000000e+00
+	-3.864279111239177e-03
+526		5.014999999999997e-09
+	1.798966767379719e+00
+	1.255642203814306e+00
+	1.800000000000000e+00
+	-3.820431184321613e-03
+527		5.024999999999997e-09
+	1.799385808330826e+00
+	1.175904803735753e+00
+	1.800000000000000e+00
+	-3.764259939113678e-03
+528		5.034999999999997e-09
+	1.799576500091321e+00
+	1.103455238799891e+00
+	1.800000000000000e+00
+	-3.715963873495515e-03
+529		5.044999999999997e-09
+	1.799641408459204e+00
+	1.040630283766190e+00
+	1.800000000000000e+00
+	-3.649180065836651e-03
+530		5.054999999999996e-09
+	1.799739809294999e+00
+	9.855821457812740e-01
+	1.800000000000000e+00
+	-3.564706163181012e-03
+531		5.064999999999996e-09
+	1.799764122035260e+00
+	9.277355043809322e-01
+	1.800000000000000e+00
+	-3.553127440101373e-03
+532		5.074999999999996e-09
+	1.799770323789081e+00
+	8.614923526167860e-01
+	1.800000000000000e+00
+	-3.584422334294607e-03
+533		5.084999999999996e-09
+	1.799769940013379e+00
+	7.915018464120905e-01
+	1.800000000000000e+00
+	-3.653663350434504e-03
+534		5.094999999999995e-09
+	1.799795424522791e+00
+	7.229951143301762e-01
+	1.800000000000000e+00
+	-3.727197840576807e-03
+535		5.104999999999995e-09
+	1.799805800946715e+00
+	6.598838748860352e-01
+	1.800000000000000e+00
+	-3.802823384601983e-03
+536		5.114999999999995e-09
+	1.799835605157547e+00
+	6.041305343824478e-01
+	1.800000000000000e+00
+	-3.850579186767477e-03
+537		5.124999999999995e-09
+	1.799845900796959e+00
+	5.563715345112463e-01
+	1.800000000000000e+00
+	-3.865502331646914e-03
+538		5.134999999999994e-09
+	1.799874916959399e+00
+	5.165259373114200e-01
+	1.800000000000000e+00
+	-3.830045804184336e-03
+539		5.144999999999994e-09
+	1.799882922046945e+00
+	4.841014380252174e-01
+	1.800000000000000e+00
+	-3.772435396334714e-03
+540		5.154999999999994e-09
+	1.799888033380152e+00
+	4.581123999591775e-01
+	1.800000000000000e+00
+	-3.722913391980361e-03
+541		5.164999999999994e-09
+	1.799853883211695e+00
+	4.373295504317303e-01
+	1.800000000000000e+00
+	-3.663539385817527e-03
+542		5.174999999999993e-09
+	1.799871779030829e+00
+	4.208190360188160e-01
+	1.800000000000000e+00
+	-3.573796714936313e-03
+543		5.184999999999993e-09
+	1.799857152445119e+00
+	4.077949059776957e-01
+	1.800000000000000e+00
+	-3.551041600037998e-03
+544		5.194999999999993e-09
+	1.799776340101214e+00
+	3.974386696811102e-01
+	1.800000000000000e+00
+	-3.577183155844152e-03
+545		5.204999999999993e-09
+	1.799710226722092e+00
+	3.891431797990305e-01
+	1.800000000000000e+00
+	-3.641182874852062e-03
+546		5.214999999999992e-09
+	1.799717006382083e+00
+	3.823490590738963e-01
+	1.800000000000000e+00
+	-3.716167283400951e-03
+547		5.224999999999992e-09
+	1.799776961892324e+00
+	3.765940213193657e-01
+	1.800000000000000e+00
+	-3.791158406267141e-03
+548		5.234999999999992e-09
+	1.799914207244217e+00
+	3.715874296116172e-01
+	1.800000000000000e+00
+	-3.846148334723565e-03
+549		5.244999999999992e-09
+	1.800128619252916e+00
+	3.670869221843556e-01
+	1.800000000000000e+00
+	-3.865212207943958e-03
+550		5.254999999999991e-09
+	1.800532227073216e+00
+	3.628774191672191e-01
+	1.800000000000000e+00
+	-3.839255965038799e-03
+551		5.264999999999991e-09
+	1.801299342166994e+00
+	3.587244943271249e-01
+	1.800000000000000e+00
+	-3.780640061079124e-03
+552		5.274999999999991e-09
+	1.802805847428034e+00
+	3.545358140839066e-01
+	1.800000000000000e+00
+	-3.729975579714246e-03
+553		5.284999999999991e-09
+	1.804477075817013e+00
+	3.506789528718536e-01
+	1.800000000000000e+00
+	-3.676515956946358e-03
+554		5.294999999999991e-09
+	1.805075954030068e+00
+	3.478118329430830e-01
+	1.800000000000000e+00
+	-3.585098357534345e-03
+555		5.304999999999990e-09
+	1.804921758376145e+00
+	3.469872503294305e-01
+	1.800000000000000e+00
+	-3.549981271261952e-03
+556		5.314999999999990e-09
+	1.804264708157886e+00
+	3.502462698135531e-01
+	1.800000000000000e+00
+	-3.571013574590283e-03
+557		5.324999999999990e-09
+	1.803326131673887e+00
+	3.611966513908182e-01
+	1.800000000000000e+00
+	-3.628880989551985e-03
+558		5.334999999999990e-09
+	1.802694582978307e+00
+	3.854278572033020e-01
+	1.800000000000000e+00
+	-3.705217599772494e-03
+559		5.344999999999989e-09
+	1.802488114651546e+00
+	4.331558691974674e-01
+	1.800000000000000e+00
+	-3.778966953638172e-03
+560		5.354999999999989e-09
+	1.802916172597047e+00
+	5.240029996620847e-01
+	1.800000000000000e+00
+	-3.840849089123488e-03
+561		5.364999999999989e-09
+	1.804117599086740e+00
+	6.835063202147127e-01
+	1.800000000000000e+00
+	-3.863748465960479e-03
+562		5.374999999999989e-09
+	1.806517387242179e+00
+	9.086205593832689e-01
+	1.800000000000000e+00
+	-3.847602025104509e-03
+563		5.384999999999988e-09
+	1.810246572537153e+00
+	1.166720923581352e+00
+	1.800000000000000e+00
+	-3.789037838733268e-03
+564		5.394999999999988e-09
+	1.813560359115421e+00
+	1.398502662924401e+00
+	1.800000000000000e+00
+	-3.737402974492714e-03
+565		5.404999999999988e-09
+	1.814528641549332e+00
+	1.558185987018407e+00
+	1.800000000000000e+00
+	-3.687775846764037e-03
+566		5.414999999999988e-09
+	1.811530557437323e+00
+	1.656001603191965e+00
+	1.800000000000000e+00
+	-3.598382509897827e-03
+567		5.424999999999987e-09
+	1.799720152307440e+00
+	1.717099847866530e+00
+	1.800000000000000e+00
+	-3.550152143650993e-03
+568		5.434999999999987e-09
+	1.771883795395003e+00
+	1.753871327894950e+00
+	1.800000000000000e+00
+	-3.565825777061489e-03
+569		5.444999999999987e-09
+	1.723767925700772e+00
+	1.774630874272116e+00
+	1.800000000000000e+00
+	-3.617009975568920e-03
+570		5.454999999999987e-09
+	1.656663257006149e+00
+	1.786055301776107e+00
+	1.800000000000000e+00
+	-3.694168630844864e-03
+571		5.464999999999986e-09
+	1.575794794115100e+00
+	1.792196047614082e+00
+	1.800000000000000e+00
+	-3.766560283682359e-03
+572		5.474999999999986e-09
+	1.487441205265260e+00
+	1.795624483621207e+00
+	1.800000000000000e+00
+	-3.834473542948466e-03
+573		5.484999999999986e-09
+	1.397062418467677e+00
+	1.797436511916429e+00
+	1.800000000000000e+00
+	-3.861412291581425e-03
+574		5.494999999999986e-09
+	1.308761576678027e+00
+	1.798551989943489e+00
+	1.800000000000000e+00
+	-3.854699349935437e-03
+575		5.504999999999985e-09
+	1.225216739063670e+00
+	1.799131551294826e+00
+	1.800000000000000e+00
+	-3.797750161151894e-03
+576		5.514999999999985e-09
+	1.147972211598540e+00
+	1.799504971070447e+00
+	1.800000000000000e+00
+	-3.745285977406080e-03
+577		5.524999999999985e-09
+	1.078846591652574e+00
+	1.799578798984073e+00
+	1.800000000000000e+00
+	-3.697306481847133e-03
+578		5.534999999999985e-09
+	1.019703766776265e+00
+	1.799701064878469e+00
+	1.800000000000000e+00
+	-3.613167381364105e-03
+579		5.544999999999984e-09
+	9.649482951383811e-01
+	1.799736377972877e+00
+	1.800000000000000e+00
+	-3.551849975904782e-03
+580		5.554999999999984e-09
+	9.039212774290831e-01
+	1.799786071048519e+00
+	1.800000000000000e+00
+	-3.561481979483617e-03
+581		5.564999999999984e-09
+	8.355533638488056e-01
+	1.799750771480299e+00
+	1.800000000000000e+00
+	-3.605852136435942e-03
+582		5.574999999999984e-09
+	7.655943567401151e-01
+	1.799795411667060e+00
+	1.800000000000000e+00
+	-3.682836743196383e-03
+583		5.584999999999984e-09
+	6.987187027113529e-01
+	1.799783754049586e+00
+	1.800000000000000e+00
+	-3.754235973730455e-03
+584		5.594999999999983e-09
+	6.382262311292476e-01
+	1.799831059572120e+00
+	1.800000000000000e+00
+	-3.826841074110283e-03
+585		5.604999999999983e-09
+	5.854072505886406e-01
+	1.799826524998146e+00
+	1.800000000000000e+00
+	-3.858475445052056e-03
+586		5.614999999999983e-09
+	5.406392728003616e-01
+	1.799868513088672e+00
+	1.800000000000000e+00
+	-3.860223404957389e-03
+587		5.624999999999983e-09
+	5.036270111550011e-01
+	1.799868064538069e+00
+	1.800000000000000e+00
+	-3.806847367411562e-03
+588		5.634999999999982e-09
+	4.737473307960779e-01
+	1.799898114963997e+00
+	1.800000000000000e+00
+	-3.753490815616229e-03
+589		5.644999999999982e-09
+	4.498362615703904e-01
+	1.799866705232200e+00
+	1.800000000000000e+00
+	-3.705473150970725e-03
+590		5.654999999999982e-09
+	4.307170588467096e-01
+	1.799863323973936e+00
+	1.800000000000000e+00
+	-3.628694573657952e-03
+591		5.664999999999982e-09
+	4.156060999204715e-01
+	1.799867330128813e+00
+	1.800000000000000e+00
+	-3.555483538193739e-03
+592		5.674999999999981e-09
+	4.036744828145987e-01
+	1.799840144183002e+00
+	1.800000000000000e+00
+	-3.557788532819510e-03
+593		5.684999999999981e-09
+	3.941317120049290e-01
+	1.799736611952337e+00
+	1.800000000000000e+00
+	-3.595731525423178e-03
+594		5.694999999999981e-09
+	3.864747299242909e-01
+	1.799712877591686e+00
+	1.800000000000000e+00
+	-3.671049644616559e-03
+595		5.704999999999981e-09
+	3.800989061149807e-01
+	1.799724984753642e+00
+	1.800000000000000e+00
+	-3.742276024994617e-03
+596		5.714999999999980e-09
+	3.746595755050595e-01
+	1.799826104181901e+00
+	1.800000000000000e+00
+	-3.817819596274665e-03
+597		5.724999999999980e-09
+	3.698631033468180e-01
+	1.799975253679761e+00
+	1.800000000000000e+00
+	-3.855160205697328e-03
+598		5.734999999999980e-09
+	3.654990399011113e-01
+	1.800255549936741e+00
+	1.800000000000000e+00
+	-3.863929508065645e-03
+599		5.744999999999980e-09
+	3.613366371085580e-01
+	1.800754458824528e+00
+	1.800000000000000e+00
+	-3.816321386854692e-03
+600		5.754999999999979e-09
+	3.571593457205211e-01
+	1.801741864451542e+00
+	1.800000000000000e+00
+	-3.761765058922114e-03
+601		5.764999999999979e-09
+	3.530354374233716e-01
+	1.803547716402125e+00
+	1.800000000000000e+00
+	-3.712814962426837e-03
+602		5.774999999999979e-09
+	3.494466596443432e-01
+	1.804794359729385e+00
+	1.800000000000000e+00
+	-3.644159334130323e-03
+603		5.784999999999979e-09
+	3.471908484306689e-01
+	1.805070328419877e+00
+	1.800000000000000e+00
+	-3.561387560898559e-03
+604		5.794999999999978e-09
+	3.475670353626067e-01
+	1.804756023305837e+00
+	1.800000000000000e+00
+	-3.554656922418900e-03
+605		5.804999999999978e-09
+	3.531724219393744e-01
+	1.803895577617023e+00
+	1.800000000000000e+00
+	-3.586846945336935e-03
+606		5.814999999999978e-09
+	3.682632602732559e-01
+	1.803061734502950e+00
+	1.800000000000000e+00
+	-3.658807871662483e-03
+607		5.824999999999978e-09
+	3.996263071626847e-01
+	1.802545686594480e+00
+	1.800000000000000e+00
+	-3.730794045511772e-03
+608		5.834999999999977e-09
+	4.605072250655342e-01
+	1.802579505358956e+00
+	1.800000000000000e+00
+	-3.807473507618938e-03
+609		5.844999999999977e-09
+	5.744081199533124e-01
+	1.803247333373323e+00
+	1.800000000000000e+00
+	-3.851504159071922e-03
+610		5.854999999999977e-09
+	7.608226035636964e-01
+	1.804851838166073e+00
+	1.800000000000000e+00
+	-3.865788316773211e-03
+611		5.864999999999977e-09
+	1.003420653227113e+00
+	1.807785867817743e+00
+	1.800000000000000e+00
+	-3.825969382198731e-03
+612		5.874999999999977e-09
+	1.259368627431487e+00
+	1.811662228467277e+00
+	1.800000000000000e+00
+	-3.769961883562287e-03
+613		5.884999999999976e-09
+	1.466959057460116e+00
+	1.814248667116619e+00
+	1.800000000000000e+00
+	-3.719803910044399e-03
+614		5.894999999999976e-09
+	1.600087108355892e+00
+	1.814047930799999e+00
+	1.800000000000000e+00
+	-3.658912242692503e-03
+615		5.904999999999976e-09
+	1.682189806379665e+00
+	1.808549728219465e+00
+	1.800000000000000e+00
+	-3.569627890679091e-03
+616		5.914999999999976e-09
+	1.733121453675469e+00
+	1.791590879012676e+00
+	1.800000000000000e+00
+	-3.552247089555207e-03
+617		5.924999999999975e-09
+	1.763082160477577e+00
+	1.756411916427182e+00
+	1.800000000000000e+00
+	-3.579186823504898e-03
+618		5.934999999999975e-09
+	1.779679379948409e+00
+	1.700816220953935e+00
+	1.800000000000000e+00
+	-3.646332456170657e-03
+619		5.944999999999975e-09
+	1.788812425032158e+00
+	1.627873172899451e+00
+	1.800000000000000e+00
+	-3.719682713782512e-03
+620		5.954999999999975e-09
+	1.793689459443014e+00
+	1.543503767071676e+00
+	1.800000000000000e+00
+	-3.796091957434203e-03
+621		5.964999999999974e-09
+	1.796450090582197e+00
+	1.453834277462843e+00
+	1.800000000000000e+00
+	-3.847333125474599e-03
+622		5.974999999999974e-09
+	1.797898340276962e+00
+	1.363820756002686e+00
+	1.800000000000000e+00
+	-3.866015003943084e-03
+623		5.984999999999974e-09
+	1.798826622068851e+00
+	1.277049826413655e+00
+	1.800000000000000e+00
+	-3.835387920943379e-03
+624		5.994999999999974e-09
+	1.799284500509345e+00
+	1.195700960730418e+00
+	1.800000000000000e+00
+	-3.778133696430008e-03
+625		6.004999999999973e-09
+	1.799565868537552e+00
+	1.121188603725864e+00
+	1.800000000000000e+00
+	-3.726793175021175e-03
+626		6.014999999999973e-09
+	1.799604431754850e+00
+	1.055736085750909e+00
+	1.800000000000000e+00
+	-3.672446344540236e-03
+627		6.024999999999973e-09
+	1.799735582346791e+00
+	9.994956979451998e-01
+	1.800000000000000e+00
+	-3.580133678473243e-03
+628		6.034999999999973e-09
+	1.799746806207852e+00
+	9.433682970730678e-01
+	1.800000000000000e+00
+	-3.550780975737635e-03
+629		6.044999999999972e-09
+	1.799784413587570e+00
+	8.790699315409050e-01
+	1.800000000000000e+00
+	-3.572635595244244e-03
+630		6.054999999999972e-09
+	1.799753933487618e+00
+	8.094603584900477e-01
+	1.800000000000000e+00
+	-3.633930613370811e-03
+631		6.064999999999972e-09
+	1.799802496734940e+00
+	7.401548330726280e-01
+	1.800000000000000e+00
+	-3.708728690810054e-03
+632		6.074999999999972e-09
+	1.799789882733736e+00
+	6.753827281875195e-01
+	1.800000000000000e+00
+	-3.784053120928292e-03
+633		6.084999999999971e-09
+	1.799840232175508e+00
+	6.176595507686337e-01
+	1.800000000000000e+00
+	-3.842384712805692e-03
+634		6.094999999999971e-09
+	1.799831993410444e+00
+	5.678297358873722e-01
+	1.800000000000000e+00
+	-3.864944689834316e-03
+635		6.104999999999971e-09
+	1.799877864812335e+00
+	5.259977944869154e-01
+	1.800000000000000e+00
+	-3.844105281935071e-03
+636		6.114999999999971e-09
+	1.799872377253508e+00
+	4.917386224827667e-01
+	1.800000000000000e+00
+	-3.786440126019526e-03
+637		6.124999999999970e-09
+	1.799898489860474e+00
+	4.642243184800066e-01
+	1.800000000000000e+00
+	-3.734066326501723e-03
+638		6.134999999999970e-09
+	1.799853522029028e+00
+	4.422205517638113e-01
+	1.800000000000000e+00
+	-3.684361030343701e-03
+639		6.144999999999970e-09
+	1.799871374214622e+00
+	4.246759274262891e-01
+	1.800000000000000e+00
+	-3.592726829230039e-03
+640		6.154999999999970e-09
+	1.799862118278670e+00
+	4.108382597602703e-01
+	1.800000000000000e+00
+	-3.550467484679099e-03
+641		6.164999999999970e-09
+	1.799806156650934e+00
+	3.998784783012105e-01
+	1.800000000000000e+00
+	-3.567098654653190e-03
+642		6.174999999999969e-09
+	1.799714293869051e+00
+	3.910954643790420e-01
+	1.800000000000000e+00
+	-3.621868674098771e-03
+643		6.184999999999969e-09
+	1.799715740945120e+00
+	3.839792959537798e-01
+	1.800000000000000e+00
+	-3.697738901456383e-03
+644		6.194999999999969e-09
+	1.799749505679892e+00
+	3.779831805209944e-01
+	1.800000000000000e+00
+	-3.771689543805444e-03
+645		6.204999999999969e-09
+	1.799877838821808e+00
+	3.728139008907481e-01
+	1.800000000000000e+00
+	-3.836431206991921e-03
+646		6.214999999999968e-09
+	1.800056875979796e+00
+	3.682018274267957e-01
+	1.800000000000000e+00
+	-3.862895902359404e-03
+647		6.224999999999968e-09
+	1.800408397032197e+00
+	3.639406368773486e-01
+	1.800000000000000e+00
+	-3.851707094419269e-03
+648		6.234999999999968e-09
+	1.801047989782362e+00
+	3.597935671417710e-01
+	1.800000000000000e+00
+	-3.795022905795815e-03
+649		6.244999999999968e-09
+	1.802317236577639e+00
+	3.555967118565075e-01
+	1.800000000000000e+00
+	-3.741787753300246e-03
+650		6.254999999999967e-09
+	1.804172589619487e+00
+	3.516067844753671e-01
+	1.800000000000000e+00
+	-3.694503247269923e-03
+651		6.264999999999967e-09
+	1.805008499315739e+00
+	3.483992290189261e-01
+	1.800000000000000e+00
+	-3.607036488120796e-03
+652		6.274999999999967e-09
+	1.804997318226968e+00
+	3.469171273978665e-01
+	1.800000000000000e+00
+	-3.551553700959466e-03
+653		6.284999999999967e-09
+	1.804494753138909e+00
+	3.488551656992254e-01
+	1.800000000000000e+00
+	-3.562467951558840e-03
+654		6.294999999999966e-09
+	1.803538754278799e+00
+	3.573985159228215e-01
+	1.800000000000000e+00
+	-3.610406373135039e-03
+655		6.304999999999966e-09
+	1.802831376527167e+00
+	3.775305049071958e-01
+	1.800000000000000e+00
+	-3.686537757596534e-03
+656		6.314999999999966e-09
+	1.802477734443476e+00
+	4.178187259914166e-01
+	1.800000000000000e+00
+	-3.759295938909880e-03
+657		6.324999999999966e-09
+	1.802750143947153e+00
+	4.951637415785812e-01
+	1.800000000000000e+00
+	-3.829286682072324e-03
+658		6.334999999999965e-09
+	1.803709859851837e+00
+	6.355794455630919e-01
+	1.800000000000000e+00
+	-3.860147471230748e-03
+659		6.344999999999965e-09
+	1.805769478809078e+00
+	8.461556273965835e-01
+	1.800000000000000e+00
+	-3.857850582989911e-03
+660		6.354999999999965e-09
+	1.809225142915935e+00
+	1.100529742380289e+00
+	1.800000000000000e+00
+	-3.803969673759781e-03
+661		6.364999999999965e-09
+	1.812885336935556e+00
+	1.345049980022319e+00
+	1.800000000000000e+00
+	-3.749904028151912e-03
+662		6.374999999999964e-09
+	1.814558121752553e+00
+	1.524429421531276e+00
+	1.800000000000000e+00
+	-3.703111489789340e-03
+663		6.384999999999964e-09
+	1.812873705026434e+00
+	1.635138552512326e+00
+	1.800000000000000e+00
+	-3.622389856171643e-03
+664		6.394999999999964e-09
+	1.803987233132873e+00
+	1.704143844309124e+00
+	1.800000000000000e+00
+	-3.554421342501254e-03
+665		6.404999999999964e-09
+	1.780870488800282e+00
+	1.746265911212488e+00
+	1.800000000000000e+00
+	-3.558556201903001e-03
+666		6.414999999999963e-09
+	1.738036207495724e+00
+	1.770443033305441e+00
+	1.800000000000000e+00
+	-3.599865527463212e-03
+667		6.424999999999963e-09
+	1.675401734833987e+00
+	1.783739872608136e+00
+	1.800000000000000e+00
+	-3.674934713448793e-03
+668		6.434999999999963e-09
+	1.597459009904752e+00
+	1.790973040442525e+00
+	1.800000000000000e+00
+	-3.747172422584204e-03
+669		6.444999999999963e-09
+	1.510448312606602e+00
+	1.794919046999800e+00
+	1.800000000000000e+00
+	-3.820787948103694e-03
+670		6.454999999999963e-09
+	1.420144486391972e+00
+	1.797078550719536e+00
+	1.800000000000000e+00
+	-3.856951796779837e-03
+671		6.464999999999962e-09
+	1.330997998505078e+00
+	1.798309651623778e+00
+	1.800000000000000e+00
+	-3.862249742915249e-03
+672		6.474999999999962e-09
+	1.246054815388841e+00
+	1.799021328405313e+00
+	1.800000000000000e+00
+	-3.813312110586880e-03
+673		6.484999999999962e-09
+	1.167074429002116e+00
+	1.799427949803237e+00
+	1.800000000000000e+00
+	-3.758183177946758e-03
+674		6.494999999999962e-09
+	1.095618870031113e+00
+	1.799576975452354e+00
+	1.800000000000000e+00
+	-3.710692811045415e-03
+675		6.504999999999961e-09
+	1.033980191670323e+00
+	1.799660803903457e+00
+	1.800000000000000e+00
+	-3.637966605025337e-03
+676		6.514999999999961e-09
+	9.792116648623169e-01
+	1.799738689456424e+00
+	1.800000000000000e+00
+	-3.559451370066137e-03
+677		6.524999999999961e-09
+	9.204323256401821e-01
+	1.799772472872629e+00
+	1.800000000000000e+00
+	-3.555224775719013e-03
+678		6.534999999999961e-09
+	8.534315432233265e-01
+	1.799762944323564e+00
+	1.800000000000000e+00
+	-3.590510206418463e-03
+679		6.544999999999960e-09
+	7.833816860199162e-01
+	1.799778706855686e+00
+	1.800000000000000e+00
+	-3.662848559112647e-03
+680		6.554999999999960e-09
+	7.153269980329253e-01
+	1.799790960680338e+00
+	1.800000000000000e+00
+	-3.735513047483925e-03
+681		6.564999999999960e-09
+	6.530116651281894e-01
+	1.799814354149920e+00
+	1.800000000000000e+00
+	-3.810910373636160e-03
+682		6.574999999999960e-09
+	5.981660715673722e-01
+	1.799832204376677e+00
+	1.800000000000000e+00
+	-3.853429986659730e-03
+683		6.584999999999959e-09
+	5.513445969814852e-01
+	1.799853450798099e+00
+	1.800000000000000e+00
+	-3.864780083699457e-03
+684		6.594999999999959e-09
+	5.123904665521666e-01
+	1.799872390409888e+00
+	1.800000000000000e+00
+	-3.822931788950211e-03
+685		6.604999999999959e-09
+	4.807773269751449e-01
+	1.799888391877301e+00
+	1.800000000000000e+00
+	-3.766414883190742e-03
+686		6.614999999999959e-09
+	4.554543789290231e-01
+	1.799881493155521e+00
+	1.800000000000000e+00
+	-3.717763506432311e-03
+687		6.624999999999958e-09
+	4.352034046502238e-01
+	1.799856169793329e+00
+	1.800000000000000e+00
+	-3.653049900716727e-03
+688		6.634999999999958e-09
+	4.191437837461175e-01
+	1.799870748964549e+00
+	1.800000000000000e+00
+	-3.566836588732647e-03
+689		6.644999999999958e-09
+	4.064724175456039e-01
+	1.799853498927613e+00
+	1.800000000000000e+00
+	-3.552515396966871e-03
+690		6.654999999999958e-09
+	3.963767213833153e-01
+	1.799762806453899e+00
+	1.800000000000000e+00
+	-3.582407838284243e-03
+691		6.664999999999957e-09
+	3.882901929633162e-01
+	1.799710457517546e+00
+	1.800000000000000e+00
+	-3.650426853570153e-03
+692		6.674999999999957e-09
+	3.816319136011808e-01
+	1.799718259077635e+00
+	1.800000000000000e+00
+	-3.724284500497629e-03
+693		6.684999999999957e-09
+	3.759800512230372e-01
+	1.799791521943975e+00
+	1.800000000000000e+00
+	-3.799871451991357e-03
+694		6.694999999999957e-09
+	3.710421090584214e-01
+	1.799931741387025e+00
+	1.800000000000000e+00
+	-3.849475503048834e-03
+695		6.704999999999956e-09
+	3.665876001218805e-01
+	1.800165429212793e+00
+	1.800000000000000e+00
+	-3.865577040442766e-03
+696		6.714999999999956e-09
+	3.623963884563110e-01
+	1.800595291113308e+00
+	1.800000000000000e+00
+	-3.832486821300460e-03
+697		6.724999999999956e-09
+	3.582372255824003e-01
+	1.801427153183332e+00
+	1.800000000000000e+00
+	-3.774583165238838e-03
+698		6.734999999999956e-09
+	3.540613810782188e-01
+	1.803039234639791e+00
+	1.800000000000000e+00
+	-3.724713198134982e-03
+699		6.744999999999956e-09
+	3.502778106966560e-01
+	1.804588175536232e+00
+	1.800000000000000e+00
+	-3.667091120279814e-03
+700		6.754999999999955e-09
+	3.475862169518119e-01
+	1.805084953022931e+00
+	1.800000000000000e+00
+	-3.576517775220124e-03
+701		6.764999999999955e-09
+	3.471020296049037e-01
+	1.804878824990063e+00
+	1.800000000000000e+00
+	-3.550676749681010e-03
+702		6.774999999999955e-09
+	3.510351779399288e-01
+	1.804151910101656e+00
+	1.800000000000000e+00
+	-3.575456867403556e-03
+703		6.784999999999955e-09
+	3.631907301623607e-01
+	1.803238917070046e+00
+	1.800000000000000e+00
+	-3.637966583883542e-03
+704		6.794999999999954e-09
+	3.894827073428434e-01
+	1.802640987400262e+00
+	1.800000000000000e+00
+	-3.713294239645670e-03
+705		6.804999999999954e-09
+	4.409935260201301e-01
+	1.802507510611483e+00
+	1.800000000000000e+00
+	-3.788036080314087e-03
+706		6.814999999999954e-09
+	5.385932634378936e-01
+	1.803007145102565e+00
+	1.800000000000000e+00
+	-3.844841214259528e-03
+707		6.824999999999954e-09
+	7.066879645495026e-01
+	1.804328030163117e+00
+	1.800000000000000e+00
+	-3.864949385019133e-03
+708		6.834999999999953e-09
+	9.377614615925657e-01
+	1.806890291607290e+00
+	1.800000000000000e+00
+	-3.841513223436445e-03
+709		6.844999999999953e-09
+	1.196189979868375e+00
+	1.810701798113077e+00
+	1.800000000000000e+00
+	-3.782823460727540e-03
+710		6.854999999999953e-09
+	1.421064149197423e+00
+	1.813814009589566e+00
+	1.800000000000000e+00
+	-3.731850295260124e-03
+711		6.864999999999953e-09
+	1.572103725061102e+00
+	1.814440043890261e+00
+	1.800000000000000e+00
+	-3.679643287768499e-03
+712		6.874999999999952e-09
+	1.664672197202373e+00
+	1.810745158748082e+00
+	1.800000000000000e+00
+	-3.588365267910228e-03
+713		6.884999999999952e-09
+	1.722439373784913e+00
+	1.797442460120591e+00
+	1.800000000000000e+00
+	-3.549916795617976e-03
+714		6.894999999999952e-09
+	1.756967258267402e+00
+	1.767366567277168e+00
+	1.800000000000000e+00
+	-3.569551522117315e-03
+715		6.904999999999952e-09
+	1.776327508215587e+00
+	1.716883200006219e+00
+	1.800000000000000e+00
+	-3.625753698137956e-03
+716		6.914999999999951e-09
+	1.786988550813939e+00
+	1.647870267364644e+00
+	1.800000000000000e+00
+	-3.702334739344991e-03
+717		6.924999999999951e-09
+	1.792694299719082e+00
+	1.565814791832448e+00
+	1.800000000000000e+00
+	-3.775760670172024e-03
+718		6.934999999999951e-09
+	1.795906646080165e+00
+	1.476972958189660e+00
+	1.800000000000000e+00
+	-3.839279234871228e-03
+719		6.944999999999951e-09
+	1.797586460371226e+00
+	1.386650080238528e+00
+	1.800000000000000e+00
+	-3.863231269494755e-03
+720		6.954999999999950e-09
+	1.798647755080608e+00
+	1.298790964611620e+00
+	1.800000000000000e+00
+	-3.849567476328959e-03
+721		6.964999999999950e-09
+	1.799179569728565e+00
+	1.215911711434733e+00
+	1.800000000000000e+00
+	-3.791294089389290e-03
+722		6.974999999999950e-09
+	1.799530734859608e+00
+	1.139490107914135e+00
+	1.800000000000000e+00
+	-3.739396788792652e-03
+723		6.984999999999950e-09
+	1.799583006020551e+00
+	1.071480033226212e+00
+	1.800000000000000e+00
+	-3.690436873993938e-03
+724		6.994999999999949e-09
+	1.799715629885271e+00
+	1.013362273308812e+00
+	1.800000000000000e+00
+	-3.602100256404282e-03
+725		7.004999999999949e-09
+	1.799737391125755e+00
+	9.583446341504899e-01
+	1.800000000000000e+00
+	-3.550450897117155e-03
+726		7.014999999999949e-09
+	1.799788531110947e+00
+	8.962690773481883e-01
+	1.800000000000000e+00
+	-3.564601039071142e-03
+727		7.024999999999949e-09
+	1.799748757567073e+00
+	8.274206210080094e-01
+	1.800000000000000e+00
+	-3.614038098110170e-03
+728		7.034999999999949e-09
+	1.799800183243665e+00
+	7.575999598208475e-01
+	1.800000000000000e+00
+	-3.691231077476285e-03
+729		7.044999999999948e-09
+	1.799783190745082e+00
+	6.913348600618054e-01
+	1.800000000000000e+00
+	-3.763345849616216e-03
+730		7.054999999999948e-09
+	1.799836206565663e+00
+	6.316931071478799e-01
+	1.800000000000000e+00
+	-3.832593227863984e-03
+731		7.064999999999948e-09
+	1.799826132872190e+00
+	5.798022187617939e-01
+	1.800000000000000e+00
+	-3.860712726519991e-03
+732		7.074999999999948e-09
+	1.799873359200514e+00
+	5.359567451383174e-01
+	1.800000000000000e+00
+	-3.856284318455792e-03
+733		7.084999999999947e-09
+	1.799867782546669e+00
+	4.998129292740977e-01
+	1.800000000000000e+00
+	-3.800101625305071e-03
+734		7.094999999999947e-09
+	1.799900315178500e+00
+	4.706911720918762e-01
+	1.800000000000000e+00
+	-3.747384827863222e-03
+735		7.104999999999947e-09
+	1.799861056645458e+00
+	4.473935141116037e-01
+	1.800000000000000e+00
+	-3.699564634841980e-03
+736		7.114999999999947e-09
+	1.799866550273455e+00
+	4.287731211750809e-01
+	1.800000000000000e+00
+	-3.617158964706873e-03
+737		7.124999999999946e-09
+	1.799865682453440e+00
+	4.140719700394108e-01
+	1.800000000000000e+00
+	-3.552612889832065e-03
+738		7.134999999999946e-09
+	1.799831304962031e+00
+	4.024569982698815e-01
+	1.800000000000000e+00
+	-3.560444400148214e-03
+739		7.144999999999946e-09
+	1.799727399973077e+00
+	3.931567371075755e-01
+	1.800000000000000e+00
+	-3.603120781197120e-03
+740		7.154999999999946e-09
+	1.799714051116463e+00
+	3.856790738001225e-01
+	1.800000000000000e+00
+	-3.679793576406686e-03
+741		7.164999999999945e-09
+	1.799730565468904e+00
+	3.794252279003161e-01
+	1.800000000000000e+00
+	-3.751092716158281e-03
+742		7.174999999999945e-09
+	1.799842238844442e+00
+	3.740750177626626e-01
+	1.800000000000000e+00
+	-3.824606624939656e-03
+743		7.184999999999945e-09
+	1.799998044641289e+00
+	3.693386890743622e-01
+	1.800000000000000e+00
+	-3.857660297194221e-03
+744		7.194999999999945e-09
+	1.800300359373349e+00
+	3.650103700922085e-01
+	1.800000000000000e+00
+	-3.861352346579568e-03
+745		7.204999999999944e-09
+	1.800837429612736e+00
+	3.608559884950102e-01
+	1.800000000000000e+00
+	-3.809303172055481e-03
+746		7.214999999999944e-09
+	1.801903045800396e+00
+	3.566704387535237e-01
+	1.800000000000000e+00
+	-3.755632234239888e-03
+747		7.224999999999944e-09
+	1.803763593954823e+00
+	3.525810958493132e-01
+	1.800000000000000e+00
+	-3.707463329542620e-03
+748		7.234999999999944e-09
+	1.804873444600564e+00
+	3.490975637051326e-01
+	1.800000000000000e+00
+	-3.632743392239053e-03
+749		7.244999999999943e-09
+	1.805052737723088e+00
+	3.470635269336780e-01
+	1.800000000000000e+00
+	-3.556812112913766e-03
+750		7.254999999999943e-09
+	1.804685263386961e+00
+	3.478849603726776e-01
+	1.800000000000000e+00
+	-3.556900280660265e-03
+751		7.264999999999943e-09
+	1.803779869786015e+00
+	3.543395575823209e-01
+	1.800000000000000e+00
+	-3.593311267883730e-03
+752		7.274999999999943e-09
+	1.802986684015881e+00
+	3.708983451628856e-01
+	1.800000000000000e+00
+	-3.667878211078866e-03
+753		7.284999999999942e-09
+	1.802514468707606e+00
+	4.048312016660360e-01
+	1.800000000000000e+00
+	-3.739256048997444e-03
+754		7.294999999999942e-09
+	1.802624520128581e+00
+	4.704689020473781e-01
+	1.800000000000000e+00
+	-3.815223251221393e-03
+755		7.304999999999942e-09
+	1.803376099818038e+00
+	5.923512258832376e-01
+	1.800000000000000e+00
+	-3.854262323123481e-03
+756		7.314999999999942e-09
+	1.805117706697454e+00
+	7.866580173031613e-01
+	1.800000000000000e+00
+	-3.864568651244726e-03
+757		7.324999999999942e-09
+	1.808221438073110e+00
+	1.033636300098666e+00
+	1.800000000000000e+00
+	-3.818851719155925e-03
+758		7.334999999999941e-09
+	1.812069875332265e+00
+	1.286990227150064e+00
+	1.800000000000000e+00
+	-3.763892083236874e-03
+759		7.344999999999941e-09
+	1.814387159584854e+00
+	1.486029612093706e+00
+	1.800000000000000e+00
+	-3.714673349931087e-03
+760		7.354999999999941e-09
+	1.813766993006536e+00
+	1.611678547609209e+00
+	1.800000000000000e+00
+	-3.648077836978204e-03
+761		7.364999999999941e-09
+	1.807315483172369e+00
+	1.689459703920964e+00
+	1.800000000000000e+00
+	-3.563328666685825e-03
+762		7.374999999999940e-09
+	1.788537500159377e+00
+	1.737506990323817e+00
+	1.800000000000000e+00
+	-3.553933311383933e-03
+763		7.384999999999940e-09
+	1.750989123022623e+00
+	1.765558615168436e+00
+	1.800000000000000e+00
+	-3.584754454598315e-03
+764		7.394999999999940e-09
+	1.693139467718036e+00
+	1.781041605338570e+00
+	1.800000000000000e+00
+	-3.655547544407862e-03
+765		7.404999999999940e-09
+	1.618543786621937e+00
+	1.789543107071467e+00
+	1.800000000000000e+00
+	-3.727888079772458e-03
+766		7.414999999999939e-09
+	1.533260146963926e+00
+	1.794099229022617e+00
+	1.800000000000000e+00
+	-3.804572680847499e-03
+767		7.424999999999939e-09
+	1.443322724140694e+00
+	1.796664086546386e+00
+	1.800000000000000e+00
+	-3.850495099705918e-03
+768		7.434999999999939e-09
+	1.353529434724468e+00
+	1.798032464065055e+00
+	1.800000000000000e+00
+	-3.865973565302616e-03
+769		7.444999999999939e-09
+	1.267299499325179e+00
+	1.798894257825365e+00
+	1.800000000000000e+00
+	-3.828484364501414e-03
+770		7.454999999999938e-09
+	1.186671606063900e+00
+	1.799331349606724e+00
+	1.800000000000000e+00
+	-3.772070588292792e-03
+771		7.464999999999938e-09
+	1.113073786078827e+00
+	1.799573026536506e+00
+	1.800000000000000e+00
+	-3.721631675574485e-03
+772		7.474999999999938e-09
+	1.048809536973556e+00
+	1.799619687175786e+00
+	1.800000000000000e+00
+	-3.662558184896096e-03
+773		7.484999999999938e-09
+	9.932038064441215e-01
+	1.799739090621965e+00
+	1.800000000000000e+00
+	-3.572172181558516e-03
+774		7.494999999999937e-09
+	9.363622016032505e-01
+	1.799754056568598e+00
+	1.800000000000000e+00
+	-3.551746491375091e-03
+775		7.504999999999937e-09
+	8.711389187737159e-01
+	1.799778825257827e+00
+	1.800000000000000e+00
+	-3.577394876726246e-03
+776		7.514999999999937e-09
+	8.013123568925128e-01
+	1.799760230931271e+00
+	1.800000000000000e+00
+	-3.643062235547402e-03
+777		7.524999999999937e-09
+	7.323345706140276e-01
+	1.799800119496046e+00
+	1.800000000000000e+00
+	-3.716838753578542e-03
+778		7.534999999999936e-09
+	6.682975773628187e-01
+	1.799796265463314e+00
+	1.800000000000000e+00
+	-3.792983943900834e-03
+779		7.544999999999936e-09
+	6.114617880685780e-01
+	1.799838929302868e+00
+	1.800000000000000e+00
+	-3.846146518724454e-03
+780		7.554999999999936e-09
+	5.625707735159468e-01
+	1.799837552622864e+00
+	1.800000000000000e+00
+	-3.865828976458837e-03
+781		7.564999999999936e-09
+	5.216429049253043e-01
+	1.799877226963616e+00
+	1.800000000000000e+00
+	-3.837764556334346e-03
+782		7.574999999999935e-09
+	4.882226999856681e-01
+	1.799876650781646e+00
+	1.800000000000000e+00
+	-3.780261240396744e-03
+783		7.584999999999935e-09
+	4.614097932094884e-01
+	1.799894641795190e+00
+	1.800000000000000e+00
+	-3.728670333053687e-03
+784		7.594999999999935e-09
+	4.399681550701589e-01
+	1.799852753824191e+00
+	1.800000000000000e+00
+	-3.675702646098639e-03
+785		7.604999999999935e-09
+	4.228985939127324e-01
+	1.799872096839644e+00
+	1.800000000000000e+00
+	-3.583243852848774e-03
+786		7.614999999999935e-09
+	4.094358336264418e-01
+	1.799860226390687e+00
+	1.800000000000000e+00
+	-3.550561837744631e-03
+787		7.624999999999934e-09
+	3.987553088191762e-01
+	1.799792901025792e+00
+	1.800000000000000e+00
+	-3.571115956417730e-03
+788		7.634999999999934e-09
+	3.901975682292733e-01
+	1.799711494505838e+00
+	1.800000000000000e+00
+	-3.630725312221673e-03
+789		7.644999999999934e-09
+	3.832316901771685e-01
+	1.799716218770593e+00
+	1.800000000000000e+00
+	-3.705892417996795e-03
+790		7.654999999999934e-09
+	3.773471031180960e-01
+	1.799761025406746e+00
+	1.800000000000000e+00
+	-3.780830928575767e-03
+791		7.664999999999933e-09
+	3.722536307653951e-01
+	1.799894095126489e+00
+	1.800000000000000e+00
+	-3.840955808150542e-03
+792		7.674999999999933e-09
+	3.676938174292209e-01
+	1.800087781851079e+00
+	1.800000000000000e+00
+	-3.864474741183022e-03
+793		7.684999999999933e-09
+	3.634579696176026e-01
+	1.800462259353937e+00
+	1.800000000000000e+00
+	-3.846227784501167e-03
+794		7.694999999999933e-09
+	3.593097503968634e-01
+	1.801156803819580e+00
+	1.800000000000000e+00
+	-3.788628136273163e-03
+795		7.704999999999932e-09
+	3.551135206487145e-01
+	1.802532089951470e+00
+	1.800000000000000e+00
+	-3.736052463982371e-03
+796		7.714999999999932e-09
+	3.511793906930845e-01
+	1.804322399758129e+00
+	1.800000000000000e+00
+	-3.687154706800637e-03
+797		7.724999999999932e-09
+	3.481182443972127e-01
+	1.805047758309341e+00
+	1.800000000000000e+00
+	-3.596332387914598e-03
+798		7.734999999999932e-09
+	3.469196112040660e-01
+	1.804965786561135e+00
+	1.800000000000000e+00
+	-3.550584140969460e-03
+799		7.744999999999931e-09
+	3.494297456144641e-01
+	1.804394386385526e+00
+	1.800000000000000e+00
+	-3.565828917877851e-03
+800		7.754999999999931e-09
+	3.590234434204338e-01
+	1.803438636155576e+00
+	1.800000000000000e+00
+	-3.618792273967698e-03
+801		7.764999999999931e-09
+	3.809433732048914e-01
+	1.802766520219462e+00
+	1.800000000000000e+00
+	-3.694865361388185e-03
+802		7.774999999999931e-09
+	4.244599645373794e-01
+	1.802476710087293e+00
+	1.800000000000000e+00
+	-3.768430864900503e-03
+803		7.784999999999930e-09
+	5.076964280352757e-01
+	1.802819908147972e+00
+	1.800000000000000e+00
+	-3.834709180591350e-03
+804		7.794999999999930e-09
+	6.567549569759017e-01
+	1.803885346416294e+00
+	1.800000000000000e+00
+	-3.862217464254308e-03
+805		7.804999999999930e-09
+	8.741504921399983e-01
+	1.806096178846733e+00
+	1.800000000000000e+00
+	-3.853480455991384e-03
+806		7.814999999999930e-09
+	1.130706182183945e+00
+	1.809689322302684e+00
+	1.800000000000000e+00
+	-3.797299221276122e-03
+807		7.824999999999929e-09
+	1.369900937904143e+00
+	1.813210374621383e+00
+	1.800000000000000e+00
+	-3.743891324500474e-03
+808		7.834999999999929e-09
+	1.540282161609438e+00
+	1.814571318487018e+00
+	1.800000000000000e+00
+	-3.696858927259783e-03
+809		7.844999999999929e-09
+	1.644905229118974e+00
+	1.812326245097917e+00
+	1.800000000000000e+00
+	-3.610989776819075e-03
+810		7.854999999999929e-09
+	1.710225491179886e+00
+	1.802176041718402e+00
+	1.800000000000000e+00
+	-3.552093696838925e-03
+811		7.864999999999928e-09
+	1.749851441846212e+00
+	1.776960473568882e+00
+	1.800000000000000e+00
+	-3.561405610869942e-03
+812		7.874999999999928e-09
+	1.772422205243399e+00
+	1.731724520713972e+00
+	1.800000000000000e+00
+	-3.607537732954306e-03
+813		7.884999999999928e-09
+	1.784835123985444e+00
+	1.667020041474991e+00
+	1.800000000000000e+00
+	-3.683576945465421e-03
+814		7.894999999999928e-09
+	1.791550477662070e+00
+	1.587697960975338e+00
+	1.800000000000000e+00
+	-3.756079648622796e-03
+815		7.904999999999928e-09
+	1.795253195257501e+00
+	1.500031834713532e+00
+	1.800000000000000e+00
+	-3.827224979223025e-03
+816		7.914999999999927e-09
+	1.797246351047631e+00
+	1.409659296640157e+00
+	1.800000000000000e+00
+	-3.859330469094223e-03
+817		7.924999999999927e-09
+	1.798424555443542e+00
+	1.320873286598245e+00
+	1.800000000000000e+00
+	-3.859193176371999e-03
+818		7.934999999999927e-09
+	1.799072484841508e+00
+	1.236551680982433e+00
+	1.800000000000000e+00
+	-3.806349644457744e-03
+819		7.944999999999927e-09
+	1.799466014006692e+00
+	1.158346154288286e+00
+	1.800000000000000e+00
+	-3.752075967859250e-03
+820		7.954999999999926e-09
+	1.799577057701033e+00
+	1.087923721277145e+00
+	1.800000000000000e+00
+	-3.705145816125980e-03
+821		7.964999999999926e-09
+	1.799680000964368e+00
+	1.027446180397004e+00
+	1.800000000000000e+00
+	-3.626479692228349e-03
+822		7.974999999999926e-09
+	1.799737202482639e+00
+	9.727866050194444e-01
+	1.800000000000000e+00
+	-3.555494226121243e-03
+823		7.984999999999926e-09
+	1.799779792438763e+00
+	9.130106696872706e-01
+	1.800000000000000e+00
+	-3.557651475280848e-03
+824		7.994999999999925e-09
+	1.799756376865813e+00
+	8.453374901766163e-01
+	1.800000000000000e+00
+	-3.597287836115315e-03
+825		8.004999999999925e-09
+	1.799787065874268e+00
+	7.752917427965802e-01
+	1.800000000000000e+00
+	-3.671846755342239e-03
+826		8.014999999999925e-09
+	1.799786930444566e+00
+	7.077418116336714e-01
+	1.800000000000000e+00
+	-3.744067215219359e-03
+827		8.024999999999925e-09
+	1.799822596050674e+00
+	6.462429066296265e-01
+	1.800000000000000e+00
+	-3.818359352707100e-03
+828		8.034999999999924e-09
+	1.799829040526132e+00
+	5.923124814393059e-01
+	1.800000000000000e+00
+	-3.856047319304635e-03
+829		8.044999999999924e-09
+	1.799860809918232e+00
+	5.464251109932236e-01
+	1.800000000000000e+00
+	-3.863106679406528e-03
+830		8.054999999999924e-09
+	1.799869987201362e+00
+	5.083558622433431e-01
+	1.800000000000000e+00
+	-3.815785184286150e-03
+831		8.064999999999924e-09
+	1.799893431310639e+00
+	4.775388917959174e-01
+	1.800000000000000e+00
+	-3.760356310372478e-03
+832		8.074999999999923e-09
+	1.799874617126334e+00
+	4.528660459858280e-01
+	1.800000000000000e+00
+	-3.712549184116698e-03
+833		8.084999999999923e-09
+	1.799859235362276e+00
+	4.331346384579924e-01
+	1.800000000000000e+00
+	-3.641983402639924e-03
+834		8.094999999999923e-09
+	1.799869296234516e+00
+	4.175130569951245e-01
+	1.800000000000000e+00
+	-3.561145209078282e-03
+835		8.104999999999923e-09
+	1.799848447141022e+00
+	4.051839232989304e-01
+	1.800000000000000e+00
+	-3.554461627851433e-03
+836		8.114999999999922e-09
+	1.799750105195518e+00
+	3.953423054925623e-01
+	1.800000000000000e+00
+	-3.588259411327081e-03
+837		8.124999999999922e-09
+	1.799711388360218e+00
+	3.874561235421708e-01
+	1.800000000000000e+00
+	-3.659649430595133e-03
+838		8.134999999999922e-09
+	1.799720483089331e+00
+	3.809285272840627e-01
+	1.800000000000000e+00
+	-3.732531851679704e-03
+839		8.144999999999922e-09
+	1.799806915703834e+00
+	3.753756972084579e-01
+	1.800000000000000e+00
+	-3.808149281796733e-03
+840		8.154999999999921e-09
+	1.799950482277124e+00
+	3.705035038460572e-01
+	1.800000000000000e+00
+	-3.852431078958343e-03
+841		8.164999999999921e-09
+	1.800204801675041e+00
+	3.660919441289811e-01
+	1.800000000000000e+00
+	-3.865162626794841e-03
+842		8.174999999999921e-09
+	1.800663727879916e+00
+	3.619157405308486e-01
+	1.800000000000000e+00
+	-3.825428581748682e-03
+843		8.184999999999921e-09
+	1.801563883810415e+00
+	3.577487991010380e-01
+	1.800000000000000e+00
+	-3.768564984097411e-03
+844		8.194999999999921e-09
+	1.803272907571745e+00
+	3.535923582038618e-01
+	1.800000000000000e+00
+	-3.719555310058263e-03
+845		8.204999999999920e-09
+	1.804687335650154e+00
+	3.498911644580295e-01
+	1.800000000000000e+00
+	-3.656848759245354e-03
+846		8.214999999999920e-09
+	1.805083277000561e+00
+	3.473885920691286e-01
+	1.800000000000000e+00
+	-3.569124518484967e-03
+847		8.224999999999920e-09
+	1.804828456470522e+00
+	3.472748435005340e-01
+	1.800000000000000e+00
+	-3.551961638015198e-03
+848		8.234999999999920e-09
+	1.804036256920131e+00
+	3.519333862013851e-01
+	1.800000000000000e+00
+	-3.580471818105950e-03
+849		8.244999999999919e-09
+	1.803156328580052e+00
+	3.653707416112548e-01
+	1.800000000000000e+00
+	-3.647187581148847e-03
+850		8.254999999999919e-09
+	1.802593609476894e+00
+	3.938669169621485e-01
+	1.800000000000000e+00
+	-3.721387648780482e-03
+851		8.264999999999919e-09
+	1.802535360130185e+00
+	4.494435954670307e-01
+	1.800000000000000e+00
+	-3.796865111192046e-03
+852		8.274999999999919e-09
+	1.803108998801051e+00
+	5.541989972804886e-01
+	1.800000000000000e+00
+	-3.848326024711768e-03
+853		8.284999999999918e-09
+	1.804555131936327e+00
+	7.307345121436937e-01
+	1.800000000000000e+00
+	-3.865554407206586e-03
+854		8.294999999999918e-09
+	1.807284339832701e+00
+	9.673275205056882e-01
+	1.800000000000000e+00
+	-3.834892429477750e-03
+855		8.304999999999918e-09
+	1.811146220860704e+00
+	1.225184255298247e+00
+	1.800000000000000e+00
+	-3.776735217873943e-03
+856		8.314999999999918e-09
+	1.814032803355584e+00
+	1.442536297727810e+00
+	1.800000000000000e+00
+	-3.726526870745982e-03
+857		8.324999999999917e-09
+	1.814298093785014e+00
+	1.585231334361433e+00
+	1.800000000000000e+00
+	-3.670540239876079e-03
+858		8.334999999999917e-09
+	1.809833684989855e+00
+	1.672879642920388e+00
+	1.800000000000000e+00
+	-3.579387576725600e-03
+859		8.344999999999917e-09
+	1.794934820384429e+00
+	1.727463157206566e+00
+	1.800000000000000e+00
+	-3.550384520477961e-03
+860		8.354999999999917e-09
+	1.762569558512029e+00
+	1.759857007429124e+00
+	1.800000000000000e+00
+	-3.573802317722950e-03
+861		8.364999999999916e-09
+	1.709746685122933e+00
+	1.777910354999470e+00
+	1.800000000000000e+00
+	-3.634766398611666e-03
+862		8.374999999999916e-09
+	1.638903556878293e+00
+	1.787853883968884e+00
+	1.800000000000000e+00
+	-3.710423960111077e-03
+863		8.384999999999916e-09
+	1.555747440244675e+00
+	1.793162113023836e+00
+	1.800000000000000e+00
+	-3.784883116761817e-03
+864		8.394999999999916e-09
+	1.466488907913706e+00
+	1.796166035968143e+00
+	1.800000000000000e+00
+	-3.843471743668826e-03
+865		8.404999999999915e-09
+	1.376275333537765e+00
+	1.797730750121378e+00
+	1.800000000000000e+00
+	-3.864611627042162e-03
+866		8.414999999999915e-09
+	1.288891019371896e+00
+	1.798734264512076e+00
+	1.800000000000000e+00
+	-3.843705126512167e-03
+867		8.424999999999915e-09
+	1.206695345218679e+00
+	1.799227273025526e+00
+	1.800000000000000e+00
+	-3.785021698679782e-03
+868		8.434999999999915e-09
+	1.131122396215598e+00
+	1.799550277159342e+00
+	1.800000000000000e+00
+	-3.733755200195628e-03
+869		8.444999999999914e-09
+	1.064258099005906e+00
+	1.799590536522431e+00
+	1.800000000000000e+00
+	-3.682647742893583e-03
+870		8.454999999999914e-09
+	1.007065434875358e+00
+	1.799726849704761e+00
+	1.800000000000000e+00
+	-3.591763573664950e-03
+871		8.464999999999914e-09
+	9.516302128731845e-01
+	1.799740407350303e+00
+	1.800000000000000e+00
+	-3.549938072969785e-03
+872		8.474999999999914e-09
+	8.885229326458893e-01
+	1.799788251215004e+00
+	1.800000000000000e+00
+	-3.568156293525770e-03
+873		8.484999999999914e-09
+	8.192794775559535e-01
+	1.799749469709554e+00
+	1.800000000000000e+00
+	-3.622658247239460e-03
+874		8.494999999999913e-09
+	7.496567413230044e-01
+	1.799802643848481e+00
+	1.800000000000000e+00
+	-3.699443754152179e-03
+875		8.504999999999913e-09
+	6.840450761675129e-01
+	1.799784855786503e+00
+	1.800000000000000e+00
+	-3.772543175962524e-03
+876		8.514999999999913e-09
+	6.252664740339908e-01
+	1.799839304204770e+00
+	1.800000000000000e+00
+	-3.837634540717333e-03
+877		8.524999999999913e-09
+	5.743081152627729e-01
+	1.799827616184447e+00
+	1.800000000000000e+00
+	-3.862658102455385e-03
+878		8.534999999999912e-09
+	5.313791900318705e-01
+	1.799876484236979e+00
+	1.800000000000000e+00
+	-3.851443490224261e-03
+879		8.544999999999912e-09
+	4.960954573001731e-01
+	1.799868961221839e+00
+	1.800000000000000e+00
+	-3.793571865639651e-03
+880		8.554999999999912e-09
+	4.677133302900046e-01
+	1.799900668650273e+00
+	1.800000000000000e+00
+	-3.741423526775370e-03
+881		8.564999999999912e-09
+	4.450121190330847e-01
+	1.799856687389750e+00
+	1.800000000000000e+00
+	-3.692981135149745e-03
+882		8.574999999999911e-09
+	4.268837785028602e-01
+	1.799869235097188e+00
+	1.800000000000000e+00
+	-3.605911051649261e-03
+883		8.584999999999911e-09
+	4.125807164716973e-01
+	1.799864082383579e+00
+	1.800000000000000e+00
+	-3.550858150519853e-03
+884		8.594999999999911e-09
+	4.012700210584297e-01
+	1.799820769316992e+00
+	1.800000000000000e+00
+	-3.563432067990422e-03
+885		8.604999999999911e-09
+	3.922074760816678e-01
+	1.799720213895065e+00
+	1.800000000000000e+00
+	-3.611118648634544e-03
+886		8.614999999999910e-09
+	3.848992834884600e-01
+	1.799714980628878e+00
+	1.800000000000000e+00
+	-3.688272219368992e-03
+887		8.624999999999910e-09
+	3.787642288287915e-01
+	1.799738008773877e+00
+	1.800000000000000e+00
+	-3.760140913300280e-03
+888		8.634999999999910e-09
+	3.734985944173550e-01
+	1.799858389773720e+00
+	1.800000000000000e+00
+	-3.830625703489264e-03
+889		8.644999999999910e-09
+	3.688200740981037e-01
+	1.800023180822107e+00
+	1.800000000000000e+00
+	-3.859975655615685e-03
+890		8.654999999999909e-09
+	3.645241520113389e-01
+	1.800347690227201e+00
+	1.800000000000000e+00
+	-3.857758298269177e-03
+891		8.664999999999909e-09
+	3.603748170110970e-01
+	1.800928025757139e+00
+	1.800000000000000e+00
+	-3.802478895953915e-03
+892		8.674999999999909e-09
+	3.561824880006128e-01
+	1.802079986286567e+00
+	1.800000000000000e+00
+	-3.749503243391141e-03
+893		8.684999999999909e-09
+	3.521343287151378e-01
+	1.803962222300370e+00
+	1.800000000000000e+00
+	-3.701737344510079e-03
+894		8.694999999999908e-09
+	3.487680826576087e-01
+	1.804942283632717e+00
+	1.800000000000000e+00
+	-3.621187521651698e-03
+895		8.704999999999908e-09
+	3.469728545993038e-01
+	1.805030094524057e+00
+	1.800000000000000e+00
+	-3.553513802486132e-03
+896		8.714999999999908e-09
+	3.482768708192094e-01
+	1.804604613365970e+00
+	1.800000000000000e+00
+	-3.559448726642547e-03
+897		8.724999999999908e-09
+	3.556408736125455e-01
+	1.803667480338474e+00
+	1.800000000000000e+00
+	-3.600464432020731e-03
+898		8.734999999999907e-09
+	3.737602511594268e-01
+	1.802914445219111e+00
+	1.800000000000000e+00
+	-3.676717868575621e-03
+899		8.744999999999907e-09
+	4.104517493403571e-01
+	1.802492028113995e+00
+	1.800000000000000e+00
+	-3.747977698660070e-03
+900		8.754999999999907e-09
+	4.811852304677576e-01
+	1.802676933701639e+00
+	1.800000000000000e+00
+	-3.822277062726788e-03
+901		8.764999999999907e-09
+	6.113439171990976e-01
+	1.803518605091036e+00
+	1.800000000000000e+00
+	-3.856821733828770e-03
+902		8.774999999999907e-09
+	8.132305228413454e-01
+	1.805401892483439e+00
+	1.800000000000000e+00
+	-3.862355198346891e-03
+903		8.784999999999906e-09
+	1.063975211809937e+00
+	1.808670990594606e+00
+	1.800000000000000e+00
+	-3.811782749305256e-03
+904		8.794999999999906e-09
+	1.313839904682745e+00
+	1.812455221225884e+00
+	1.800000000000000e+00
+	-3.757774682805373e-03
+905		8.804999999999906e-09
+	1.504049479045964e+00
+	1.814488042537665e+00
+	1.800000000000000e+00
+	-3.709406372617163e-03
+906		8.814999999999906e-09
+	1.622658516368424e+00
+	1.813411741372157e+00
+	1.800000000000000e+00
+	-3.636775288599385e-03
+907		8.824999999999905e-09
+	1.696341800267996e+00
+	1.805914551376510e+00
+	1.800000000000000e+00
+	-3.558297710777434e-03
+908		8.834999999999905e-09
+	1.741629050105261e+00
+	1.785222143790528e+00
+	1.800000000000000e+00
+	-3.556052242520707e-03
+909		8.844999999999905e-09
+	1.767866578460430e+00
+	1.745283024103693e+00
+	1.800000000000000e+00
+	-3.590975929108480e-03
+910		8.854999999999905e-09
+	1.782315210165268e+00
+	1.685229247048450e+00
+	1.800000000000000e+00
+	-3.664678358617373e-03
+911		8.864999999999904e-09
+	1.790220279737267e+00
+	1.609064313597350e+00
+	1.800000000000000e+00
+	-3.736268121856976e-03
+912		8.874999999999904e-09
+	1.794485120053162e+00
+	1.522948835817144e+00
+	1.800000000000000e+00
+	-3.812540467282197e-03
+913		8.884999999999904e-09
+	1.796860736268252e+00
+	1.432807712059214e+00
+	1.800000000000000e+00
+	-3.853339563269583e-03
+914		8.894999999999904e-09
+	1.798161711294248e+00
+	1.343281304846136e+00
+	1.800000000000000e+00
+	-3.865084268837809e-03
+915		8.904999999999903e-09
+	1.798955007358190e+00
+	1.257619630323223e+00
+	1.800000000000000e+00
+	-3.821387971976110e-03
+916		8.914999999999903e-09
+	1.799376766695249e+00
+	1.177728929744705e+00
+	1.800000000000000e+00
+	-3.766013352614470e-03
+917		8.924999999999903e-09
+	1.799576201836625e+00
+	1.105080089840680e+00
+	1.800000000000000e+00
+	-3.716514381653561e-03
+918		8.934999999999903e-09
+	1.799637528199423e+00
+	1.042010183207054e+00
+	1.800000000000000e+00
+	-3.651936043875186e-03
+919		8.944999999999902e-09
+	1.799739892682123e+00
+	9.868837597231834e-01
+	1.800000000000000e+00
+	-3.565430978122639e-03
+920		8.954999999999902e-09
+	1.799762364252806e+00
+	9.292183188837423e-01
+	1.800000000000000e+00
+	-3.553262441357589e-03
+921		8.964999999999902e-09
+	1.799771845766856e+00
+	8.631411259282306e-01
+	1.800000000000000e+00
+	-3.582742956286934e-03
+922		8.974999999999902e-09
+	1.799768180909014e+00
+	7.931714449461122e-01
+	1.800000000000000e+00
+	-3.652277418357091e-03
+923		8.984999999999901e-09
+	1.799796314037403e+00
+	7.245787660610457e-01
+	1.800000000000000e+00
+	-3.725003001916233e-03
+924		8.994999999999901e-09
+	1.799804082873315e+00
+	6.613071035780448e-01
+	1.800000000000000e+00
+	-3.801608944557347e-03
+925		9.004999999999901e-09
+	1.799836263079134e+00
+	6.053684529530245e-01
+	1.800000000000000e+00
+	-3.849445603711833e-03
+926		9.014999999999901e-09
+	1.799844391682947e+00
+	5.574167147728353e-01
+	1.800000000000000e+00
+	-3.866054289038189e-03
+927		9.024999999999900e-09
+	1.799875393654878e+00
+	5.173873494648659e-01
+	1.800000000000000e+00
+	-3.830974354037582e-03
+928		9.034999999999900e-09
+	1.799881803010616e+00
+	4.847945451850371e-01
+	1.800000000000000e+00
+	-3.774181005632350e-03
+929		9.044999999999900e-09
+	1.799889280700700e+00
+	4.586667986630529e-01
+	1.800000000000000e+00
+	-3.723463954943875e-03
+930		9.054999999999900e-09
+	1.799853549079933e+00
+	4.377731292311580e-01
+	1.800000000000000e+00
+	-3.666114179550450e-03
+931		9.064999999999900e-09
+	1.799871915005767e+00
+	4.211685404833174e-01
+	1.800000000000000e+00
+	-3.574867007441315e-03
+932		9.074999999999899e-09
+	1.799857761661958e+00
+	4.080707242260509e-01
+	1.800000000000000e+00
+	-3.551315695014435e-03
+933		9.084999999999899e-09
+	1.799779166704939e+00
+	3.976601005519758e-01
+	1.800000000000000e+00
+	-3.575674770419988e-03
+934		9.094999999999899e-09
+	1.799710304814931e+00
+	3.893207123059073e-01
+	1.800000000000000e+00
+	-3.639803840069240e-03
+935		9.104999999999899e-09
+	1.799716833331864e+00
+	3.824979933466062e-01
+	1.800000000000000e+00
+	-3.714000138103753e-03
+936		9.114999999999898e-09
+	1.799774108987773e+00
+	3.767212795748852e-01
+	1.800000000000000e+00
+	-3.789839389839270e-03
+937		9.124999999999898e-09
+	1.799910720219443e+00
+	3.717002166050615e-01
+	1.800000000000000e+00
+	-3.844900920814661e-03
+938		9.134999999999898e-09
+	1.800121389642607e+00
+	3.671898983479271e-01
+	1.800000000000000e+00
+	-3.865562494510497e-03
+939		9.144999999999898e-09
+	1.800519877257470e+00
+	3.629762340810020e-01
+	1.800000000000000e+00
+	-3.840083759287358e-03
+940		9.154999999999897e-09
+	1.801274185491967e+00
+	3.588243420715743e-01
+	1.800000000000000e+00
+	-3.782402614607490e-03
+941		9.164999999999897e-09
+	1.802758439750060e+00
+	3.546337896713977e-01
+	1.800000000000000e+00
+	-3.730570103812070e-03
+942		9.174999999999897e-09
+	1.804452492106991e+00
+	3.507629442225387e-01
+	1.800000000000000e+00
+	-3.678843940511085e-03
+943		9.184999999999897e-09
+	1.805072569890987e+00
+	3.478614321091882e-01
+	1.800000000000000e+00
+	-3.586490783190141e-03
+944		9.194999999999896e-09
+	1.804929791397346e+00
+	3.469704687520926e-01
+	1.800000000000000e+00
+	-3.550426039522225e-03
+945		9.204999999999896e-09
+	1.804287347042798e+00
+	3.500971797700837e-01
+	1.800000000000000e+00
+	-3.569662158781715e-03
+946		9.214999999999896e-09
+	1.803344686944222e+00
+	3.608093016497970e-01
+	1.800000000000000e+00
+	-3.627549171509216e-03
+947		9.224999999999896e-09
+	1.802706295606721e+00
+	3.846341168977493e-01
+	1.800000000000000e+00
+	-3.703048729319982e-03
+948		9.234999999999895e-09
+	1.802485226635777e+00
+	4.316189564967721e-01
+	1.800000000000000e+00
+	-3.777593963620185e-03
+949		9.244999999999895e-09
+	1.802898780504408e+00
+	5.211297914200712e-01
+	1.800000000000000e+00
+	-3.839452978931608e-03
+950		9.254999999999895e-09
+	1.804076420688786e+00
+	6.788581474221238e-01
+	1.800000000000000e+00
+	-3.863945611627628e-03
+951		9.264999999999895e-09
+	1.806443495182939e+00
+	9.026982348072821e-01
+	1.800000000000000e+00
+	-3.848265639019654e-03
+952		9.274999999999894e-09
+	1.810152168873304e+00
+	1.160622648126580e+00
+	1.800000000000000e+00
+	-3.790839190709346e-03
+953		9.284999999999894e-09
+	1.813504115270686e+00
+	1.393739656485089e+00
+	1.800000000000000e+00
+	-3.738068886628926e-03
+954		9.294999999999894e-09
+	1.814540680583394e+00
+	1.555226700021719e+00
+	1.800000000000000e+00
+	-3.689829423496513e-03
+955		9.304999999999894e-09
+	1.811677242454548e+00
+	1.654162816402496e+00
+	1.800000000000000e+00
+	-3.600044269388571e-03
+956		9.314999999999893e-09
+	1.800160212954404e+00
+	1.715963661494221e+00
+	1.800000000000000e+00
+	-3.550803095732277e-03
+957		9.324999999999893e-09
+	1.772776549916677e+00
+	1.753209482157509e+00
+	1.800000000000000e+00
+	-3.564616320638671e-03
+958		9.334999999999893e-09
+	1.725149361177692e+00
+	1.774267791446193e+00
+	1.800000000000000e+00
+	-3.615763611746613e-03
+959		9.344999999999893e-09
+	1.658445792485421e+00
+	1.785855028585285e+00
+	1.800000000000000e+00
+	-3.691972073535169e-03
+960		9.354999999999893e-09
+	1.577831694733731e+00
+	1.792089740658523e+00
+	1.800000000000000e+00
+	-3.765177498564575e-03
+961		9.364999999999892e-09
+	1.489587415000527e+00
+	1.795563685697562e+00
+	1.800000000000000e+00
+	-3.832900813371789e-03
+962		9.374999999999892e-09
+	1.399203924349876e+00
+	1.797404925941773e+00
+	1.800000000000000e+00
+	-3.861498487430523e-03
+963		9.384999999999892e-09
+	1.310816722242079e+00
+	1.798531198831854e+00
+	1.800000000000000e+00
+	-3.855146733860656e-03
+964		9.394999999999892e-09
+	1.227137596059235e+00
+	1.799121617374273e+00
+	1.800000000000000e+00
+	-3.799603815057325e-03
+965		9.404999999999891e-09
+	1.149727149667387e+00
+	1.799498927410152e+00
+	1.800000000000000e+00
+	-3.746017025421854e-03
+966		9.414999999999891e-09
+	1.080376848085188e+00
+	1.799578286610426e+00
+	1.800000000000000e+00
+	-3.699119458174076e-03
+967		9.424999999999891e-09
+	1.021013400973133e+00
+	1.799697713649633e+00
+	1.800000000000000e+00
+	-3.614997772636210e-03
+968		9.434999999999891e-09
+	9.662915609177470e-01
+	1.799736385745548e+00
+	1.800000000000000e+00
+	-3.552764907012864e-03
+969		9.444999999999890e-09
+	9.054796276928646e-01
+	1.799785241318621e+00
+	1.800000000000000e+00
+	-3.560385782649943e-03
+970		9.454999999999890e-09
+	8.372210605757167e-01
+	1.799751500197458e+00
+	1.800000000000000e+00
+	-3.604740368903372e-03
+971		9.464999999999890e-09
+	7.672410713335679e-01
+	1.799794170802611e+00
+	1.800000000000000e+00
+	-3.680582792773502e-03
+972		9.474999999999890e-09
+	7.002457127224433e-01
+	1.799784121292487e+00
+	1.800000000000000e+00
+	-3.752889627089827e-03
+973		9.484999999999889e-09
+	6.395803192256839e-01
+	1.799829774070006e+00
+	1.800000000000000e+00
+	-3.825065941243032e-03
+974		9.494999999999889e-09
+	5.865714903139330e-01
+	1.799826813576674e+00
+	1.800000000000000e+00
+	-3.858489900428274e-03
+975		9.504999999999889e-09
+	5.416134614803727e-01
+	1.799867328278279e+00
+	1.800000000000000e+00
+	-3.860409991760394e-03
+976		9.514999999999889e-09
+	5.044219844688880e-01
+	1.799868284385942e+00
+	1.800000000000000e+00
+	-3.808759202466521e-03
+977		9.524999999999888e-09
+	4.743845061378970e-01
+	1.799897458251430e+00
+	1.800000000000000e+00
+	-3.754251579477183e-03
+978		9.534999999999888e-09
+	4.503454355997581e-01
+	1.799867987092157e+00
+	1.800000000000000e+00
+	-3.707122810369462e-03
+979		9.544999999999888e-09
+	4.311229228394181e-01
+	1.799862626220865e+00
+	1.800000000000000e+00
+	-3.630567661723739e-03
+980		9.554999999999888e-09
+	4.159263314749818e-01
+	1.799867672132868e+00
+	1.800000000000000e+00
+	-3.556722449111435e-03
+981		9.564999999999887e-09
+	4.039282198833426e-01
+	1.799841738191298e+00
+	1.800000000000000e+00
+	-3.556782404364527e-03
+982		9.574999999999887e-09
+	3.943350843786200e-01
+	1.799738736952564e+00
+	1.800000000000000e+00
+	-3.594796634633858e-03
+983		9.584999999999887e-09
+	3.866400741176190e-01
+	1.799712619882836e+00
+	1.800000000000000e+00
+	-3.668723568655657e-03
+984		9.594999999999887e-09
+	3.802387943929066e-01
+	1.799724056475034e+00
+	1.800000000000000e+00
+	-3.740997925717178e-03
+985		9.604999999999886e-09
+	3.747806027807473e-01
+	1.799822807396835e+00
+	1.800000000000000e+00
+	-3.815835841484791e-03
+986		9.614999999999886e-09
+	3.699714932078901e-01
+	1.799970841342867e+00
+	1.800000000000000e+00
+	-3.855123630644302e-03
+987		9.624999999999886e-09
+	3.655996792235219e-01
+	1.800246656871880e+00
+	1.800000000000000e+00
+	-3.863833794875911e-03
+988		9.634999999999886e-09
+	3.614352512818369e-01
+	1.800738321276500e+00
+	1.800000000000000e+00
+	-3.818275722799368e-03
+989		9.644999999999886e-09
+	3.572597342819079e-01
+	1.801710418273697e+00
+	1.800000000000000e+00
+	-3.762521291527779e-03
+990		9.654999999999885e-09
+	3.531295758559395e-01
+	1.803501811831912e+00
+	1.800000000000000e+00
+	-3.714381366052621e-03
+991		9.664999999999885e-09
+	3.495205820643004e-01
+	1.804777050284127e+00
+	1.800000000000000e+00
+	-3.645960267333023e-03
+992		9.674999999999885e-09
+	3.472212157009838e-01
+	1.805073248527405e+00
+	1.800000000000000e+00
+	-3.562982848552509e-03
+993		9.684999999999885e-09
+	3.475104649985920e-01
+	1.804769292085536e+00
+	1.800000000000000e+00
+	-3.553748765152315e-03
+994		9.694999999999884e-09
+	3.529488309263130e-01
+	1.803919499015156e+00
+	1.800000000000000e+00
+	-3.586100723171608e-03
+995		9.704999999999884e-09
+	3.677493767218779e-01
+	1.803077502063399e+00
+	1.800000000000000e+00
+	-3.656430695674984e-03
+996		9.714999999999884e-09
+	3.986070336069286e-01
+	1.802553089141485e+00
+	1.800000000000000e+00
+	-3.729580754093715e-03
+997		9.724999999999884e-09
+	4.585522805702891e-01
+	1.802571199095944e+00
+	1.800000000000000e+00
+	-3.805312508341056e-03
+998		9.734999999999883e-09
+	5.708573479634880e-01
+	1.803222517165982e+00
+	1.800000000000000e+00
+	-3.851401883861592e-03
+999		9.744999999999883e-09
+	7.556161387100679e-01
+	1.804799502106518e+00
+	1.800000000000000e+00
+	-3.865428995775185e-03
+1000		9.754999999999883e-09
+	9.972451798214613e-01
+	1.807698539536773e+00
+	1.800000000000000e+00
+	-3.827915725057620e-03
+1001		9.764999999999883e-09
+	1.253612638825992e+00
+	1.811576121857806e+00
+	1.800000000000000e+00
+	-3.770709451601662e-03
+1002		9.774999999999882e-09
+	1.462912149374369e+00
+	1.814215660292627e+00
+	1.800000000000000e+00
+	-3.721347077567545e-03
+1003		9.784999999999882e-09
+	1.597628006919593e+00
+	1.814097073473774e+00
+	1.800000000000000e+00
+	-3.660565538755656e-03
+1004		9.794999999999882e-09
+	1.680647707059082e+00
+	1.808783565810438e+00
+	1.800000000000000e+00
+	-3.571569444836548e-03
+1005		9.804999999999882e-09
+	1.732187386757369e+00
+	1.792185875450270e+00
+	1.800000000000000e+00
+	-3.551468674499110e-03
+1006		9.814999999999881e-09
+	1.762552040136713e+00
+	1.757489671582547e+00
+	1.800000000000000e+00
+	-3.578613656957916e-03
+1007		9.824999999999881e-09
+	1.779388273152736e+00
+	1.702362082328848e+00
+	1.800000000000000e+00
+	-3.643949615957607e-03
+1008		9.834999999999881e-09
+	1.788655412603148e+00
+	1.629768346497078e+00
+	1.800000000000000e+00
+	-3.718504739736928e-03
+1009		9.844999999999881e-09
+	1.793602315118351e+00
+	1.545596888853422e+00
+	1.800000000000000e+00
+	-3.793809938693609e-03
+1010		9.854999999999880e-09
+	1.796403820567773e+00
+	1.455990497298658e+00
+	1.800000000000000e+00
+	-3.847127124741005e-03
+1011		9.864999999999880e-09
+	1.797870258315702e+00
+	1.365937769931679e+00
+	1.800000000000000e+00
+	-3.865439444310338e-03
+1012		9.874999999999880e-09
+	1.798811772895998e+00
+	1.279059335213992e+00
+	1.800000000000000e+00
+	-3.837255050710325e-03
+1013		9.884999999999880e-09
+	1.799274790285632e+00
+	1.197564538397172e+00
+	1.800000000000000e+00
+	-3.778893489391804e-03
+1014		9.894999999999879e-09
+	1.799563790486031e+00
+	1.122868477469205e+00
+	1.800000000000000e+00
+	-3.728360107415159e-03
+1015		9.904999999999879e-09
+	1.799601698537060e+00
+	1.057173657154200e+00
+	1.800000000000000e+00
+	-3.673878754295498e-03
+1016		9.914999999999879e-09
+	1.799734460670171e+00
+	1.000784939190727e+00
+	1.800000000000000e+00
+	-3.582403453133977e-03
+1017		9.924999999999879e-09
+	1.799745515966393e+00
+	9.447890494948178e-01
+	1.800000000000000e+00
+	-3.550167328649962e-03
+1018		9.934999999999879e-09
+	1.799785314997641e+00
+	8.806882225936731e-01
+	1.800000000000000e+00
+	-3.572219018265160e-03
+1019		9.944999999999878e-09
+	1.799752911383298e+00
+	8.111327420444630e-01
+	1.800000000000000e+00
+	-3.631585977284085e-03
+1020		9.954999999999878e-09
+	1.799802749409491e+00
+	7.417671585474621e-01
+	1.800000000000000e+00
+	-3.707554149460135e-03
+1021		9.964999999999878e-09
+	1.799788804609961e+00
+	6.768483302959182e-01
+	1.800000000000000e+00
+	-3.781704471508876e-03
+1022		9.974999999999878e-09
+	1.799840281588190e+00
+	6.189443107902098e-01
+	1.800000000000000e+00
+	-3.842036938535607e-03
+1023		9.984999999999877e-09
+	1.799831055657256e+00
+	5.689220360738784e-01
+	1.800000000000000e+00
+	-3.864203744064905e-03
+1024		9.994999999999877e-09
+	1.799877807385038e+00
+	5.269038674809134e-01
+	1.800000000000000e+00
+	-3.845825262784571e-03
+1025		1.000000000000000e-08
+	1.799864128299574e+00
+	5.087865049709742e-01
+	1.800000000000000e+00
+	-3.817470741212248e-03
diff --git a/xschem/vco_2-4GHz/tests/spiceinterface_temp.spice b/xschem/vco_2-4GHz/tests/spiceinterface_temp.spice
new file mode 100644
index 0000000..51e4fbe
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/spiceinterface_temp.spice
@@ -0,0 +1,87 @@
+**.subckt vco_2-4GHz_tb
+V1 vctl 0 vctl
+Vdd net1 0 vdd
+xvco net1 Ip In Qp Qn NCp NCn FBp FBn vctl 0 vco_2-4GHz
+**** begin user architecture code
+
+
+.param temp=125.000000
+.temp 125.000000
+
+.save v(ip) v(in) v(vctl) i(vdd)
+
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM04W5p00L0p35.spice
+.lib sky130_fd_pr/models/sky130.lib.spice lh
+.tran 0.01n 10n uic
+.param vdd=1.800000
+.param vctl=1.800000
+
+
+**** end user architecture code
+**.ends
+
+* expanding   symbol:  vco_2-4GHz/vco_2-4GHz.sym # of pins=11
+
+.subckt vco_2-4GHz  VDD ph1_p ph1_n ph2_p ph2_n ph3_p ph3_n ph4_p ph4_n CTL GND
+*.ipin CTL
+*.iopin VDD
+*.iopin GND
+*.opin ph3_p
+*.opin ph3_n
+*.opin ph4_p
+*.opin ph4_n
+*.opin ph2_p
+*.opin ph2_n
+*.opin ph1_p
+*.opin ph1_n
+x1 VDD net2 net1 net7 net8 GND CTL vco_2-4Ghz_delaycell
+x2 VDD net4 net3 net2 net1 GND CTL vco_2-4Ghz_delaycell
+x3 VDD net6 net5 net4 net3 GND CTL vco_2-4Ghz_delaycell
+x4 VDD net8 net7 net6 net5 GND CTL vco_2-4Ghz_delaycell
+x5 VDD ph1_p ph1_n net1 net2 GND rf_bufferdiff
+x6 VDD ph2_p ph2_n net3 net4 GND rf_bufferdiff
+x7 VDD ph3_p ph3_n net5 net6 GND rf_bufferdiff
+x8 VDD ph4_p ph4_n net7 net8 GND rf_bufferdiff
+I0 GND GND pulse(1000n 0 0 400p 100p 100p 10 20 0)
+.ends
+
+
+* expanding   symbol:  vco_2-4GHz_delaycell/vco_2-4Ghz_delaycell.sym # of pins=7
+
+.subckt vco_2-4Ghz_delaycell  VDD OUTn OUTp Pn Pp GND CTL
+*.ipin Pp
+*.ipin Pn
+*.opin OUTn
+*.opin OUTp
+*.iopin VDD
+*.iopin GND
+*.ipin CTL
+XXMprimpos OUTp Pp GND GND sky130_fd_pr__rf_nfet_01v8_bM04W5p00L0p15 m=3
+XXMcrossneg OUTn OUTp GND GND sky130_fd_pr__rf_nfet_01v8_bM02W3p00L0p15 m=1
+XXMctlneg OUTn CTL VDD VDD sky130_fd_pr__rf_pfet_01v8_lvt_aM04W5p00L0p35 m=1
+XXMctlpos OUTp CTL VDD VDD sky130_fd_pr__rf_pfet_01v8_lvt_aM04W5p00L0p35 m=1
+XXMcrosspos OUTp OUTn GND GND sky130_fd_pr__rf_nfet_01v8_bM02W3p00L0p15 m=1
+XXMprimneg OUTn Pn GND GND sky130_fd_pr__rf_nfet_01v8_bM04W5p00L0p15 m=3
+XXMctlpos1 net2 GND VDD VDD sky130_fd_pr__rf_pfet_01v8_bM02W5p00L0p15 m=1
+XXMctlneg1 net1 GND VDD VDD sky130_fd_pr__rf_pfet_01v8_bM02W5p00L0p15 m=1
+XXMctlpos2 OUTp GND net2 VDD sky130_fd_pr__rf_pfet_01v8_bM02W5p00L0p15 m=1
+XXMctlneg2 OUTn GND net1 VDD sky130_fd_pr__rf_pfet_01v8_bM02W5p00L0p15 m=1
+.ends
+
+
+* expanding   symbol:  rf_bufferdiff/rf_bufferdiff.sym # of pins=6
+
+.subckt rf_bufferdiff  vdd out_n out_p in_p in_n vss
+*.iopin vdd
+*.iopin vss
+*.ipin in_p
+*.ipin in_n
+*.opin out_n
+*.opin out_p
+XXMdiffp out_n in_p vss vss sky130_fd_pr__rf_nfet_01v8_bM02W1p65L0p15 m=1
+XXMdiffn out_p in_n vss vss sky130_fd_pr__rf_nfet_01v8_bM02W1p65L0p15 m=1
+XRn vdd out_n vss sky130_fd_pr__res_xhigh_po_2p85 m=1
+XRp vdd out_p vss sky130_fd_pr__res_xhigh_po_2p85 m=1
+.ends
+
+.end
diff --git a/xschem/vco_2-4GHz/tests/transfer_model.ods b/xschem/vco_2-4GHz/tests/transfer_model.ods
new file mode 100644
index 0000000..78c3264
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/transfer_model.ods
Binary files differ
diff --git a/xschem/vco_2-4GHz/tests/vco_2-4GHz_behavourial_square_tb.sch b/xschem/vco_2-4GHz/tests/vco_2-4GHz_behavourial_square_tb.sch
new file mode 100644
index 0000000..bded039
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/vco_2-4GHz_behavourial_square_tb.sch
@@ -0,0 +1,34 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {}
+V {}
+S {}
+E {}
+N 100 -40 120 -40 {lab=Ip}
+N 100 -20 120 -20 {lab=In}
+N 100 20 120 20 {lab=Qp}
+N 100 40 120 40 {lab=Qn}
+N 0 -120 -0 -80 {lab=#net1}
+N -290 -120 -0 -120 {lab=#net1}
+N -290 -120 -290 -30 {lab=#net1}
+N -290 30 -290 130 {lab=0}
+N -290 130 -0 130 {lab=0}
+N -0 80 0 130 {lab=0}
+N -170 100 -170 130 {lab=0}
+N -170 -0 -170 40 {lab=#net2}
+N -170 -0 -100 -0 {lab=#net2}
+C {lab_wire.sym} 100 -40 0 1 {name=l1 sig_type=std_logic lab=Ip}
+C {lab_wire.sym} 100 -20 0 1 {name=l2 sig_type=std_logic lab=In}
+C {lab_wire.sym} 100 20 0 1 {name=l3 sig_type=std_logic lab=Qp}
+C {lab_wire.sym} 100 40 0 1 {name=l4 sig_type=std_logic lab=Qn}
+C {vsource.sym} -170 70 0 0 {name=V1 value=0.9}
+C {vsource.sym} -290 0 0 0 {name=V2 value=1.8}
+C {gnd.sym} -290 130 0 0 {name=l5 lab=0}
+C {code.sym} 80 -250 0 0 {name=STIMULI
+tclcommand="xschem edit_vi_prop"
+value="
+.include "xh018_ng/xh018.lib"
+.temp 30
+.param vctl=0.9
+.tran  0.1e-9 1e-6 uic
+"}
+C {vco_quad/vco_quad_behavourial_square.sym} 0 0 0 0 {}
diff --git a/xschem/vco_2-4GHz/tests/vco_2-4GHz_behavourial_tb.sch b/xschem/vco_2-4GHz/tests/vco_2-4GHz_behavourial_tb.sch
new file mode 100644
index 0000000..8f71242
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/vco_2-4GHz_behavourial_tb.sch
@@ -0,0 +1,34 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {}
+V {}
+S {}
+E {}
+N 100 -40 120 -40 {lab=Ip}
+N 100 -20 120 -20 {lab=In}
+N 100 20 120 20 {lab=Qp}
+N 100 40 120 40 {lab=Qn}
+N 0 -120 -0 -80 {lab=#net1}
+N -290 -120 -0 -120 {lab=#net1}
+N -290 -120 -290 -30 {lab=#net1}
+N -290 30 -290 130 {lab=0}
+N -290 130 -0 130 {lab=0}
+N -0 80 0 130 {lab=0}
+N -170 100 -170 130 {lab=0}
+N -170 -0 -170 40 {lab=#net2}
+N -170 -0 -100 -0 {lab=#net2}
+C {vco_quad/vco_quad_behavourial.sym} 0 0 0 0 {name=xvco}
+C {lab_wire.sym} 100 -40 0 1 {name=l1 sig_type=std_logic lab=Ip}
+C {lab_wire.sym} 100 -20 0 1 {name=l2 sig_type=std_logic lab=In}
+C {lab_wire.sym} 100 20 0 1 {name=l3 sig_type=std_logic lab=Qp}
+C {lab_wire.sym} 100 40 0 1 {name=l4 sig_type=std_logic lab=Qn}
+C {vsource.sym} -170 70 0 0 {name=V1 value=0.0}
+C {vsource.sym} -290 0 0 0 {name=V2 value=1.8}
+C {gnd.sym} -290 130 0 0 {name=l5 lab=0}
+C {code.sym} 80 -250 0 0 {name=STIMULI
+tclcommand="xschem edit_vi_prop"
+value="
+.include "xh018_ng/xh018.lib"
+.temp 30
+.param vctl=0.9
+.tran  0.1e-9 1e-6 uic
+"}
diff --git a/xschem/vco_2-4GHz/tests/vco_2-4GHz_corners.hdf5 b/xschem/vco_2-4GHz/tests/vco_2-4GHz_corners.hdf5
new file mode 100644
index 0000000..588ae17
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/vco_2-4GHz_corners.hdf5
Binary files differ
diff --git a/xschem/vco_2-4GHz/tests/vco_2-4GHz_tb.sch b/xschem/vco_2-4GHz/tests/vco_2-4GHz_tb.sch
new file mode 100644
index 0000000..20eb662
--- /dev/null
+++ b/xschem/vco_2-4GHz/tests/vco_2-4GHz_tb.sch
@@ -0,0 +1,142 @@
+v {xschem version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N -440 -600 -440 -300 {lab=#net1}
+N -440 -240 -440 0 {lab=0}
+N -130 -0 330 0 {lab=0}
+N -360 -270 -360 -150 {lab=vctl}
+N -360 -270 -260 -270 {lab=vctl}
+N -360 -90 -360 0 {lab=0}
+N 0 -290 80 -290 {lab=Qn}
+N 0 -310 80 -310 {lab=Qp}
+N 0 -190 230 -190 {lab=FBn}
+N 0 -210 230 -210 {lab=FBp}
+N 330 -140 330 0 {lab=0}
+N 430 -190 440 -190 {lab=0}
+N 440 -190 440 0 {lab=0}
+N 330 0 440 0 {lab=0}
+N 430 -210 440 -210 {lab=0}
+N 440 -210 440 -190 {lab=0}
+N -130 -150 -130 -0 {lab=0}
+N 0 -340 80 -340 {lab=In}
+N 0 -360 80 -360 {lab=Ip}
+N -440 -600 -130 -600 {lab=#net1}
+N -440 0 -360 0 {lab=0}
+N -360 0 -130 -0 {lab=0}
+N 0 -240 80 -240 {lab=NCn}
+N 0 -260 80 -260 {lab=NCp}
+N 330 -600 330 -260 {lab=#net1}
+N -130 -600 330 -600 {lab=#net1}
+N -130 -470 -130 -400 { lab=#net2}
+N -130 -500 -110 -500 { lab=#net1}
+N -110 -600 -110 -500 { lab=#net1}
+N -130 -600 -130 -530 { lab=#net1}
+N -590 -500 -570 -500 { lab=#net1}
+N -570 -600 -570 -500 { lab=#net1}
+N -590 -600 -590 -530 { lab=#net1}
+N -590 -600 -570 -600 { lab=#net1}
+N -570 -600 -430 -600 { lab=#net1}
+N -590 -470 -590 -390 { lab=#net3}
+N -590 -330 -590 -0 { lab=0}
+N -590 -0 -440 -0 { lab=0}
+N 80 -310 160 -310 { lab=Qp}
+N 160 -360 160 -310 { lab=Qp}
+N 160 -360 220 -360 { lab=Qp}
+N 220 -360 220 -330 { lab=Qp}
+N 80 -290 160 -290 { lab=Qn}
+N 160 -290 160 -240 { lab=Qn}
+N 160 -240 220 -240 { lab=Qn}
+N 220 -270 220 -240 { lab=Qn}
+C {vsource.sym} -360 -120 0 0 {name=V1 value="vctl"}
+C {vsource.sym} -440 -270 0 0 {name=Vdd value=vdd}
+C {lab_wire.sym} 40 -290 0 1 {name=l1 sig_type=std_logic lab=Qn}
+C {lab_wire.sym} 40 -310 0 1 {name=l2 sig_type=std_logic lab=Qp}
+C {lab_wire.sym} 40 -190 0 1 {name=l3 sig_type=std_logic lab=FBn}
+C {lab_wire.sym} 40 -210 0 1 {name=l4 sig_type=std_logic lab=FBp}
+C {lab_wire.sym} -440 0 0 1 {name=l5 sig_type=std_logic lab=0}
+C {code.sym} 370 -420 0 0 {name=STIMULI
+tclcommand="xschem edit_vi_prop"
+value="
+.param temp=27
+.temp 27
+
+*.save v(ip) v(in) v(vctl) i(vdd)
+
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aM04W5p00L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aM02W3p00L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15.spice
+
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM04W5p00L0p35.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM04W3p00L0p35.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM04W5p00L0p35.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM04W5p00L0p50.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM02W3p00L0p35.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM02W5p00L0p35.spice
+
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W1p65L0p15.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W3p00L0p15.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W5p00L0p15.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W3p00L0p25.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W5p00L0p25.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aF04W2p00L0p15.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aF04W3p00L0p15.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W1p65L0p25.spice
+
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aF06W3p00L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aF06W1p65L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aF04W1p65L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aF02W1p65L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aF02W0p84L0p15.spice
+
+
+.lib sky130_fd_pr/models/sky130.lib.spice tt
+*.include sky130_fd_pr/models/corners/tt.spice
+
+
+.tran 0.01n 10n uic
+.param vdd=1.8
+.param vctl=0.2
+"}
+C {vco_2-4GHz/vco_2-4GHz.sym} -130 -270 0 0 {name=xvco}
+C {lab_wire.sym} 40 -340 0 1 {name=l8 sig_type=std_logic lab=In}
+C {lab_wire.sym} 40 -360 0 1 {name=l9 sig_type=std_logic lab=Ip}
+C {noconn.sym} 80 -360 2 0 {name=l10}
+C {noconn.sym} 80 -340 2 0 {name=l11}
+C {lab_wire.sym} 40 -240 0 1 {name=l12 sig_type=std_logic lab=NCn}
+C {lab_wire.sym} 40 -260 0 1 {name=l13 sig_type=std_logic lab=NCp}
+C {noconn.sym} 80 -260 2 0 {name=l14}
+C {noconn.sym} 80 -240 2 0 {name=l15}
+C {lab_wire.sym} -360 -270 0 1 {name=l16 sig_type=std_logic lab=vctl}
+C {sky130_fd_pr/pfet_01v8_lvt.sym} -150 -500 0 0 {name=M1
+L=0.35
+W=7
+ad="'W * 0.29'" pd="'2 * (W + 0.29)'"
+as="'W * 0.29'" ps="'2 * (W + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+nf=1 mult=64
+model=pfet_01v8_lvt
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_01v8_lvt.sym} -610 -500 0 0 {name=M2
+L=0.35
+W=7
+ad="'W * 0.29'" pd="'2 * (W + 0.29)'"
+as="'W * 0.29'" ps="'2 * (W + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+nf=1 mult=64
+model=pfet_01v8_lvt
+spiceprefix=X
+}
+C {ammeter.sym} -590 -360 0 0 {name=Vmeas}
+C {lab_wire.sym} -630 -500 0 0 {name=l17 sig_type=std_logic lab=0}
+C {lab_wire.sym} -170 -500 0 0 {name=l18 sig_type=std_logic lab=0}
+C {res.sym} 220 -300 0 0 {name=R1
+value=100
+footprint=1206
+device=resistor
+m=1}
diff --git a/xschem/vco_2-4GHz/vco_2-4GHz.sch b/xschem/vco_2-4GHz/vco_2-4GHz.sch
new file mode 100644
index 0000000..6890061
--- /dev/null
+++ b/xschem/vco_2-4GHz/vco_2-4GHz.sch
@@ -0,0 +1,125 @@
+v {xschem version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N 340 -150 470 -150 {lab=1p}
+N 360 -130 470 -130 {lab=1n}
+N 695 -150 830 -150 {lab=2p}
+N 715 -130 830 -130 {lab=2n}
+N 1055 -150 1190 -150 {lab=3p}
+N 1075 -130 1190 -130 {lab=4n}
+N 1400 -150 1450 -150 {lab=4n}
+N 1450 -150 1470 -130 {lab=4n}
+N 1420 -130 1450 -130 {lab=4p}
+N 1450 -130 1470 -150 {lab=4p}
+N 1470 -130 1490 -130 {lab=4n}
+N 1490 -130 1490 -20 {lab=4n}
+N 60 -20 1490 -20 {lab=4n}
+N 60 -130 110 -130 {lab=4n}
+N 1470 -150 1490 -150 {lab=4p}
+N 1490 -260 1490 -150 {lab=4p}
+N 60 -150 110 -150 {lab=4p}
+N 60 -260 1490 -260 {lab=4p}
+N 170 -280 170 -200 {lab=CTL}
+N 540 -80 540 0 {lab=GND}
+N 900 -80 900 0 {lab=GND}
+N 1260 -80 1260 0 {lab=GND}
+N 450 0 540 0 {lab=GND}
+N 180 -80 180 0 {lab=GND}
+N 810 0 900 0 {lab=GND}
+N 1170 -0 1260 0 {lab=GND}
+N 170 -280 530 -280 {lab=CTL}
+N 530 -280 890 -280 {lab=CTL}
+N 890 -280 1250 -280 {lab=CTL}
+N 450 -700 560 -700 {lab=VDD}
+N 810 -700 920 -700 {lab=VDD}
+N 1170 -700 1280 -700 {lab=VDD}
+N 530 -280 530 -200 {lab=CTL}
+N 560 -700 560 -200 {lab=VDD}
+N 890 -280 890 -200 {lab=CTL}
+N 920 -700 920 -200 {lab=VDD}
+N 1250 -280 1250 -200 {lab=CTL}
+N 1280 -700 1280 -200 {lab=VDD}
+N 0 -280 170 -280 {lab=CTL}
+N 0 -700 200 -700 {lab=VDD}
+N 1400 -340 1400 -150 {lab=4n}
+N 1075 -420 1075 -130 {lab=4n}
+N 1055 -440 1055 -150 {lab=3p}
+N 715 -510 715 -130 {lab=2n}
+N 695 -530 695 -150 {lab=2p}
+N 1280 -700 1550 -700 {lab=VDD}
+N 360 -620 360 -130 {lab=1n}
+N 340 -640 340 -150 {lab=1p}
+N 1610 -340 1710 -340 {lab=ph4_p}
+N 1610 -320 1710 -320 {lab=ph4_n}
+N 1230 -440 1710 -440 {lab=ph3_p}
+N 1230 -420 1710 -420 {lab=ph3_n}
+N 870 -530 1710 -530 {lab=ph2_p}
+N 870 -510 1710 -510 {lab=ph2_n}
+N 510 -640 1715 -640 {lab=ph1_p}
+N 510 -620 1715 -620 {lab=ph1_n}
+N 1350 -150 1400 -150 {lab=4n}
+N 1350 -130 1420 -130 {lab=4p}
+N 630 -150 695 -150 {lab=2p}
+N 630 -130 715 -130 {lab=2n}
+N 270 -150 340 -150 {lab=1p}
+N 270 -130 360 -130 {lab=1n}
+N 990 -150 1055 -150 {lab=3p}
+N 990 -130 1075 -130 {lab=4n}
+N 560 -700 810 -700 {lab=VDD}
+N 360 -620 380 -620 {lab=1n}
+N 340 -640 380 -640 {lab=1p}
+N 450 -590 450 0 {lab=GND}
+N 450 -700 450 -670 {lab=VDD}
+N 180 0 450 0 {lab=GND}
+N 200 -700 450 -700 {lab=VDD}
+N 695 -530 740 -530 {lab=2p}
+N 715 -510 740 -510 {lab=2n}
+N 810 -700 810 -560 {lab=VDD}
+N 810 -480 810 0 {lab=GND}
+N 1170 -390 1170 -0 {lab=GND}
+N 1055 -440 1100 -440 {lab=3p}
+N 1075 -420 1100 -420 {lab=4n}
+N 540 0 810 0 {lab=GND}
+N 900 0 1170 -0 {lab=GND}
+N 1170 -700 1170 -470 {lab=VDD}
+N 920 -700 1170 -700 {lab=VDD}
+N 1420 -320 1480 -320 {lab=4p}
+N 1420 -320 1420 -130 {lab=4p}
+N 1400 -340 1480 -340 {lab=4n}
+N 1260 -0 1550 -0 {lab=GND}
+N 1550 -290 1550 -0 {lab=GND}
+N 1550 -700 1550 -370 {lab=VDD}
+N 0 0 180 0 {lab=GND}
+N 200 -700 200 -200 { lab=VDD}
+N 60 -260 60 -150 { lab=4p}
+N 60 -130 60 -20 { lab=4n}
+C {vco_2-4GHz_delaycell/vco_2-4GHz_delaycell.sym} 180 -140 0 0 {name=x1}
+C {vco_2-4GHz_delaycell/vco_2-4GHz_delaycell.sym} 540 -140 0 0 {name=x2}
+C {vco_2-4GHz_delaycell/vco_2-4GHz_delaycell.sym} 900 -140 0 0 {name=x3}
+C {vco_2-4GHz_delaycell/vco_2-4GHz_delaycell.sym} 1260 -140 0 0 {name=x4}
+C {ipin.sym} 0 -280 0 0 {name=p1 lab=CTL}
+C {iopin.sym} 0 -700 0 1 {name=p6 lab=VDD}
+C {iopin.sym} 0 0 0 1 {name=p7 lab=GND}
+C {opin.sym} 1710 -440 0 0 {name=p2 lab=ph3_p}
+C {opin.sym} 1710 -420 0 0 {name=p3 lab=ph3_n}
+C {opin.sym} 1710 -340 0 0 {name=p4 lab=ph4_p}
+C {opin.sym} 1710 -320 0 0 {name=p5 lab=ph4_n}
+C {rf_bufferdiff/rf_bufferdiff.sym} 450 -630 0 0 {name=x5}
+C {rf_bufferdiff/rf_bufferdiff.sym} 810 -520 0 0 {name=x6}
+C {rf_bufferdiff/rf_bufferdiff.sym} 1170 -430 0 0 {name=x7}
+C {rf_bufferdiff/rf_bufferdiff.sym} 1550 -330 0 0 {name=x8}
+C {opin.sym} 1710 -530 0 0 {name=p8 lab=ph2_p}
+C {opin.sym} 1710 -510 0 0 {name=p9 lab=ph2_n}
+C {opin.sym} 1715 -640 0 0 {name=p10 lab=ph1_p}
+C {opin.sym} 1715 -620 0 0 {name=p11 lab=ph1_n}
+C {lab_wire.sym} 470 -150 0 0 {name=l1 sig_type=std_logic lab=1p}
+C {lab_wire.sym} 470 -130 2 1 {name=l2 sig_type=std_logic lab=1n}
+C {lab_wire.sym} 830 -150 0 0 {name=l3 sig_type=std_logic lab=2p}
+C {lab_wire.sym} 830 -130 2 1 {name=l4 sig_type=std_logic lab=2n}
+C {lab_wire.sym} 1190 -150 0 0 {name=l5 sig_type=std_logic lab=3p}
+C {lab_wire.sym} 1190 -130 2 1 {name=l6 sig_type=std_logic lab=3n}
+C {lab_wire.sym} 110 -150 0 0 {name=l7 sig_type=std_logic lab=4p}
+C {lab_wire.sym} 110 -130 2 1 {name=l8 sig_type=std_logic lab=4n}
diff --git a/xschem/vco_2-4GHz/vco_2-4GHz.sym b/xschem/vco_2-4GHz/vco_2-4GHz.sym
new file mode 100644
index 0000000..7ab3724
--- /dev/null
+++ b/xschem/vco_2-4GHz/vco_2-4GHz.sym
@@ -0,0 +1,49 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {type=subcircuit
+format="@name @pinlist @symname"
+template="name=xvco"}
+V {}
+S {}
+E {}
+L 4 -110 -110 110 -110 {}
+L 4 -110 100 110 100 {}
+L 4 -110 -110 -110 100 {}
+L 4 110 -110 110 100 {}
+L 4 110 -90 130 -90 {}
+L 4 110 -70 130 -70 {}
+L 4 110 -40 130 -40 {}
+L 4 110 -20 130 -20 {}
+L 4 110 10 130 10 {}
+L 4 110 30 130 30 {}
+L 4 110 60 130 60 {}
+L 4 110 80 130 80 {}
+L 4 -130 0 -110 0 {}
+L 7 0 -130 0 -110 {}
+L 7 0 100 0 120 {}
+B 5 -2.5 -132.5 2.5 -127.5 {name=VDD dir=inout }
+B 5 127.5 -92.5 132.5 -87.5 {name=ph1_p dir=out }
+B 5 127.5 -72.5 132.5 -67.5 {name=ph1_n dir=out }
+B 5 127.5 -42.5 132.5 -37.5 {name=ph2_p dir=out }
+B 5 127.5 -22.5 132.5 -17.5 {name=ph2_n dir=out }
+B 5 127.5 7.5 132.5 12.5 {name=ph3_p dir=out }
+B 5 127.5 27.5 132.5 32.5 {name=ph3_n dir=out }
+B 5 127.5 57.5 132.5 62.5 {name=ph4_p dir=out }
+B 5 127.5 77.5 132.5 82.5 {name=ph4_n dir=out }
+B 5 -132.5 -2.5 -127.5 2.5 {name=CTL dir=in }
+B 5 -2.5 117.5 2.5 122.5 {name=GND dir=inout }
+A 4 15 -5 15.8113883008419 198.434948822922 143.130102354156 {}
+A 4 -15 5 15.8113883008419 18.43494882292204 143.130102354156 {}
+A 4 0 -1.25 40.0195264839553 358.2100893917539 360 {}
+T {@symname} 27 124 0 0 0.3 0.3 {}
+T {@name} 25 108 0 0 0.2 0.2 {}
+T {VDD} 6 -105 0 1 0.2 0.2 {}
+T {ph1_p} 105 -94 0 1 0.2 0.2 {}
+T {ph1_n} 105 -74 0 1 0.2 0.2 {}
+T {ph2_p} 105 -44 0 1 0.2 0.2 {}
+T {ph2_n} 105 -24 0 1 0.2 0.2 {}
+T {ph3_p} 105 6 0 1 0.2 0.2 {}
+T {ph3_n} 105 26 0 1 0.2 0.2 {}
+T {ph4_p} 105 56 0 1 0.2 0.2 {}
+T {ph4_n} 105 76 0 1 0.2 0.2 {}
+T {CTL} -105 -4 0 0 0.2 0.2 {}
+T {GND} -16 95 2 1 0.2 0.2 {}
diff --git a/xschem/vco_2-4GHz/vco_2-4GHz_behavourial.sch b/xschem/vco_2-4GHz/vco_2-4GHz_behavourial.sch
new file mode 100644
index 0000000..5bdd636
--- /dev/null
+++ b/xschem/vco_2-4GHz/vco_2-4GHz_behavourial.sch
@@ -0,0 +1,44 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {}
+V {}
+S {}
+E {}
+N 630 -110 630 0 {lab=GND}
+N 440 0 630 0 {lab=GND}
+N 0 0 440 0 {lab=GND}
+N 480 -180 480 -100 {lab=phase}
+N 480 -40 480 0 {lab=GND}
+N 630 -280 630 -170 {lab=Ip}
+N 630 -280 790 -280 {lab=Ip}
+N 480 -300 480 -240 {lab=VDD}
+N 0 -300 480 -300 {lab=VDD}
+N 1000 -110 1000 0 {lab=GND}
+N 1000 -280 1000 -170 {lab=In}
+N 1000 -280 1160 -280 {lab=In}
+N 1380 -110 1380 0 {lab=GND}
+N 1380 -280 1380 -170 {lab=Qp}
+N 1380 -280 1540 -280 {lab=Qp}
+N 1750 -110 1750 0 {lab=GND}
+N 1750 -280 1750 -170 {lab=Qn}
+N 1750 -280 1910 -280 {lab=Qn}
+N 630 0 1000 0 {lab=GND}
+N 1000 0 1380 0 {lab=GND}
+N 1380 0 1750 0 {lab=GND}
+C {ipin.sym} 0 -230 0 0 {name=p1 lab=CTL}
+C {iopin.sym} 0 -300 0 1 {name=p6 lab=VDD}
+C {iopin.sym} 0 0 0 1 {name=p7 lab=GND}
+C {opin.sym} 790 -280 0 0 {name=p2 lab=Ip}
+C {opin.sym} 1160 -280 0 0 {name=p3 lab=In}
+C {opin.sym} 1540 -280 0 0 {name=p4 lab=Qp}
+C {opin.sym} 1910 -280 0 0 {name=p5 lab=Qn}
+C {capa.sym} 480 -70 0 0 {name=C1
+m=1
+value=1
+footprint=1206
+device="ceramic capacitor"}
+C {lab_wire.sym} 480 -130 0 1 {name=l1 sig_type=std_logic lab=phase}
+C {bsource.sym} 480 -210 0 1 {name=B2 VAR=I FUNC="-546e3*v(ctl,gnd)^3 + 2.8e6*v(ctl,gnd)^2 - 4.6e6*v(ctl,gnd) + 5.65e6"}
+C {bsource.sym} 630 -140 0 0 {name=B1 VAR=V FUNC="0.5*v(vdd)*cos(6.283185307*v(phase,gnd))+0.5*v(vdd)"}
+C {bsource.sym} 1000 -140 0 0 {name=B3 VAR=V FUNC="-1*0.5*v(vdd)*cos(6.283185307*v(phase,gnd))+0.5*v(vdd)"}
+C {bsource.sym} 1380 -140 0 0 {name=B4 VAR=V FUNC="0.5*v(vdd)*sin(6.283185307*v(phase,gnd))+0.5*v(vdd)"}
+C {bsource.sym} 1750 -140 0 0 {name=B5 VAR=V FUNC="-1*0.5*v(vdd)*sin(6.283185307*v(phase,gnd))+0.5*v(vdd)"}
diff --git a/xschem/vco_2-4GHz/vco_2-4GHz_behavourial.sym b/xschem/vco_2-4GHz/vco_2-4GHz_behavourial.sym
new file mode 100644
index 0000000..cd0b86f
--- /dev/null
+++ b/xschem/vco_2-4GHz/vco_2-4GHz_behavourial.sym
@@ -0,0 +1,36 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {type=subcircuit
+format="@name @pinlist @symname"}
+V {}
+S {}
+E {}
+L 4 -80 -60 80 -60 {}
+L 4 -80 60 80 60 {}
+L 4 -80 -60 -80 60 {}
+L 4 80 -60 80 60 {}
+L 4 -100 0 -80 0 {}
+L 4 80 -40 100 -40 {}
+L 4 80 -20 100 -20 {}
+L 4 80 20 100 20 {}
+L 4 80 40 100 40 {}
+L 7 0 -80 0 -60 {}
+L 7 0 60 0 80 {}
+B 5 -2.5 -82.5 2.5 -77.5 {name=VDD dir=inout }
+B 5 -102.5 -2.5 -97.5 2.5 {name=CTL dir=in }
+B 5 97.5 -42.5 102.5 -37.5 {name=Ip dir=out }
+B 5 97.5 -22.5 102.5 -17.5 {name=In dir=out }
+B 5 97.5 17.5 102.5 22.5 {name=Qp dir=out }
+B 5 97.5 37.5 102.5 42.5 {name=Qn dir=out }
+B 5 -2.5 77.5 2.5 82.5 {name=GND dir=inout }
+A 4 15 -5 15.8113883008419 198.434948822922 143.130102354156 {}
+A 4 -15 5 15.8113883008419 18.43494882292204 143.130102354156 {}
+A 4 0 -1.25 40.0195264839553 358.2100893917539 360 {}
+T {@symname} 16 84 0 0 0.3 0.3 {}
+T {@name} 15 68 0 0 0.2 0.2 {}
+T {VDD} 10 -57 0 1 0.2 0.2 {}
+T {CTL} -75 -4 0 0 0.2 0.2 {}
+T {Ip} 75 -44 0 1 0.2 0.2 {}
+T {In} 75 -24 0 1 0.2 0.2 {}
+T {Qp} 75 16 0 1 0.2 0.2 {}
+T {Qn} 75 36 0 1 0.2 0.2 {}
+T {GND} -12 57 2 1 0.2 0.2 {}
diff --git a/xschem/vco_2-4GHz/vco_2-4GHz_behavourial_square.sch b/xschem/vco_2-4GHz/vco_2-4GHz_behavourial_square.sch
new file mode 100644
index 0000000..73298ff
--- /dev/null
+++ b/xschem/vco_2-4GHz/vco_2-4GHz_behavourial_square.sch
@@ -0,0 +1,44 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {}
+V {}
+S {}
+E {}
+N 630 -110 630 0 {lab=GND}
+N 440 0 630 0 {lab=GND}
+N 0 0 440 0 {lab=GND}
+N 480 -180 480 -100 {lab=phase}
+N 480 -40 480 0 {lab=GND}
+N 630 -280 630 -170 {lab=Ip}
+N 630 -280 790 -280 {lab=Ip}
+N 480 -300 480 -240 {lab=VDD}
+N 0 -300 480 -300 {lab=VDD}
+N 1000 -110 1000 0 {lab=GND}
+N 1000 -280 1000 -170 {lab=In}
+N 1000 -280 1160 -280 {lab=In}
+N 1380 -110 1380 0 {lab=GND}
+N 1380 -280 1380 -170 {lab=Qp}
+N 1380 -280 1540 -280 {lab=Qp}
+N 1750 -110 1750 0 {lab=GND}
+N 1750 -280 1750 -170 {lab=Qn}
+N 1750 -280 1910 -280 {lab=Qn}
+N 630 0 1000 0 {lab=GND}
+N 1000 0 1380 0 {lab=GND}
+N 1380 0 1750 0 {lab=GND}
+C {ipin.sym} 0 -230 0 0 {name=p1 lab=CTL}
+C {iopin.sym} 0 -300 0 1 {name=p6 lab=VDD}
+C {iopin.sym} 0 0 0 1 {name=p7 lab=GND}
+C {opin.sym} 790 -280 0 0 {name=p2 lab=Ip}
+C {opin.sym} 1160 -280 0 0 {name=p3 lab=In}
+C {opin.sym} 1540 -280 0 0 {name=p4 lab=Qp}
+C {opin.sym} 1910 -280 0 0 {name=p5 lab=Qn}
+C {capa.sym} 480 -70 0 0 {name=C1
+m=1
+value=1
+footprint=1206
+device="ceramic capacitor"}
+C {lab_wire.sym} 480 -130 0 1 {name=l1 sig_type=std_logic lab=phase}
+C {bsource.sym} 480 -210 0 1 {name=B2 VAR=I FUNC="-17500000*v(ctl,gnd)^3 + 89500000*v(ctl,gnd)^2 - 146000000*v(ctl,gnd) + 181000000"}
+C {bsource.sym} 630 -140 0 0 {name=B1 VAR=V FUNC="0.5*v(vdd)*(((2*v(phase,gnd)%2)\\\\1)+0.5*v(vdd)"}
+C {bsource.sym} 1000 -140 0 0 {name=B3 VAR=V FUNC="-1*0.5*v(vdd)*cos(6.283185307*v(phase,gnd))+0.5*v(vdd)"}
+C {bsource.sym} 1380 -140 0 0 {name=B4 VAR=V FUNC="0.5*v(vdd)*sin(6.283185307*v(phase,gnd))+0.5*v(vdd)"}
+C {bsource.sym} 1750 -140 0 0 {name=B5 VAR=V FUNC="-1*0.5*v(vdd)*sin(6.283185307*v(phase,gnd))+0.5*v(vdd)"}
diff --git a/xschem/vco_2-4GHz/vco_2-4GHz_behavourial_square.sym b/xschem/vco_2-4GHz/vco_2-4GHz_behavourial_square.sym
new file mode 100644
index 0000000..cd0b86f
--- /dev/null
+++ b/xschem/vco_2-4GHz/vco_2-4GHz_behavourial_square.sym
@@ -0,0 +1,36 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {type=subcircuit
+format="@name @pinlist @symname"}
+V {}
+S {}
+E {}
+L 4 -80 -60 80 -60 {}
+L 4 -80 60 80 60 {}
+L 4 -80 -60 -80 60 {}
+L 4 80 -60 80 60 {}
+L 4 -100 0 -80 0 {}
+L 4 80 -40 100 -40 {}
+L 4 80 -20 100 -20 {}
+L 4 80 20 100 20 {}
+L 4 80 40 100 40 {}
+L 7 0 -80 0 -60 {}
+L 7 0 60 0 80 {}
+B 5 -2.5 -82.5 2.5 -77.5 {name=VDD dir=inout }
+B 5 -102.5 -2.5 -97.5 2.5 {name=CTL dir=in }
+B 5 97.5 -42.5 102.5 -37.5 {name=Ip dir=out }
+B 5 97.5 -22.5 102.5 -17.5 {name=In dir=out }
+B 5 97.5 17.5 102.5 22.5 {name=Qp dir=out }
+B 5 97.5 37.5 102.5 42.5 {name=Qn dir=out }
+B 5 -2.5 77.5 2.5 82.5 {name=GND dir=inout }
+A 4 15 -5 15.8113883008419 198.434948822922 143.130102354156 {}
+A 4 -15 5 15.8113883008419 18.43494882292204 143.130102354156 {}
+A 4 0 -1.25 40.0195264839553 358.2100893917539 360 {}
+T {@symname} 16 84 0 0 0.3 0.3 {}
+T {@name} 15 68 0 0 0.2 0.2 {}
+T {VDD} 10 -57 0 1 0.2 0.2 {}
+T {CTL} -75 -4 0 0 0.2 0.2 {}
+T {Ip} 75 -44 0 1 0.2 0.2 {}
+T {In} 75 -24 0 1 0.2 0.2 {}
+T {Qp} 75 16 0 1 0.2 0.2 {}
+T {Qn} 75 36 0 1 0.2 0.2 {}
+T {GND} -12 57 2 1 0.2 0.2 {}
diff --git a/xschem/vco_2-4GHz_delaycell/tests/vco_2-4GHz_delaycell_ac_test.sch b/xschem/vco_2-4GHz_delaycell/tests/vco_2-4GHz_delaycell_ac_test.sch
new file mode 100644
index 0000000..5267373
--- /dev/null
+++ b/xschem/vco_2-4GHz_delaycell/tests/vco_2-4GHz_delaycell_ac_test.sch
@@ -0,0 +1,126 @@
+v {xschem version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N 500 -220 510 -220 { lab=GND}
+N 500 -220 500 0 { lab=GND}
+N 390 -260 390 -120 { lab=#net1}
+N 390 -260 510 -260 { lab=#net1}
+N 550 -290 550 -270 { lab=#net2}
+N 550 -290 620 -290 { lab=#net2}
+N 620 -250 640 -250 { lab=#net2}
+N 620 -290 620 -250 { lab=#net2}
+N 550 -210 550 -190 { lab=#net3}
+N 550 -190 620 -190 { lab=#net3}
+N 620 -230 640 -230 { lab=#net3}
+N 620 -230 620 -190 { lab=#net3}
+N 390 -60 390 0 { lab=GND}
+N 390 0 500 0 { lab=GND}
+N 100 0 390 0 { lab=GND}
+N 0 -230 0 0 { lab=GND}
+N 100 -230 100 0 { lab=GND}
+N 100 -340 100 -290 { lab=#net4}
+N 100 -340 700 -340 { lab=#net4}
+N 700 -340 700 -300 { lab=#net4}
+N 0 -470 730 -470 { lab=#net5}
+N 0 -470 0 -290 { lab=#net5}
+N 710 -180 710 0 { lab=GND}
+N 500 0 710 0 { lab=GND}
+N 710 0 1170 0 { lab=GND}
+N 1170 -180 1170 0 { lab=GND}
+N 1160 -340 1160 -300 { lab=#net4}
+N 700 -340 1160 -340 { lab=#net4}
+N 730 -470 1190 -470 { lab=#net5}
+N 1190 -470 1190 -300 { lab=#net5}
+N 0 0 100 0 { lab=GND}
+N 800 -250 1100 -250 { lab=#net6}
+N 800 -230 1100 -230 { lab=#net7}
+N 990 -140 1020 -140 { lab=#net7}
+N 970 -100 1020 -100 { lab=#net6}
+N 1060 -90 1060 0 { lab=GND}
+N 350 -190 550 -190 { lab=#net3}
+N 350 -290 550 -290 { lab=#net2}
+N 170 -60 170 0 { lab=GND}
+N 170 -290 170 -120 { lab=#net8}
+N 170 -290 290 -290 { lab=#net8}
+N 170 -190 290 -190 { lab=#net8}
+N 990 -230 990 -140 { lab=#net7}
+N 970 -250 970 -100 { lab=#net6}
+N 730 -380 730 -300 { lab=#net9}
+N 730 -470 730 -440 { lab=#net5}
+N 570 120 600 120 { lab=GND}
+N 600 120 600 190 { lab=GND}
+N 260 190 600 190 { lab=GND}
+N 260 0 260 190 { lab=GND}
+N 570 150 570 190 { lab=GND}
+N 280 120 530 120 { lab=#net8}
+N 280 -190 280 120 { lab=#net8}
+N 570 -470 570 30 { lab=#net5}
+C {code.sym} 1050 -610 0 0 {name=STIMULI
+tclcommand="xschem edit_vi_prop"
+value="
+.param temp=27
+.temp 27
+
+
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aM04W5p00L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aM02W3p00L0p15.spice
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aM02W1p65L0p15.spice
+.include sky130_fd_pr/cells/rf_pfet_01v8_lvt/sky130_fd_pr__rf_pfet_01v8_lvt_aM04W5p00L0p35.spice
+
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aM02W5p00L0p25.spice
+
+.include sky130_fd_pr/cells/rf_nfet_01v8_lvt/sky130_fd_pr__rf_nfet_01v8_lvt_aF06W3p00L0p15.spice
+
+.include sky130_fd_pr/cells/rf_pfet_01v8/sky130_fd_pr__rf_pfet_01v8_aF02W2p00L0p15.spice
+
+
+*.lib sky130_fd_pr/models/sky130.lib.spice tt
+.include sky130_fd_pr/models/corners/tt.spice
+
+*.option savecurrents
+
+.save i(Vmeas)
+.save i(Vmeas1)
+
+
+.op
+.ac dec 10 1 100G
+
+.param vdd=1.8
+.param vctl=1.8
+"}
+C {vco_2-4GHz_delaycell/vco_2-4Ghz_delaycell.sym} 710 -240 0 0 {name=x1}
+C {vsource.sym} 100 -260 0 0 {name=V1 value="vctl"}
+C {vsource.sym} 0 -260 0 0 {name=Vdd value=vdd}
+C {vsource.sym} 390 -90 0 0 {name=V2 value="dc=0 ac=1"}
+C {vcvs.sym} 550 -240 0 0 {name=E1 value=1}
+C {vsource.sym} 170 -90 0 0 {name=V3 value="dc=\{vdd/2\} ac=0"}
+C {vco_2-4GHz_delaycell/vco_2-4Ghz_delaycell.sym} 1170 -240 0 0 {name=x2}
+C {vcvs.sym} 1060 -120 0 0 {name=E2 value=1}
+C {res.sym} 320 -190 1 0 {name=R1
+value="1u ac=1G"
+footprint=1206
+device=resistor
+m=1}
+C {res.sym} 320 -290 1 0 {name=R2
+value="1u ac=1G"
+footprint=1206
+device=resistor
+m=1}
+C {gnd.sym} 0 0 0 0 {name=l1 lab=GND}
+C {lab_wire.sym} 1060 -150 0 1 {name=l2 sig_type=std_logic lab=ac}
+C {noconn.sym} 1260 -250 0 1 {name=l3}
+C {noconn.sym} 1260 -230 0 1 {name=l4}
+C {spice_probe.sym} 350 -290 0 0 {name=p1 analysis=tran voltage=0.9}
+C {spice_probe.sym} 350 -190 0 0 {name=p2 analysis=tran voltage=0.9}
+C {spice_probe.sym} 1010 -250 0 0 {name=p3 analysis=tran voltage=0.03406}
+C {spice_probe.sym} 1010 -230 2 1 {name=p5 analysis=tran voltage=0.03406}
+C {spice_probe.sym} 1060 -150 0 0 {name=p4 analysis=tran voltage=-2.7756e-17}
+C {spice_probe.sym} 100 -340 0 0 {name=p6 analysis=tran voltage=1.8}
+C {spice_probe.sym} 100 -470 0 0 {name=p7 analysis=tran voltage=1.8}
+C {ammeter.sym} 730 -410 0 0 {name=Vmeas current=0.002034}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 550 120 0 0 {name=XMprimpos model=sky130_fd_pr__rf_nfet_01v8_lvt_aF06W3p00L0p15 m=8}
+C {ammeter.sym} 570 60 0 0 {name=Vmeas1 current=0.01801}
diff --git a/xschem/vco_2-4GHz_delaycell/tests/vco_delaycell_2cells_tb.sch b/xschem/vco_2-4GHz_delaycell/tests/vco_delaycell_2cells_tb.sch
new file mode 100644
index 0000000..760151c
--- /dev/null
+++ b/xschem/vco_2-4GHz_delaycell/tests/vco_delaycell_2cells_tb.sch
@@ -0,0 +1,87 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {}
+V {}
+S {}
+E {}
+N 90 -10 290 -10 {lab=#net1}
+N 90 10 290 10 {lab=#net2}
+N 940 -10 1010 -10 {lab=#net1}
+N 940 10 1010 10 {lab=#net2}
+N 1170 -10 1220 -10 {lab=OUT+}
+N 1220 -10 1240 10 {lab=OUT+}
+N 1170 10 1220 10 {lab=OUT-}
+N 1220 10 1240 -10 {lab=OUT-}
+N 1240 10 1280 10 {lab=OUT+}
+N 1280 10 1280 110 {lab=OUT+}
+N -150 110 1280 110 {lab=OUT+}
+N -150 60 -150 110 {lab=OUT+}
+N -100 10 -70 10 {lab=OUT+}
+N 1240 -10 1280 -10 {lab=OUT-}
+N 1280 -110 1280 -10 {lab=OUT-}
+N -100 -10 -70 -10 {lab=OUT-}
+N -150 -60 -150 -10 {lab=OUT-}
+N 940 -80 940 -30 {lab=OUT-}
+N 940 -30 1010 -30 {lab=OUT-}
+N 940 30 940 80 {lab=OUT+}
+N 940 30 1010 30 {lab=OUT+}
+N -100 -80 940 -80 {lab=OUT-}
+N -100 80 940 80 {lab=OUT+}
+N -150 10 -100 10 {lab=OUT+}
+N -150 -10 -100 -10 {lab=OUT-}
+N 940 10 970 -20 {lab=#net2}
+N 940 -10 970 20 {lab=#net1}
+N -120 90 970 90 {lab=#net1}
+N -120 30 -120 90 {lab=#net1}
+N -120 30 -70 30 {lab=#net1}
+N -120 -100 970 -100 {lab=#net2}
+N -120 -100 -120 -30 {lab=#net2}
+N -120 -30 -70 -30 {lab=#net2}
+N -150 -110 1280 -110 {lab=OUT-}
+N 810 -10 940 -10 {lab=#net1}
+N 810 10 940 10 {lab=#net2}
+N -10 -120 -10 -60 {lab=CTL}
+N 1080 60 1080 120 {lab=0}
+N 0 120 1080 120 {lab=0}
+N 0 60 0 120 {lab=0}
+N -10 -120 1070 -120 {lab=CTL}
+N 20 -140 1100 -140 {lab=#net3}
+N 1070 -120 1070 -60 {lab=CTL}
+N 1100 -140 1100 -60 {lab=#net3}
+N -530 30 -530 120 {lab=0}
+N -440 120 0 120 {lab=0}
+N -440 30 -440 120 {lab=0}
+N -440 -120 -10 -120 {lab=CTL}
+N -440 -120 -440 -30 {lab=CTL}
+N -530 -140 20 -140 {lab=#net3}
+N -530 -140 -530 -30 {lab=#net3}
+N -530 120 -440 120 {lab=0}
+N 20 -140 20 -60 {lab=#net3}
+N -370 -60 -370 -30 {lab=OUT-}
+N -370 -60 -150 -60 {lab=OUT-}
+N -370 30 -370 60 {lab=OUT+}
+N -370 60 -150 60 {lab=OUT+}
+N -150 10 -150 60 {lab=OUT+}
+N -150 -110 -150 -60 {lab=OUT-}
+N 290 -10 810 -10 {lab=#net1}
+N 290 10 810 10 {lab=#net2}
+C {/home/tom/repositories/amsat_txrx_ic/design/vco_delaycell/vco_delaycell.sym} 0 0 0 0 {name=x1}
+C {vsource.sym} -530 0 0 0 {name=VDD value="1.8"}
+C {vsource.sym} -440 0 0 0 {name=VCTL value=0.9}
+C {/home/tom/repositories/amsat_txrx_ic/design/vco_delaycell/vco_delaycell.sym} 1080 0 0 0 {name=x4}
+C {lab_wire.sym} 1170 10 0 1 {name=l2 sig_type=std_logic lab=OUT-}
+C {lab_wire.sym} 1170 -10 0 1 {name=l3 sig_type=std_logic lab=OUT+}
+C {lab_wire.sym} -440 -120 0 1 {name=l4 sig_type=std_logic lab=CTL}
+C {code_shown.sym} -330 200 0 0 {name=CONTROL value="* .control
+* save all
+* tran 5n 100u uic
+* write led_driver.raw
+* .endc
+* .save all
+.include \\"xh018/xh018.lib\\"
+.tran 0.1n 1u uic
+.measure tran osc_freq freq v(out+) on=1.1 off 0.7 from=0.9u to=1u
+*.save all
+* .dc VP 0 21 0.01
+"}
+C {lab_wire.sym} -520 120 0 1 {name=l1 sig_type=std_logic lab=0}
+C {isource.sym} -370 0 0 0 {name=I0 value="PWL 0S 0A 1nS 1mA 5nS 0A"}
diff --git a/xschem/vco_2-4GHz_delaycell/tests/vco_delaycell_3cells_tb.sch b/xschem/vco_2-4GHz_delaycell/tests/vco_delaycell_3cells_tb.sch
new file mode 100644
index 0000000..240cbfb
--- /dev/null
+++ b/xschem/vco_2-4GHz_delaycell/tests/vco_delaycell_3cells_tb.sch
@@ -0,0 +1,63 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {}
+V {}
+S {}
+E {}
+N 90 -10 240 -10 {lab=#net1}
+N 90 10 240 10 {lab=#net2}
+N 400 -10 540 -10 {lab=#net3}
+N 400 10 540 10 {lab=#net4}
+N 700 -10 810 -10 {lab=OUT+}
+N 700 10 810 10 {lab=OUT-}
+N -150 100 810 100 {lab=OUT-}
+N -150 10 -70 10 {lab=OUT-}
+N 810 -100 810 -10 {lab=OUT+}
+N -150 -10 -70 -10 {lab=OUT+}
+N -150 -60 -150 -10 {lab=OUT+}
+N -150 -100 810 -100 {lab=OUT+}
+N -10 -120 -10 -60 {lab=CTL}
+N 310 60 310 120 {lab=0}
+N 610 60 610 120 {lab=0}
+N 0 120 310 120 {lab=0}
+N 0 60 0 120 {lab=0}
+N 310 120 610 120 {lab=0}
+N -10 -120 300 -120 {lab=CTL}
+N 300 -120 600 -120 {lab=CTL}
+N 20 -140 330 -140 {lab=#net5}
+N 330 -140 630 -140 {lab=#net5}
+N 300 -120 300 -60 {lab=CTL}
+N 330 -140 330 -60 {lab=#net5}
+N 600 -120 600 -60 {lab=CTL}
+N 630 -140 630 -60 {lab=#net5}
+N -530 30 -530 120 {lab=0}
+N -440 120 0 120 {lab=0}
+N -440 30 -440 120 {lab=0}
+N -440 -120 -10 -120 {lab=CTL}
+N -440 -120 -440 -30 {lab=CTL}
+N -530 -140 20 -140 {lab=#net5}
+N -530 -140 -530 -30 {lab=#net5}
+N -530 120 -440 120 {lab=0}
+N 20 -140 20 -60 {lab=#net5}
+N -370 -60 -150 -60 {lab=OUT+}
+N -370 30 -370 60 {lab=OUT-}
+N -370 60 -150 60 {lab=OUT-}
+N -150 10 -150 60 {lab=OUT-}
+N -150 -100 -150 -60 {lab=OUT+}
+N 810 10 810 100 {lab=OUT-}
+N -150 60 -150 100 {lab=OUT-}
+C {vco_delaycell/vco_delaycell.sym} 0 0 0 0 {name=x1}
+C {vsource.sym} -530 0 0 0 {name=VDD value="1.8"}
+C {vsource.sym} -440 0 0 0 {name=VCTL value=0}
+C {vco_delaycell/vco_delaycell.sym} 310 0 0 0 {name=x3}
+C {vco_delaycell/vco_delaycell.sym} 610 0 0 0 {name=x4}
+C {lab_wire.sym} 700 10 0 1 {name=l2 sig_type=std_logic lab=OUT-}
+C {lab_wire.sym} 700 -10 0 1 {name=l3 sig_type=std_logic lab=OUT+}
+C {lab_wire.sym} -440 -120 0 1 {name=l4 sig_type=std_logic lab=CTL}
+C {code_shown.sym} -330 200 0 0 {name=CONTROL value="
+.param temp=27
+.lib sky130_fd_pr/models/sky130.lib.spice tt
+.tran 0.001n 10n uic
+.measure tran osc_freq freq v(out+) on=1.1 off 0.7 from=8n to=10n
+"}
+C {lab_wire.sym} -520 120 0 1 {name=l1 sig_type=std_logic lab=0}
+C {isource.sym} -370 0 0 0 {name=I0 value="PWL 0S 0A 1nS 1mA 5nS 0A"}
diff --git a/xschem/vco_2-4GHz_delaycell/tests/vco_delaycell_tb.sch b/xschem/vco_2-4GHz_delaycell/tests/vco_delaycell_tb.sch
new file mode 100644
index 0000000..cd02355
--- /dev/null
+++ b/xschem/vco_2-4GHz_delaycell/tests/vco_delaycell_tb.sch
@@ -0,0 +1,137 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {}
+V {}
+S {}
+E {}
+N 260 -10 290 -10 {lab=#net1}
+N 260 10 290 10 {lab=#net2}
+N 620 -10 650 -10 {lab=#net3}
+N 620 10 650 10 {lab=#net4}
+N 940 -10 1010 -10 {lab=#net5}
+N 940 10 1010 10 {lab=#net6}
+N 1170 -10 1220 -10 {lab=OUT+}
+N 1220 -10 1240 10 {lab=OUT+}
+N 1170 10 1220 10 {lab=OUT-}
+N 1220 10 1240 -10 {lab=OUT-}
+N 1240 10 1280 10 {lab=OUT+}
+N 1280 10 1280 110 {lab=OUT+}
+N -150 110 1280 110 {lab=OUT+}
+N -150 10 -150 110 {lab=OUT+}
+N -100 10 -70 10 {lab=OUT+}
+N 1240 -10 1280 -10 {lab=OUT-}
+N 1280 -110 1280 -10 {lab=OUT-}
+N -100 -10 -70 -10 {lab=OUT-}
+N -150 -110 -150 -10 {lab=OUT-}
+N 620 -80 620 -10 {lab=#net3}
+N 940 -80 940 -30 {lab=#net3}
+N 940 -30 1010 -30 {lab=#net3}
+N 620 10 620 80 {lab=#net4}
+N 940 30 940 80 {lab=#net4}
+N 940 30 1010 30 {lab=#net4}
+N 450 -10 620 -10 {lab=#net3}
+N 450 10 620 10 {lab=#net4}
+N 620 -80 940 -80 {lab=#net3}
+N 620 80 940 80 {lab=#net4}
+N 260 -80 260 -10 {lab=#net1}
+N 580 -80 580 -30 {lab=#net1}
+N 580 -30 650 -30 {lab=#net1}
+N 260 10 260 80 {lab=#net2}
+N 580 30 580 80 {lab=#net2}
+N 580 30 650 30 {lab=#net2}
+N 260 -80 580 -80 {lab=#net1}
+N 260 80 580 80 {lab=#net2}
+N -100 -80 -100 -10 {lab=OUT-}
+N 220 -80 220 -30 {lab=OUT-}
+N 220 -30 290 -30 {lab=OUT-}
+N -100 10 -100 80 {lab=OUT+}
+N 220 30 220 80 {lab=OUT+}
+N 220 30 290 30 {lab=OUT+}
+N -100 -80 220 -80 {lab=OUT-}
+N -100 80 220 80 {lab=OUT+}
+N -150 10 -100 10 {lab=OUT+}
+N -150 -10 -100 -10 {lab=OUT-}
+N 90 -10 260 -10 {lab=#net1}
+N 90 10 260 10 {lab=#net2}
+N 940 10 970 -20 {lab=#net6}
+N 940 -10 970 20 {lab=#net5}
+N 970 20 970 90 {lab=#net5}
+N -120 90 970 90 {lab=#net5}
+N -120 30 -120 90 {lab=#net5}
+N -120 30 -70 30 {lab=#net5}
+N 970 -100 970 -20 {lab=#net6}
+N -120 -100 970 -100 {lab=#net6}
+N -120 -100 -120 -30 {lab=#net6}
+N -120 -30 -70 -30 {lab=#net6}
+N -150 -110 1280 -110 {lab=OUT-}
+N 810 -10 940 -10 {lab=#net5}
+N 810 10 940 10 {lab=#net6}
+N -10 -120 -10 -60 {lab=CTL}
+N 360 60 360 120 {lab=0}
+N 720 60 720 120 {lab=0}
+N 1080 60 1080 120 {lab=0}
+N 0 120 360 120 {lab=0}
+N 0 60 0 120 {lab=0}
+N 360 120 720 120 {lab=0}
+N 720 120 1080 120 {lab=0}
+N -10 -120 350 -120 {lab=CTL}
+N 350 -120 710 -120 {lab=CTL}
+N 710 -120 1070 -120 {lab=CTL}
+N 20 -140 380 -140 {lab=#net7}
+N 380 -140 740 -140 {lab=#net7}
+N 740 -140 1100 -140 {lab=#net7}
+N 350 -120 350 -60 {lab=CTL}
+N 380 -140 380 -60 {lab=#net7}
+N 710 -120 710 -60 {lab=CTL}
+N 740 -140 740 -60 {lab=#net7}
+N 1070 -120 1070 -60 {lab=CTL}
+N 1100 -140 1100 -60 {lab=#net7}
+N -530 30 -530 120 {lab=0}
+N -270 120 0 120 {lab=0}
+N -440 30 -440 120 {lab=0}
+N -270 -120 -10 -120 {lab=CTL}
+N -440 -120 -440 -30 {lab=CTL}
+N -360 -140 20 -140 {lab=#net7}
+N -530 -140 -530 -30 {lab=#net7}
+N -530 120 -440 120 {lab=0}
+N 20 -140 20 -60 {lab=#net7}
+N -370 -60 -370 -30 {lab=OUT-}
+N -200 -60 -150 -60 {lab=OUT-}
+N -370 30 -370 60 {lab=OUT+}
+N -200 60 -150 60 {lab=OUT+}
+N -370 60 -200 60 {lab=OUT+}
+N -440 120 -270 120 {lab=0}
+N -370 -60 -200 -60 {lab=OUT-}
+N -440 -120 -270 -120 {lab=CTL}
+N -530 -140 -360 -140 {lab=#net7}
+C {vco_delaycell/vco_delaycell.sym} 0 0 0 0 {name=x1 sec_w=sec_w load_w=load_w ctl_w=ctl_w prim_w=prim_w cross_w=cross_w }
+C {vsource.sym} -530 0 0 0 {name=VDD value="1.8"}
+C {vsource.sym} -440 0 0 0 {name=VCTL value=0.0
+}
+C {vco_delaycell/vco_delaycell.sym} 360 0 0 0 {name=x2 sec_w=sec_w load_w=load_w ctl_w=ctl_w prim_w=prim_w cross_w=cross_w }
+C {vco_delaycell/vco_delaycell.sym} 720 0 0 0 {name=x3 sec_w=sec_w load_w=load_w ctl_w=ctl_w prim_w=prim_w cross_w=cross_w }
+C {vco_delaycell/vco_delaycell.sym} 1080 0 0 0 {name=x4 sec_w=sec_w load_w=load_w ctl_w=ctl_w prim_w=prim_w cross_w=cross_w }
+C {lab_wire.sym} 1170 10 0 1 {name=l2 sig_type=std_logic lab=OUT-}
+C {lab_wire.sym} 1170 -10 0 1 {name=l3 sig_type=std_logic lab=OUT+}
+C {lab_wire.sym} -440 -120 0 1 {name=l4 sig_type=std_logic lab=CTL}
+C {code_shown.sym} -330 200 0 0 {name=CONTROL value="* .control
+* save all
+* tran 5n 100u uic
+* write led_driver.raw
+* .endc
+* .save all
+*.include \\"xh018/xh018.lib\\"
+*.tran 0.1n 1u uic
+*.measure tran osc_freq freq v(out+) on=1.1 off 0.7 from=0.9u to=1u
+*.save all
+* .dc VP 0 21 0.01
+
+.param TEMP=27
+
+.options savecurrents
+.lib /home/tom/repositories/skywater/sky130_fd_pr/models/sky130.lib.spice tt
+
+.temp 30
+.tran  0.1e-9 0.1e-6 uic
+"}
+C {lab_wire.sym} -520 120 0 1 {name=l1 sig_type=std_logic lab=0}
+C {isource.sym} -370 0 0 0 {name=I0 value="PULSE(0 1m 1n 1p 1p 4n 10 0)"}
diff --git a/xschem/vco_2-4GHz_delaycell/vco_2-4GHz_delaycell b/xschem/vco_2-4GHz_delaycell/vco_2-4GHz_delaycell
new file mode 100644
index 0000000..e8e83b9
--- /dev/null
+++ b/xschem/vco_2-4GHz_delaycell/vco_2-4GHz_delaycell
Binary files differ
diff --git a/xschem/vco_2-4GHz_delaycell/vco_2-4GHz_delaycell.sch b/xschem/vco_2-4GHz_delaycell/vco_2-4GHz_delaycell.sch
new file mode 100644
index 0000000..f7f72c5
--- /dev/null
+++ b/xschem/vco_2-4GHz_delaycell/vco_2-4GHz_delaycell.sch
@@ -0,0 +1,104 @@
+v {xschem version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N 370 -300 410 -300 {lab=CTL}
+N 80 -110 80 -80 {lab=OUTp}
+N 290 -110 290 -80 {lab=OUTp}
+N 340 -110 400 -50 {lab=OUTp}
+N 340 -50 400 -110 {lab=OUTn}
+N 290 -110 340 -110 {lab=OUTp}
+N 330 -50 340 -50 {lab=OUTn}
+N 450 -110 450 -80 {lab=OUTn}
+N 400 -110 450 -110 {lab=OUTn}
+N 400 -50 410 -50 {lab=OUTp}
+N 660 -110 660 -80 {lab=OUTn}
+N 660 -150 660 -110 {lab=OUTn}
+N 640 -50 660 -50 {lab=GND}
+N 660 -20 660 0 {lab=GND}
+N 640 0 660 0 {lab=GND}
+N 80 -20 80 0 {lab=GND}
+N 80 -50 100 -50 {lab=GND}
+N 100 -50 100 0 {lab=GND}
+N 270 -50 290 -50 {lab=GND}
+N 270 -50 270 0 {lab=GND}
+N 290 -20 290 0 {lab=GND}
+N 450 -20 450 0 {lab=GND}
+N 450 -50 470 -50 {lab=GND}
+N 470 -50 470 0 {lab=GND}
+N 640 -50 640 0 {lab=GND}
+N 270 -300 290 -300 {lab=VDD}
+N 270 -400 270 -300 {lab=VDD}
+N 290 -400 290 -330 {lab=VDD}
+N 450 -300 470 -300 {lab=VDD}
+N 470 -400 470 -300 {lab=VDD}
+N 450 -400 450 -330 {lab=VDD}
+N 290 -400 450 -400 {lab=VDD}
+N 0 -50 40 -50 {lab=Pp}
+N 700 -50 740 -50 {lab=Pn}
+N 660 -150 740 -150 {lab=OUTn}
+N 0 0 80 0 {lab=GND}
+N 370 -300 370 -175 {lab=CTL}
+N 0 -140 80 -140 {lab=OUTp}
+N 0 -175 370 -175 {lab=CTL}
+N 330 -300 370 -300 {lab=CTL}
+N 80 -140 80 -110 {lab=OUTp}
+N 80 0 100 0 {lab=GND}
+N 150 -0 270 0 {lab=GND}
+N 270 0 290 0 {lab=GND}
+N 290 0 450 0 {lab=GND}
+N 450 0 470 0 {lab=GND}
+N 590 0 640 0 {lab=GND}
+N 450 -400 470 -400 {lab=VDD}
+N 80 -400 270 -400 {lab=VDD}
+N 270 -400 290 -400 {lab=VDD}
+N 60 -350 80 -350 {lab=VDD}
+N 60 -400 60 -350 {lab=VDD}
+N 80 -400 80 -380 {lab=VDD}
+N 80 -200 80 -140 {lab=OUTp}
+N 120 -350 150 -350 {lab=GND}
+N 150 -350 150 -0 {lab=GND}
+N 660 -350 680 -350 {lab=VDD}
+N 680 -400 680 -350 {lab=VDD}
+N 660 -400 660 -380 {lab=VDD}
+N 660 -400 680 -400 {lab=VDD}
+N 660 -200 660 -150 {lab=OUTn}
+N 470 -400 660 -400 {lab=VDD}
+N 590 -350 620 -350 {lab=GND}
+N 590 -350 590 0 {lab=GND}
+N 100 0 150 -0 {lab=GND}
+N 470 0 590 0 {lab=GND}
+N 0 -400 60 -400 {lab=VDD}
+N 60 -400 80 -400 {lab=VDD}
+N 80 -200 290 -200 { lab=OUTp}
+N 450 -200 660 -200 { lab=OUTn}
+N 290 -270 290 -200 { lab=OUTp}
+N 450 -270 450 -200 { lab=OUTn}
+N 450 -110 660 -110 { lab=OUTn}
+N 80 -110 290 -110 { lab=OUTp}
+N 80 -320 80 -280 { lab=OUTp}
+N 660 -320 660 -280 { lab=OUTn}
+N 80 -280 80 -200 { lab=OUTp}
+N 660 -280 660 -200 { lab=OUTn}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 60 -50 0 0 {name=XMprimpos model=sky130_fd_pr__rf_nfet_01v8_lvt_aF02W3p00L0p15 m=1}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 430 -50 0 0 {name=XMcrossneg model=sky130_fd_pr__rf_nfet_01v8_lvt_aF02W1p65L0p15}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_pfet.sym} 430 -300 0 0 {name=XMctlneg model=sky130_fd_pr__rf_pfet_01v8_lvt_aM02W5p00L0p35 m=1}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_pfet.sym} 310 -300 0 1 {name=XMctlpos model=sky130_fd_pr__rf_pfet_01v8_lvt_aM02W5p00L0p35 m=1}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 310 -50 0 1 {name=XMcrosspos model=sky130_fd_pr__rf_nfet_01v8_lvt_aF02W1p65L0p15}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 680 -50 0 1 {name=XMprimneg model=sky130_fd_pr__rf_nfet_01v8_lvt_aF02W3p00L0p15 m=1}
+C {ipin.sym} 0 -50 0 0 {name=p1 lab=Pp
+}
+C {ipin.sym} 740 -50 0 1 {name=p2 lab=Pn
+}
+C {opin.sym} 740 -150 0 0 {name=p5 lab=OUTn
+}
+C {opin.sym} 0 -140 0 1 {name=p6 lab=OUTp
+}
+C {iopin.sym} 0 -400 0 1 {name=p7 lab=VDD}
+C {iopin.sym} 0 0 0 1 {name=p8 lab=GND
+}
+C {ipin.sym} 0 -175 0 0 {name=p9 lab=CTL}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_pfet.sym} 100 -350 0 1 {name=XMctlpos1 model=sky130_fd_pr__rf_pfet_01v8_aM02W1p65L0p25 m=1}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_pfet.sym} 640 -350 0 0 {name=XMctlneg1 model=sky130_fd_pr__rf_pfet_01v8_aM02W1p65L0p25 m=1}
diff --git a/xschem/vco_2-4GHz_delaycell/vco_2-4GHz_delaycell.sym b/xschem/vco_2-4GHz_delaycell/vco_2-4GHz_delaycell.sym
new file mode 100644
index 0000000..5217bc2
--- /dev/null
+++ b/xschem/vco_2-4GHz_delaycell/vco_2-4GHz_delaycell.sym
@@ -0,0 +1,42 @@
+v {xschem version=2.9.7 file_version=1.1}
+G {type=subcircuit
+format="@name @pinlist @symname"
+template="name=x1"}
+V {}
+S {}
+E {}
+L 4 -50 -40 -50 40 {}
+L 4 70 10 90 10 {}
+L 4 70 -10 90 -10 {}
+L 4 -70 10 -50 10 {}
+L 4 -70 -10 -50 -10 {}
+L 4 -50 -60 80 -0 {}
+L 4 -50 60 80 -0 {}
+L 4 60 10 80 10 {}
+L 4 60 -10 70 -10 {}
+L 4 -50 -60 -50 -40 {}
+L 4 -50 40 -50 60 {}
+L 4 59 10 60 10 {}
+L 4 59 -10 60 -10 {}
+L 4 -10 -60 -10 -50 {}
+L 4 -10 -50 -10 -42 {}
+L 7 20 -60 20 -40 {}
+L 7 0 40 0 60 {}
+L 7 20 -40 20 -28 {}
+L 7 0 37 -0 40 {}
+B 5 17.5 -62.5 22.5 -57.5 {name=VDD dir=inout }
+B 5 87.5 7.5 92.5 12.5 {name=OUTn dir=out }
+B 5 87.5 -12.5 92.5 -7.5 {name=OUTp dir=out }
+B 5 -72.5 7.5 -67.5 12.5 {name=Pn dir=in }
+B 5 -72.5 -12.5 -67.5 -7.5 {name=Pp dir=in }
+B 5 -2.5 57.5 2.5 62.5 {name=GND dir=inout }
+B 5 -12.5 -62.5 -7.5 -57.5 {name=CTL dir=in }
+T {@symname} 43.5 19 0 0 0.3 0.3 {}
+T {@name} 45 38 0 0 0.2 0.2 {}
+T {VDD} 50 -40 0 1 0.2 0.2 {}
+T {OUTn} 45 6 0 1 0.2 0.2 {}
+T {OUTp} 45 -14 0 1 0.2 0.2 {}
+T {Pn} -45 6 0 0 0.2 0.2 {}
+T {Pp} -45 -14 0 0 0.2 0.2 {}
+T {GND} 25 46 0 1 0.2 0.2 {}
+T {CTL} 4 -25 2 0 0.2 0.2 {}
diff --git a/xschem/vco_2-4GHz_delaycell/vco_2-4GHz_delaycell_old.sch b/xschem/vco_2-4GHz_delaycell/vco_2-4GHz_delaycell_old.sch
new file mode 100644
index 0000000..387f090
--- /dev/null
+++ b/xschem/vco_2-4GHz_delaycell/vco_2-4GHz_delaycell_old.sch
@@ -0,0 +1,107 @@
+v {xschem version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N 370 -300 410 -300 {lab=CTL}
+N 80 -110 80 -80 {lab=OUTp}
+N 290 -110 290 -80 {lab=OUTp}
+N 340 -110 400 -50 {lab=OUTp}
+N 340 -50 400 -110 {lab=OUTn}
+N 290 -110 340 -110 {lab=OUTp}
+N 330 -50 340 -50 {lab=OUTn}
+N 450 -110 450 -80 {lab=OUTn}
+N 400 -110 450 -110 {lab=OUTn}
+N 400 -50 410 -50 {lab=OUTp}
+N 660 -110 660 -80 {lab=OUTn}
+N 660 -150 660 -110 {lab=OUTn}
+N 640 -50 660 -50 {lab=GND}
+N 660 -20 660 0 {lab=GND}
+N 640 0 660 0 {lab=GND}
+N 80 -20 80 0 {lab=GND}
+N 80 -50 100 -50 {lab=GND}
+N 100 -50 100 0 {lab=GND}
+N 270 -50 290 -50 {lab=GND}
+N 270 -50 270 0 {lab=GND}
+N 290 -20 290 0 {lab=GND}
+N 450 -20 450 0 {lab=GND}
+N 450 -50 470 -50 {lab=GND}
+N 470 -50 470 0 {lab=GND}
+N 640 -50 640 0 {lab=GND}
+N 270 -300 290 -300 {lab=VDD}
+N 270 -400 270 -300 {lab=VDD}
+N 290 -400 290 -330 {lab=VDD}
+N 450 -300 470 -300 {lab=VDD}
+N 470 -400 470 -300 {lab=VDD}
+N 450 -400 450 -330 {lab=VDD}
+N 290 -400 450 -400 {lab=VDD}
+N 0 -50 40 -50 {lab=Pp}
+N 700 -50 740 -50 {lab=Pn}
+N 660 -150 740 -150 {lab=OUTn}
+N 0 0 80 0 {lab=GND}
+N 370 -300 370 -175 {lab=CTL}
+N 0 -140 80 -140 {lab=OUTp}
+N 0 -175 370 -175 {lab=CTL}
+N 330 -300 370 -300 {lab=CTL}
+N 80 -140 80 -110 {lab=OUTp}
+N 80 0 100 0 {lab=GND}
+N 150 -0 270 0 {lab=GND}
+N 270 0 290 0 {lab=GND}
+N 290 0 450 0 {lab=GND}
+N 450 0 470 0 {lab=GND}
+N 590 0 640 0 {lab=GND}
+N 450 -400 470 -400 {lab=VDD}
+N 80 -400 270 -400 {lab=VDD}
+N 270 -400 290 -400 {lab=VDD}
+N 60 -350 80 -350 {lab=VDD}
+N 60 -400 60 -350 {lab=VDD}
+N 80 -400 80 -380 {lab=VDD}
+N 80 -200 80 -140 {lab=OUTp}
+N 120 -350 150 -350 {lab=GND}
+N 150 -350 150 -0 {lab=GND}
+N 660 -350 680 -350 {lab=VDD}
+N 680 -400 680 -350 {lab=VDD}
+N 660 -400 660 -380 {lab=VDD}
+N 660 -400 680 -400 {lab=VDD}
+N 660 -200 660 -150 {lab=OUTn}
+N 470 -400 660 -400 {lab=VDD}
+N 590 -350 620 -350 {lab=GND}
+N 590 -350 590 0 {lab=GND}
+N 100 0 150 -0 {lab=GND}
+N 470 0 590 0 {lab=GND}
+N 0 -400 60 -400 {lab=VDD}
+N 60 -400 80 -400 {lab=VDD}
+N 660 -320 660 -300 {lab=OUTn}
+N 80 -320 80 -300 {lab=OUTp}
+N 80 -200 220 -200 { lab=OUTp}
+N 220 -200 290 -200 { lab=OUTp}
+N 450 -200 660 -200 { lab=OUTn}
+N 290 -270 290 -200 { lab=OUTp}
+N 450 -270 450 -200 { lab=OUTn}
+N 80 -240 80 -200 { lab=OUTp}
+N 660 -240 660 -200 { lab=OUTn}
+N 450 -110 660 -110 { lab=OUTn}
+N 80 -110 290 -110 { lab=OUTp}
+N 80 -300 80 -240 { lab=OUTp}
+N 660 -300 660 -240 { lab=OUTn}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 60 -50 0 0 {name=XMprimpos model=sky130_fd_pr__rf_nfet_01v8_lvt_aF06W3p00L0p15 m=3}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 430 -50 0 0 {name=XMcrossneg model=sky130_fd_pr__rf_nfet_01v8_lvt_aF06W3p00L0p15}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_pfet.sym} 430 -300 0 0 {name=XMctlneg model=sky130_fd_pr__rf_pfet_01v8_lvt_aM04W5p00L0p35 m=2}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_pfet.sym} 310 -300 0 1 {name=XMctlpos model=sky130_fd_pr__rf_pfet_01v8_lvt_aM04W5p00L0p35 m=2}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 310 -50 0 1 {name=XMcrosspos model=sky130_fd_pr__rf_nfet_01v8_lvt_aF06W3p00L0p15}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_nfet.sym} 680 -50 0 1 {name=XMprimneg model=sky130_fd_pr__rf_nfet_01v8_lvt_aF06W3p00L0p15 m=3}
+C {ipin.sym} 0 -50 0 0 {name=p1 lab=Pp
+}
+C {ipin.sym} 740 -50 0 1 {name=p2 lab=Pn
+}
+C {opin.sym} 740 -150 0 0 {name=p5 lab=OUTn
+}
+C {opin.sym} 0 -140 0 1 {name=p6 lab=OUTp
+}
+C {iopin.sym} 0 -400 0 1 {name=p7 lab=VDD}
+C {iopin.sym} 0 0 0 1 {name=p8 lab=GND
+}
+C {ipin.sym} 0 -175 0 0 {name=p9 lab=CTL}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_pfet.sym} 100 -350 0 1 {name=XMctlpos1 model=sky130_fd_pr__rf_pfet_01v8_aM02W5p00L0p25 m=1}
+C {/home/tom/repositories/amsat_txrx_ic/library/primitives/sky130_fd_pr__rf_pfet.sym} 640 -350 0 0 {name=XMctlneg1 model=sky130_fd_pr__rf_pfet_01v8_aM02W5p00L0p25 m=1}