From 37448d3139a7d74d943af0b002ffa9d20e9b5c97 Mon Sep 17 00:00:00 2001 From: dormando Date: Mon, 31 Dec 2018 16:37:27 -0800 Subject: [PATCH] initial commit --- .project | 45 + LICENSE.txt | 22 + Mojo-Base.xise | 511 + ipcore_dir/.gitignore | 0 ipcore_dir/coregen.cgp | 9 + ipcore_dir/div_8_dot_8_nodsp.asy | 41 + ipcore_dir/div_8_dot_8_nodsp.gise | 31 + ipcore_dir/div_8_dot_8_nodsp.ncf | 0 ipcore_dir/div_8_dot_8_nodsp.ngc | 3 + ipcore_dir/div_8_dot_8_nodsp.v | 14635 ++++++++++++++++ ipcore_dir/div_8_dot_8_nodsp.veo | 69 + ipcore_dir/div_8_dot_8_nodsp.xco | 70 + ipcore_dir/div_8_dot_8_nodsp.xise | 73 + .../doc/div_gen_v4_0_readme.txt | 164 + .../doc/div_gen_v4_0_vinfo.html | 175 + .../div_8_dot_8_nodsp/doc/ds819_div_gen.pdf | Bin 0 -> 698989 bytes ipcore_dir/div_8_dot_8_nodsp_flist.txt | 15 + ipcore_dir/div_8_dot_8_nodsp_xmdf.tcl | 83 + ipcore_dir/lcd_spi_clk.asy | 17 + ipcore_dir/lcd_spi_clk.gise | 52 + ipcore_dir/lcd_spi_clk.ncf | 59 + ipcore_dir/lcd_spi_clk.sym | 18 + ipcore_dir/lcd_spi_clk.ucf | 58 + ipcore_dir/lcd_spi_clk.v | 150 + ipcore_dir/lcd_spi_clk.veo | 77 + ipcore_dir/lcd_spi_clk.xco | 269 + ipcore_dir/lcd_spi_clk.xdc | 66 + ipcore_dir/lcd_spi_clk.xise | 69 + .../lcd_spi_clk/clk_wiz_v3_6_readme.txt | 184 + .../lcd_spi_clk/doc/clk_wiz_v3_6_readme.txt | 184 + .../lcd_spi_clk/doc/clk_wiz_v3_6_vinfo.html | 195 + ipcore_dir/lcd_spi_clk/doc/pg065_clk_wiz.pdf | Bin 0 -> 42657 bytes .../example_design/lcd_spi_clk_exdes.ucf | 59 + .../example_design/lcd_spi_clk_exdes.v | 169 + .../example_design/lcd_spi_clk_exdes.xdc | 68 + .../lcd_spi_clk/implement/implement.bat | 90 + ipcore_dir/lcd_spi_clk/implement/implement.sh | 91 + .../lcd_spi_clk/implement/planAhead_ise.bat | 58 + .../lcd_spi_clk/implement/planAhead_ise.sh | 59 + .../lcd_spi_clk/implement/planAhead_ise.tcl | 78 + .../lcd_spi_clk/implement/planAhead_rdn.bat | 58 + .../lcd_spi_clk/implement/planAhead_rdn.sh | 57 + .../lcd_spi_clk/implement/planAhead_rdn.tcl | 69 + ipcore_dir/lcd_spi_clk/implement/xst.prj | 2 + ipcore_dir/lcd_spi_clk/implement/xst.scr | 9 + .../simulation/functional/simcmds.tcl | 8 + .../simulation/functional/simulate_isim.bat | 59 + .../simulation/functional/simulate_isim.sh | 61 + .../simulation/functional/simulate_mti.bat | 61 + .../simulation/functional/simulate_mti.do | 65 + .../simulation/functional/simulate_mti.sh | 61 + .../simulation/functional/simulate_ncsim.sh | 62 + .../simulation/functional/simulate_vcs.sh | 72 + .../simulation/functional/ucli_commands.key | 5 + .../simulation/functional/vcs_session.tcl | 15 + .../lcd_spi_clk/simulation/functional/wave.do | 57 + .../lcd_spi_clk/simulation/functional/wave.sv | 111 + .../lcd_spi_clk/simulation/lcd_spi_clk_tb.v | 133 + .../simulation/timing/lcd_spi_clk_tb.v | 136 + .../simulation/timing/sdf_cmd_file | 2 + .../lcd_spi_clk/simulation/timing/simcmds.tcl | 9 + .../simulation/timing/simulate_isim.sh | 62 + .../simulation/timing/simulate_mti.bat | 59 + .../simulation/timing/simulate_mti.do | 65 + .../simulation/timing/simulate_mti.sh | 61 + .../simulation/timing/simulate_ncsim.sh | 64 + .../simulation/timing/simulate_vcs.sh | 72 + .../simulation/timing/ucli_commands.key | 5 + .../simulation/timing/vcs_session.tcl | 1 + .../lcd_spi_clk/simulation/timing/wave.do | 70 + ipcore_dir/lcd_spi_clk_flist.txt | 54 + ipcore_dir/lcd_spi_clk_xmdf.tcl | 140 + iseconfig/Mojo-Base.projectmgr | 94 + iseconfig/mojo_top.xreport | 215 + scripts/RULER | 7 + scripts/lcdserial.pl | 198 + scripts/serialray.pl | 75 + scripts/set_sprite.pl | 30 + scripts/sout_line | 0 scripts/texloader.pl | 67 + scripts/textureprep.pl | 83 + scripts/tload.sh | 2 + src/angle.rom | 126 + src/angle_rom.v | 30 + src/avr_interface.v | 159 + src/camerax.rom | 320 + src/camerax_rom.v | 30 + src/cast_ray.v | 553 + src/cast_ray_tb.v | 71 + src/cclk_detector.v | 43 + src/floordist.rom | 120 + src/floordist_rom.v | 28 + src/genroms.pl | 162 + src/height.rom | 1024 ++ src/height_rom.v | 28 + src/idist.rom | 1024 ++ src/idist_rom.v | 28 + src/iheight.rom | 512 + src/iheight_rom.v | 25 + src/lcd_driver.v | 107 + src/line_writer.v | 494 + src/line_writer_tb.v | 58 + src/map | 25 + src/map.pl | 22 + src/map.rom | 576 + src/map2 | 24 + src/map3 | 25 + src/map_rom.v | 20 + src/mmap.v | 223 + src/mmap_leds.v | 460 + src/mmap_tb.v | 117 + src/mojo.ucf | 38 + src/mojo_top.v | 305 + src/serial_rx.v | 95 + src/serial_tx.v | 110 + src/simple_dual_ram.v | 76 + src/spi.v | 105 + src/spi_slave.v | 79 + src/sprite.v | 385 + src/sprite_scanline.v | 123 + src/sprite_tb.v | 77 + src/task_crossdomain.v | 31 + syn/.gitignore | 4 + texture/LAB/door/door0.png | Bin 0 -> 712 bytes texture/LAB/door/door_blue.png | Bin 0 -> 680 bytes texture/LAB/door/door_green.png | Bin 0 -> 685 bytes texture/LAB/door/door_red.png | Bin 0 -> 675 bytes texture/LAB/door/door_surp.png | Bin 0 -> 453 bytes texture/LAB/guns/gun0a.png | Bin 0 -> 3817 bytes texture/LAB/guns/gun0b.png | Bin 0 -> 4208 bytes texture/LAB/guns/gun0c.png | Bin 0 -> 3881 bytes texture/LAB/guns/gun0d.png | Bin 0 -> 4275 bytes texture/LAB/guns/gun0e.png | Bin 0 -> 1249 bytes texture/LAB/guns/gun1a.png | Bin 0 -> 1534 bytes texture/LAB/guns/gun1b.png | Bin 0 -> 2201 bytes texture/LAB/guns/gun1c.png | Bin 0 -> 1505 bytes texture/LAB/guns/gun2.png | Bin 0 -> 1615 bytes texture/LAB/guns/gun2b.png | Bin 0 -> 2068 bytes texture/LAB/guns/gun2c.png | Bin 0 -> 1663 bytes texture/LAB/guns/gun3.png | Bin 0 -> 1036 bytes texture/LAB/guns/gun3a.png | Bin 0 -> 1064 bytes texture/LAB/guns/gun3b.png | Bin 0 -> 1520 bytes texture/LAB/guns/gun3c.png | Bin 0 -> 3813 bytes texture/LAB/guns/gun3d.png | Bin 0 -> 1044 bytes texture/LAB/guns/gun4.png | Bin 0 -> 4067 bytes texture/LAB/guns/gun4b.png | Bin 0 -> 9280 bytes texture/LAB/guns/gun4c.png | Bin 0 -> 2797 bytes texture/LAB/guns/gun5a.png | Bin 0 -> 1448 bytes texture/LAB/guns/gun5b.png | Bin 0 -> 2035 bytes texture/LAB/guns/gun5c.png | Bin 0 -> 1418 bytes texture/LAB/guns/gun6.png | Bin 0 -> 2821 bytes texture/LAB/guns/gun6b.png | Bin 0 -> 2912 bytes texture/LAB/guns/gun6c.png | Bin 0 -> 2605 bytes texture/LAB/readme.txt | 13 + texture/LAB/sprites/acidspit.png | Bin 0 -> 1389 bytes texture/LAB/sprites/bloodspr.png | Bin 0 -> 395 bytes texture/LAB/sprites/brain.png | Bin 0 -> 2468 bytes texture/LAB/sprites/ceil_grass.png | Bin 0 -> 495 bytes texture/LAB/sprites/ceil_slab.png | Bin 0 -> 542 bytes texture/LAB/sprites/cobra0.png | Bin 0 -> 1893 bytes texture/LAB/sprites/cobra1.png | Bin 0 -> 1950 bytes texture/LAB/sprites/cobra2.png | Bin 0 -> 1877 bytes texture/LAB/sprites/cobraatt0.png | Bin 0 -> 1877 bytes texture/LAB/sprites/cobraatt1.png | Bin 0 -> 3415 bytes texture/LAB/sprites/cobraatt2.png | Bin 0 -> 3385 bytes texture/LAB/sprites/cobrahit0.png | Bin 0 -> 2179 bytes texture/LAB/sprites/cobrahit1.png | Bin 0 -> 1701 bytes texture/LAB/sprites/cobrahit2.png | Bin 0 -> 1407 bytes texture/LAB/sprites/cobrahit3.png | Bin 0 -> 1183 bytes texture/LAB/sprites/cobrahit4.png | Bin 0 -> 784 bytes texture/LAB/sprites/column.png | Bin 0 -> 1303 bytes texture/LAB/sprites/crate.png | Bin 0 -> 601 bytes texture/LAB/sprites/cricket.png | Bin 0 -> 264 bytes texture/LAB/sprites/d_bin.png | Bin 0 -> 724 bytes texture/LAB/sprites/d_filebin.png | Bin 0 -> 510 bytes texture/LAB/sprites/d_grass.png | Bin 0 -> 1013 bytes texture/LAB/sprites/d_lamp.png | Bin 0 -> 626 bytes texture/LAB/sprites/d_slab.png | Bin 0 -> 538 bytes texture/LAB/sprites/d_table.png | Bin 0 -> 524 bytes texture/LAB/sprites/d_tree.png | Bin 0 -> 873 bytes texture/LAB/sprites/fat0.png | Bin 0 -> 2009 bytes texture/LAB/sprites/fat1.png | Bin 0 -> 2068 bytes texture/LAB/sprites/fatatt0.png | Bin 0 -> 2095 bytes texture/LAB/sprites/fatatt1.png | Bin 0 -> 2280 bytes texture/LAB/sprites/fathit0.png | Bin 0 -> 1955 bytes texture/LAB/sprites/fathit1.png | Bin 0 -> 1465 bytes texture/LAB/sprites/fathit2.png | Bin 0 -> 1173 bytes texture/LAB/sprites/fathit3.png | Bin 0 -> 897 bytes texture/LAB/sprites/fathit4.png | Bin 0 -> 798 bytes texture/LAB/sprites/fireball0.png | Bin 0 -> 773 bytes texture/LAB/sprites/fly0.png | Bin 0 -> 367 bytes texture/LAB/sprites/fly1.png | Bin 0 -> 352 bytes texture/LAB/sprites/frog0.png | Bin 0 -> 761 bytes texture/LAB/sprites/frog1.png | Bin 0 -> 777 bytes texture/LAB/sprites/frog2.png | Bin 0 -> 789 bytes texture/LAB/sprites/frog3.png | Bin 0 -> 496 bytes texture/LAB/sprites/frog4.png | Bin 0 -> 607 bytes texture/LAB/sprites/gib0.png | Bin 0 -> 483 bytes texture/LAB/sprites/gib1.png | Bin 0 -> 468 bytes texture/LAB/sprites/gib2.png | Bin 0 -> 310 bytes texture/LAB/sprites/gib3.png | Bin 0 -> 209 bytes texture/LAB/sprites/grenade.png | Bin 0 -> 535 bytes texture/LAB/sprites/i_ammobox.png | Bin 0 -> 510 bytes texture/LAB/sprites/i_armor.png | Bin 0 -> 1046 bytes texture/LAB/sprites/i_bonus.png | Bin 0 -> 517 bytes texture/LAB/sprites/i_clip.png | Bin 0 -> 368 bytes texture/LAB/sprites/i_fireball.png | Bin 0 -> 661 bytes texture/LAB/sprites/i_fuel.png | Bin 0 -> 474 bytes texture/LAB/sprites/i_grenade.png | Bin 0 -> 703 bytes texture/LAB/sprites/i_health.png | Bin 0 -> 553 bytes texture/LAB/sprites/i_keyblue.png | Bin 0 -> 541 bytes texture/LAB/sprites/i_keygreen.png | Bin 0 -> 549 bytes texture/LAB/sprites/i_keyred.png | Bin 0 -> 545 bytes texture/LAB/sprites/i_nuke.png | Bin 0 -> 297 bytes texture/LAB/sprites/i_nuker.png | Bin 0 -> 690 bytes texture/LAB/sprites/i_pistol.png | Bin 0 -> 499 bytes texture/LAB/sprites/i_rifle.png | Bin 0 -> 702 bytes texture/LAB/sprites/i_spawn.png | Bin 0 -> 469 bytes texture/LAB/sprites/i_spawner.png | Bin 0 -> 931 bytes texture/LAB/sprites/insect0.png | Bin 0 -> 1856 bytes texture/LAB/sprites/insect1.png | Bin 0 -> 1865 bytes texture/LAB/sprites/insect2.png | Bin 0 -> 1844 bytes texture/LAB/sprites/insectatt0.png | Bin 0 -> 1956 bytes texture/LAB/sprites/insectatt1.png | Bin 0 -> 1704 bytes texture/LAB/sprites/insecthit0.png | Bin 0 -> 2042 bytes texture/LAB/sprites/insecthit1.png | Bin 0 -> 1544 bytes texture/LAB/sprites/insecthit2.png | Bin 0 -> 1024 bytes texture/LAB/sprites/insecthit3.png | Bin 0 -> 554 bytes texture/LAB/sprites/mutant0.png | Bin 0 -> 1484 bytes texture/LAB/sprites/mutant1.png | Bin 0 -> 1509 bytes texture/LAB/sprites/mutant2.png | Bin 0 -> 1447 bytes texture/LAB/sprites/mutatt0.png | Bin 0 -> 1353 bytes texture/LAB/sprites/mutatt1.png | Bin 0 -> 1454 bytes texture/LAB/sprites/muthit0.png | Bin 0 -> 1519 bytes texture/LAB/sprites/muthit1.png | Bin 0 -> 1400 bytes texture/LAB/sprites/muthit2.png | Bin 0 -> 968 bytes texture/LAB/sprites/muthit3.png | Bin 0 -> 661 bytes texture/LAB/sprites/plasmball.png | Bin 0 -> 508 bytes texture/LAB/sprites/robot0.png | Bin 0 -> 1631 bytes texture/LAB/sprites/robot1.png | Bin 0 -> 1405 bytes texture/LAB/sprites/robot2.png | Bin 0 -> 1651 bytes texture/LAB/sprites/robotatt0.png | Bin 0 -> 1675 bytes texture/LAB/sprites/robotatt1.png | Bin 0 -> 1540 bytes texture/LAB/sprites/robothit0.png | Bin 0 -> 1419 bytes texture/LAB/sprites/scrap0.png | Bin 0 -> 549 bytes texture/LAB/sprites/shard.png | Bin 0 -> 249 bytes texture/LAB/sprites/wasp0.png | Bin 0 -> 1082 bytes texture/LAB/sprites/wasp1.png | Bin 0 -> 1090 bytes texture/LAB/sprites/wasp2.png | Bin 0 -> 1133 bytes texture/LAB/sprites/wasp3.png | Bin 0 -> 1089 bytes texture/LAB/sprites/wasp5.png | Bin 0 -> 534 bytes texture/LAB/wall/tile000.png | Bin 0 -> 4579 bytes texture/LAB/wall/tile050.png | Bin 0 -> 464 bytes texture/LAB/wall/tile051.png | Bin 0 -> 410 bytes texture/LAB/wall/tile065.png | Bin 0 -> 1179 bytes texture/LAB/wall/tile066.png | Bin 0 -> 687 bytes texture/LAB/wall/tile067.png | Bin 0 -> 874 bytes texture/LAB/wall/tile068.png | Bin 0 -> 876 bytes texture/LAB/wall/tile069.png | Bin 0 -> 900 bytes texture/LAB/wall/tile070.png | Bin 0 -> 858 bytes texture/LAB/wall/tile071.png | Bin 0 -> 581 bytes texture/LAB/wall/tile072.png | Bin 0 -> 1140 bytes texture/LAB/wall/tile073.png | Bin 0 -> 806 bytes texture/LAB/wall/tile074.png | Bin 0 -> 846 bytes texture/LAB/wall/tile075.png | Bin 0 -> 6031 bytes texture/LAB/wall/tile076.png | Bin 0 -> 770 bytes texture/LAB/wall/tile077.png | Bin 0 -> 434 bytes texture/LAB/wall/tile078.png | Bin 0 -> 824 bytes texture/LAB/wall/tile079.png | Bin 0 -> 521 bytes texture/LAB/wall/tile080.png | Bin 0 -> 524 bytes texture/LAB/wall/tile081.png | Bin 0 -> 469 bytes texture/LAB/wall/tile082.png | Bin 0 -> 1486 bytes texture/LAB/wall/tile083.png | Bin 0 -> 590 bytes texture/LAB/wall/tile084.png | Bin 0 -> 299 bytes texture/LAB/wall/tile085.png | Bin 0 -> 649 bytes texture/LAB/wall/tile086.png | Bin 0 -> 360 bytes texture/LAB/wall/tile087.png | Bin 0 -> 556 bytes texture/LAB/wall/tile088.png | Bin 0 -> 476 bytes texture/LAB/wall/tile089.png | Bin 0 -> 1887 bytes texture/LAB/wall/tile090.png | Bin 0 -> 1800 bytes texture/LAB/wall/tile091.png | Bin 0 -> 1786 bytes texture/LAB/wall/tile092.png | Bin 0 -> 7006 bytes texture/LAB/wall/tile093.png | Bin 0 -> 192 bytes texture/LAB/wall/tile094.png | Bin 0 -> 296 bytes texture/LAB/wall/tile095.png | Bin 0 -> 269 bytes texture/LAB/wall/tile096.png | Bin 0 -> 192 bytes texture/LAB/wall/tile097.png | Bin 0 -> 276 bytes texture/LAB/wall/tile098.png | Bin 0 -> 208 bytes texture/LAB/wall/tile099.png | Bin 0 -> 3026 bytes texture/LAB/wall/tile100.png | Bin 0 -> 230 bytes texture/LAB/wall/tile101.png | Bin 0 -> 321 bytes texture/LAB/wall/tile102.png | Bin 0 -> 406 bytes texture/LAB/wall/tile103.png | Bin 0 -> 228 bytes texture/LAB/wall/tile104.png | Bin 0 -> 322 bytes texture/LAB/wall/tile105.png | Bin 0 -> 2674 bytes texture/LAB/wall/tile106.png | Bin 0 -> 2606 bytes texture/LAB/wall/tile107.png | Bin 0 -> 835 bytes texture/LAB/wall/tile108.png | Bin 0 -> 1820 bytes texture/LAB/wall/tile109.png | Bin 0 -> 1739 bytes texture/LAB/wall/tile110.png | Bin 0 -> 1180 bytes texture/LAB/wall/tile111.png | Bin 0 -> 287 bytes texture/LAB/wall/tile112.png | Bin 0 -> 276 bytes texture/LAB/wall/tile113.png | Bin 0 -> 552 bytes texture/LAB/wall/tile115.png | Bin 0 -> 3520 bytes texture/LAB/wall/tile116.png | Bin 0 -> 299 bytes texture/LAB/wall/tile117.png | Bin 0 -> 355 bytes texture/LAB/wall/tile118.png | Bin 0 -> 1242 bytes texture/LAB/wall/tile119.png | Bin 0 -> 345 bytes texture/LAB/wall/tile120.png | Bin 0 -> 526 bytes texture/LAB/wall/tile121.png | Bin 0 -> 293 bytes texture/LAB/wall/tile122.png | Bin 0 -> 383 bytes texture/LAB/wall/tile123.png | Bin 0 -> 279 bytes texture/LAB/wall/tile124.png | Bin 0 -> 1099 bytes texture/LAB/wall/tile125.png | Bin 0 -> 433 bytes texture/LAB/wall/tile126.png | Bin 0 -> 1325 bytes texture/LAB/wall/tile127.png | Bin 0 -> 1346 bytes texture/LAB/wall/tile128.png | Bin 0 -> 434 bytes texture/LAB/wall/tile129.png | Bin 0 -> 1482 bytes texture/LAB/wall/tile130.png | Bin 0 -> 451 bytes texture/LAB/wall/tile131.png | Bin 0 -> 357 bytes texture/LAB/wall/tile132.png | Bin 0 -> 228 bytes texture/LAB/wall/tile133.png | Bin 0 -> 491 bytes 322 files changed, 28427 insertions(+) create mode 100644 .project create mode 100644 LICENSE.txt create mode 100644 Mojo-Base.xise create mode 100644 ipcore_dir/.gitignore create mode 100644 ipcore_dir/coregen.cgp create mode 100644 ipcore_dir/div_8_dot_8_nodsp.asy create mode 100644 ipcore_dir/div_8_dot_8_nodsp.gise create mode 100644 ipcore_dir/div_8_dot_8_nodsp.ncf create mode 100644 ipcore_dir/div_8_dot_8_nodsp.ngc create mode 100644 ipcore_dir/div_8_dot_8_nodsp.v create mode 100644 ipcore_dir/div_8_dot_8_nodsp.veo create mode 100644 ipcore_dir/div_8_dot_8_nodsp.xco create mode 100644 ipcore_dir/div_8_dot_8_nodsp.xise create mode 100644 ipcore_dir/div_8_dot_8_nodsp/doc/div_gen_v4_0_readme.txt create mode 100644 ipcore_dir/div_8_dot_8_nodsp/doc/div_gen_v4_0_vinfo.html create mode 100644 ipcore_dir/div_8_dot_8_nodsp/doc/ds819_div_gen.pdf create mode 100644 ipcore_dir/div_8_dot_8_nodsp_flist.txt create mode 100644 ipcore_dir/div_8_dot_8_nodsp_xmdf.tcl create mode 100644 ipcore_dir/lcd_spi_clk.asy create mode 100644 ipcore_dir/lcd_spi_clk.gise create mode 100644 ipcore_dir/lcd_spi_clk.ncf create mode 100644 ipcore_dir/lcd_spi_clk.sym create mode 100755 ipcore_dir/lcd_spi_clk.ucf create mode 100755 ipcore_dir/lcd_spi_clk.v create mode 100755 ipcore_dir/lcd_spi_clk.veo create mode 100644 ipcore_dir/lcd_spi_clk.xco create mode 100755 ipcore_dir/lcd_spi_clk.xdc create mode 100644 ipcore_dir/lcd_spi_clk.xise create mode 100644 ipcore_dir/lcd_spi_clk/clk_wiz_v3_6_readme.txt create mode 100644 ipcore_dir/lcd_spi_clk/doc/clk_wiz_v3_6_readme.txt create mode 100644 ipcore_dir/lcd_spi_clk/doc/clk_wiz_v3_6_vinfo.html create mode 100644 ipcore_dir/lcd_spi_clk/doc/pg065_clk_wiz.pdf create mode 100755 ipcore_dir/lcd_spi_clk/example_design/lcd_spi_clk_exdes.ucf create mode 100755 ipcore_dir/lcd_spi_clk/example_design/lcd_spi_clk_exdes.v create mode 100755 ipcore_dir/lcd_spi_clk/example_design/lcd_spi_clk_exdes.xdc create mode 100755 ipcore_dir/lcd_spi_clk/implement/implement.bat create mode 100755 ipcore_dir/lcd_spi_clk/implement/implement.sh create mode 100755 ipcore_dir/lcd_spi_clk/implement/planAhead_ise.bat create mode 100755 ipcore_dir/lcd_spi_clk/implement/planAhead_ise.sh create mode 100755 ipcore_dir/lcd_spi_clk/implement/planAhead_ise.tcl create mode 100755 ipcore_dir/lcd_spi_clk/implement/planAhead_rdn.bat create mode 100755 ipcore_dir/lcd_spi_clk/implement/planAhead_rdn.sh create mode 100755 ipcore_dir/lcd_spi_clk/implement/planAhead_rdn.tcl create mode 100755 ipcore_dir/lcd_spi_clk/implement/xst.prj create mode 100755 ipcore_dir/lcd_spi_clk/implement/xst.scr create mode 100755 ipcore_dir/lcd_spi_clk/simulation/functional/simcmds.tcl create mode 100755 ipcore_dir/lcd_spi_clk/simulation/functional/simulate_isim.bat create mode 100755 ipcore_dir/lcd_spi_clk/simulation/functional/simulate_isim.sh create mode 100755 ipcore_dir/lcd_spi_clk/simulation/functional/simulate_mti.bat create mode 100755 ipcore_dir/lcd_spi_clk/simulation/functional/simulate_mti.do create mode 100755 ipcore_dir/lcd_spi_clk/simulation/functional/simulate_mti.sh create mode 100755 ipcore_dir/lcd_spi_clk/simulation/functional/simulate_ncsim.sh create mode 100755 ipcore_dir/lcd_spi_clk/simulation/functional/simulate_vcs.sh create mode 100755 ipcore_dir/lcd_spi_clk/simulation/functional/ucli_commands.key create mode 100755 ipcore_dir/lcd_spi_clk/simulation/functional/vcs_session.tcl create mode 100755 ipcore_dir/lcd_spi_clk/simulation/functional/wave.do create mode 100755 ipcore_dir/lcd_spi_clk/simulation/functional/wave.sv create mode 100755 ipcore_dir/lcd_spi_clk/simulation/lcd_spi_clk_tb.v create mode 100755 ipcore_dir/lcd_spi_clk/simulation/timing/lcd_spi_clk_tb.v create mode 100755 ipcore_dir/lcd_spi_clk/simulation/timing/sdf_cmd_file create mode 100755 ipcore_dir/lcd_spi_clk/simulation/timing/simcmds.tcl create mode 100755 ipcore_dir/lcd_spi_clk/simulation/timing/simulate_isim.sh create mode 100755 ipcore_dir/lcd_spi_clk/simulation/timing/simulate_mti.bat create mode 100755 ipcore_dir/lcd_spi_clk/simulation/timing/simulate_mti.do create mode 100755 ipcore_dir/lcd_spi_clk/simulation/timing/simulate_mti.sh create mode 100755 ipcore_dir/lcd_spi_clk/simulation/timing/simulate_ncsim.sh create mode 100755 ipcore_dir/lcd_spi_clk/simulation/timing/simulate_vcs.sh create mode 100755 ipcore_dir/lcd_spi_clk/simulation/timing/ucli_commands.key create mode 100755 ipcore_dir/lcd_spi_clk/simulation/timing/vcs_session.tcl create mode 100755 ipcore_dir/lcd_spi_clk/simulation/timing/wave.do create mode 100644 ipcore_dir/lcd_spi_clk_flist.txt create mode 100755 ipcore_dir/lcd_spi_clk_xmdf.tcl create mode 100644 iseconfig/Mojo-Base.projectmgr create mode 100644 iseconfig/mojo_top.xreport create mode 100644 scripts/RULER create mode 100755 scripts/lcdserial.pl create mode 100755 scripts/serialray.pl create mode 100755 scripts/set_sprite.pl create mode 100644 scripts/sout_line create mode 100755 scripts/texloader.pl create mode 100755 scripts/textureprep.pl create mode 100755 scripts/tload.sh create mode 100644 src/angle.rom create mode 100644 src/angle_rom.v create mode 100644 src/avr_interface.v create mode 100644 src/camerax.rom create mode 100644 src/camerax_rom.v create mode 100644 src/cast_ray.v create mode 100644 src/cast_ray_tb.v create mode 100644 src/cclk_detector.v create mode 100644 src/floordist.rom create mode 100644 src/floordist_rom.v create mode 100755 src/genroms.pl create mode 100644 src/height.rom create mode 100644 src/height_rom.v create mode 100644 src/idist.rom create mode 100644 src/idist_rom.v create mode 100644 src/iheight.rom create mode 100644 src/iheight_rom.v create mode 100644 src/lcd_driver.v create mode 100644 src/line_writer.v create mode 100644 src/line_writer_tb.v create mode 100644 src/map create mode 100755 src/map.pl create mode 100644 src/map.rom create mode 100644 src/map2 create mode 100644 src/map3 create mode 100644 src/map_rom.v create mode 100644 src/mmap.v create mode 100644 src/mmap_leds.v create mode 100644 src/mmap_tb.v create mode 100644 src/mojo.ucf create mode 100644 src/mojo_top.v create mode 100644 src/serial_rx.v create mode 100644 src/serial_tx.v create mode 100644 src/simple_dual_ram.v create mode 100644 src/spi.v create mode 100644 src/spi_slave.v create mode 100644 src/sprite.v create mode 100644 src/sprite_scanline.v create mode 100644 src/sprite_tb.v create mode 100644 src/task_crossdomain.v create mode 100644 syn/.gitignore create mode 100644 texture/LAB/door/door0.png create mode 100644 texture/LAB/door/door_blue.png create mode 100644 texture/LAB/door/door_green.png create mode 100644 texture/LAB/door/door_red.png create mode 100644 texture/LAB/door/door_surp.png create mode 100644 texture/LAB/guns/gun0a.png create mode 100644 texture/LAB/guns/gun0b.png create mode 100644 texture/LAB/guns/gun0c.png create mode 100644 texture/LAB/guns/gun0d.png create mode 100644 texture/LAB/guns/gun0e.png create mode 100644 texture/LAB/guns/gun1a.png create mode 100644 texture/LAB/guns/gun1b.png create mode 100644 texture/LAB/guns/gun1c.png create mode 100644 texture/LAB/guns/gun2.png create mode 100644 texture/LAB/guns/gun2b.png create mode 100644 texture/LAB/guns/gun2c.png create mode 100644 texture/LAB/guns/gun3.png create mode 100644 texture/LAB/guns/gun3a.png create mode 100644 texture/LAB/guns/gun3b.png create mode 100644 texture/LAB/guns/gun3c.png create mode 100644 texture/LAB/guns/gun3d.png create mode 100644 texture/LAB/guns/gun4.png create mode 100644 texture/LAB/guns/gun4b.png create mode 100644 texture/LAB/guns/gun4c.png create mode 100644 texture/LAB/guns/gun5a.png create mode 100644 texture/LAB/guns/gun5b.png create mode 100644 texture/LAB/guns/gun5c.png create mode 100644 texture/LAB/guns/gun6.png create mode 100644 texture/LAB/guns/gun6b.png create mode 100644 texture/LAB/guns/gun6c.png create mode 100644 texture/LAB/readme.txt create mode 100644 texture/LAB/sprites/acidspit.png create mode 100644 texture/LAB/sprites/bloodspr.png create mode 100644 texture/LAB/sprites/brain.png create mode 100644 texture/LAB/sprites/ceil_grass.png create mode 100644 texture/LAB/sprites/ceil_slab.png create mode 100644 texture/LAB/sprites/cobra0.png create mode 100644 texture/LAB/sprites/cobra1.png create mode 100644 texture/LAB/sprites/cobra2.png create mode 100644 texture/LAB/sprites/cobraatt0.png create mode 100644 texture/LAB/sprites/cobraatt1.png create mode 100644 texture/LAB/sprites/cobraatt2.png create mode 100644 texture/LAB/sprites/cobrahit0.png create mode 100644 texture/LAB/sprites/cobrahit1.png create mode 100644 texture/LAB/sprites/cobrahit2.png create mode 100644 texture/LAB/sprites/cobrahit3.png create mode 100644 texture/LAB/sprites/cobrahit4.png create mode 100644 texture/LAB/sprites/column.png create mode 100644 texture/LAB/sprites/crate.png create mode 100644 texture/LAB/sprites/cricket.png create mode 100644 texture/LAB/sprites/d_bin.png create mode 100644 texture/LAB/sprites/d_filebin.png create mode 100644 texture/LAB/sprites/d_grass.png create mode 100644 texture/LAB/sprites/d_lamp.png create mode 100644 texture/LAB/sprites/d_slab.png create mode 100644 texture/LAB/sprites/d_table.png create mode 100644 texture/LAB/sprites/d_tree.png create mode 100644 texture/LAB/sprites/fat0.png create mode 100644 texture/LAB/sprites/fat1.png create mode 100644 texture/LAB/sprites/fatatt0.png create mode 100644 texture/LAB/sprites/fatatt1.png create mode 100644 texture/LAB/sprites/fathit0.png create mode 100644 texture/LAB/sprites/fathit1.png create mode 100644 texture/LAB/sprites/fathit2.png create mode 100644 texture/LAB/sprites/fathit3.png create mode 100644 texture/LAB/sprites/fathit4.png create mode 100644 texture/LAB/sprites/fireball0.png create mode 100644 texture/LAB/sprites/fly0.png create mode 100644 texture/LAB/sprites/fly1.png create mode 100644 texture/LAB/sprites/frog0.png create mode 100644 texture/LAB/sprites/frog1.png create mode 100644 texture/LAB/sprites/frog2.png create mode 100644 texture/LAB/sprites/frog3.png create mode 100644 texture/LAB/sprites/frog4.png create mode 100644 texture/LAB/sprites/gib0.png create mode 100644 texture/LAB/sprites/gib1.png create mode 100644 texture/LAB/sprites/gib2.png create mode 100644 texture/LAB/sprites/gib3.png create mode 100644 texture/LAB/sprites/grenade.png create mode 100644 texture/LAB/sprites/i_ammobox.png create mode 100644 texture/LAB/sprites/i_armor.png create mode 100644 texture/LAB/sprites/i_bonus.png create mode 100644 texture/LAB/sprites/i_clip.png create mode 100644 texture/LAB/sprites/i_fireball.png create mode 100644 texture/LAB/sprites/i_fuel.png create mode 100644 texture/LAB/sprites/i_grenade.png create mode 100644 texture/LAB/sprites/i_health.png create mode 100644 texture/LAB/sprites/i_keyblue.png create mode 100644 texture/LAB/sprites/i_keygreen.png create mode 100644 texture/LAB/sprites/i_keyred.png create mode 100644 texture/LAB/sprites/i_nuke.png create mode 100644 texture/LAB/sprites/i_nuker.png create mode 100644 texture/LAB/sprites/i_pistol.png create mode 100644 texture/LAB/sprites/i_rifle.png create mode 100644 texture/LAB/sprites/i_spawn.png create mode 100644 texture/LAB/sprites/i_spawner.png create mode 100644 texture/LAB/sprites/insect0.png create mode 100644 texture/LAB/sprites/insect1.png create mode 100644 texture/LAB/sprites/insect2.png create mode 100644 texture/LAB/sprites/insectatt0.png create mode 100644 texture/LAB/sprites/insectatt1.png create mode 100644 texture/LAB/sprites/insecthit0.png create mode 100644 texture/LAB/sprites/insecthit1.png create mode 100644 texture/LAB/sprites/insecthit2.png create mode 100644 texture/LAB/sprites/insecthit3.png create mode 100644 texture/LAB/sprites/mutant0.png create mode 100644 texture/LAB/sprites/mutant1.png create mode 100644 texture/LAB/sprites/mutant2.png create mode 100644 texture/LAB/sprites/mutatt0.png create mode 100644 texture/LAB/sprites/mutatt1.png create mode 100644 texture/LAB/sprites/muthit0.png create mode 100644 texture/LAB/sprites/muthit1.png create mode 100644 texture/LAB/sprites/muthit2.png create mode 100644 texture/LAB/sprites/muthit3.png create mode 100644 texture/LAB/sprites/plasmball.png create mode 100644 texture/LAB/sprites/robot0.png create mode 100644 texture/LAB/sprites/robot1.png create mode 100644 texture/LAB/sprites/robot2.png create mode 100644 texture/LAB/sprites/robotatt0.png create mode 100644 texture/LAB/sprites/robotatt1.png create mode 100644 texture/LAB/sprites/robothit0.png create mode 100644 texture/LAB/sprites/scrap0.png create mode 100644 texture/LAB/sprites/shard.png create mode 100644 texture/LAB/sprites/wasp0.png create mode 100644 texture/LAB/sprites/wasp1.png create mode 100644 texture/LAB/sprites/wasp2.png create mode 100644 texture/LAB/sprites/wasp3.png create mode 100644 texture/LAB/sprites/wasp5.png create mode 100644 texture/LAB/wall/tile000.png create mode 100644 texture/LAB/wall/tile050.png create mode 100644 texture/LAB/wall/tile051.png create mode 100644 texture/LAB/wall/tile065.png create mode 100644 texture/LAB/wall/tile066.png create mode 100644 texture/LAB/wall/tile067.png create mode 100644 texture/LAB/wall/tile068.png create mode 100644 texture/LAB/wall/tile069.png create mode 100644 texture/LAB/wall/tile070.png create mode 100644 texture/LAB/wall/tile071.png create mode 100644 texture/LAB/wall/tile072.png create mode 100644 texture/LAB/wall/tile073.png create mode 100644 texture/LAB/wall/tile074.png create mode 100644 texture/LAB/wall/tile075.png create mode 100644 texture/LAB/wall/tile076.png create mode 100644 texture/LAB/wall/tile077.png create mode 100644 texture/LAB/wall/tile078.png create mode 100644 texture/LAB/wall/tile079.png create mode 100644 texture/LAB/wall/tile080.png create mode 100644 texture/LAB/wall/tile081.png create mode 100644 texture/LAB/wall/tile082.png create mode 100644 texture/LAB/wall/tile083.png create mode 100644 texture/LAB/wall/tile084.png create mode 100644 texture/LAB/wall/tile085.png create mode 100644 texture/LAB/wall/tile086.png create mode 100644 texture/LAB/wall/tile087.png create mode 100644 texture/LAB/wall/tile088.png create mode 100644 texture/LAB/wall/tile089.png create mode 100644 texture/LAB/wall/tile090.png create mode 100644 texture/LAB/wall/tile091.png create mode 100644 texture/LAB/wall/tile092.png create mode 100644 texture/LAB/wall/tile093.png create mode 100644 texture/LAB/wall/tile094.png create mode 100644 texture/LAB/wall/tile095.png create mode 100644 texture/LAB/wall/tile096.png create mode 100644 texture/LAB/wall/tile097.png create mode 100644 texture/LAB/wall/tile098.png create mode 100644 texture/LAB/wall/tile099.png create mode 100644 texture/LAB/wall/tile100.png create mode 100644 texture/LAB/wall/tile101.png create mode 100644 texture/LAB/wall/tile102.png create mode 100644 texture/LAB/wall/tile103.png create mode 100644 texture/LAB/wall/tile104.png create mode 100644 texture/LAB/wall/tile105.png create mode 100644 texture/LAB/wall/tile106.png create mode 100644 texture/LAB/wall/tile107.png create mode 100644 texture/LAB/wall/tile108.png create mode 100644 texture/LAB/wall/tile109.png create mode 100644 texture/LAB/wall/tile110.png create mode 100644 texture/LAB/wall/tile111.png create mode 100644 texture/LAB/wall/tile112.png create mode 100644 texture/LAB/wall/tile113.png create mode 100644 texture/LAB/wall/tile115.png create mode 100644 texture/LAB/wall/tile116.png create mode 100644 texture/LAB/wall/tile117.png create mode 100644 texture/LAB/wall/tile118.png create mode 100644 texture/LAB/wall/tile119.png create mode 100644 texture/LAB/wall/tile120.png create mode 100644 texture/LAB/wall/tile121.png create mode 100644 texture/LAB/wall/tile122.png create mode 100644 texture/LAB/wall/tile123.png create mode 100644 texture/LAB/wall/tile124.png create mode 100644 texture/LAB/wall/tile125.png create mode 100644 texture/LAB/wall/tile126.png create mode 100644 texture/LAB/wall/tile127.png create mode 100644 texture/LAB/wall/tile128.png create mode 100644 texture/LAB/wall/tile129.png create mode 100644 texture/LAB/wall/tile130.png create mode 100644 texture/LAB/wall/tile131.png create mode 100644 texture/LAB/wall/tile132.png create mode 100644 texture/LAB/wall/tile133.png diff --git a/.project b/.project new file mode 100644 index 0000000..cc05a57 --- /dev/null +++ b/.project @@ -0,0 +1,45 @@ + + + Mojo-Demo + + + + + + net.sourceforge.veditor.simulateBuilder + + + net.sourceforge.veditor.simulateBuilder.00000000Default.CleanCommand + echo 'Clean' + + + net.sourceforge.veditor.simulateBuilder.00000000Default.buildOrder + 0 + + + net.sourceforge.veditor.simulateBuilder.00000000Default.command + echo 'No Build Configuration Specified' + + + net.sourceforge.veditor.simulateBuilder.00000000Default.enable + false + + + net.sourceforge.veditor.simulateBuilder.00000000Default.name + Default + + + net.sourceforge.veditor.simulateBuilder.00000000Default.parser + + + + net.sourceforge.veditor.simulateBuilder.00000000Default.workFolder + + + + + + + net.sourceforge.veditor.HdlNature + + diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..b81449c --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2018 Dormando +Copyright (c) 2015 Embedded Micro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/Mojo-Base.xise b/Mojo-Base.xise new file mode 100644 index 0000000..72c3956 --- /dev/null +++ b/Mojo-Base.xise @@ -0,0 +1,511 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/ipcore_dir/.gitignore b/ipcore_dir/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/ipcore_dir/coregen.cgp b/ipcore_dir/coregen.cgp new file mode 100644 index 0000000..d58f8d7 --- /dev/null +++ b/ipcore_dir/coregen.cgp @@ -0,0 +1,9 @@ +SET busformat = BusFormatAngleBracketNotRipped +SET designentry = Verilog +SET device = xc6slx9 +SET devicefamily = spartan6 +SET flowvendor = Other +SET package = tqg144 +SET speedgrade = -2 +SET verilogsim = true +SET vhdlsim = false diff --git a/ipcore_dir/div_8_dot_8_nodsp.asy b/ipcore_dir/div_8_dot_8_nodsp.asy new file mode 100644 index 0000000..1ab7337 --- /dev/null +++ b/ipcore_dir/div_8_dot_8_nodsp.asy @@ -0,0 +1,41 @@ +Version 4 +SymbolType BLOCK +TEXT 32 32 LEFT 4 div_8_dot_8_nodsp +RECTANGLE Normal 32 32 608 576 +LINE Normal 0 80 32 80 +PIN 0 80 LEFT 36 +PINATTR PinName s_axis_dividend_tvalid +PINATTR Polarity IN +LINE Normal 0 112 32 112 +PIN 0 112 LEFT 36 +PINATTR PinName s_axis_dividend_tready +PINATTR Polarity OUT +LINE Wide 0 144 32 144 +PIN 0 144 LEFT 36 +PINATTR PinName s_axis_dividend_tdata[23:0] +PINATTR Polarity IN +LINE Normal 0 272 32 272 +PIN 0 272 LEFT 36 +PINATTR PinName s_axis_divisor_tvalid +PINATTR Polarity IN +LINE Normal 0 304 32 304 +PIN 0 304 LEFT 36 +PINATTR PinName s_axis_divisor_tready +PINATTR Polarity OUT +LINE Wide 0 336 32 336 +PIN 0 336 LEFT 36 +PINATTR PinName s_axis_divisor_tdata[15:0] +PINATTR Polarity IN +LINE Normal 0 464 32 464 +PIN 0 464 LEFT 36 +PINATTR PinName aclk +PINATTR Polarity IN +LINE Normal 640 80 608 80 +PIN 640 80 RIGHT 36 +PINATTR PinName m_axis_dout_tvalid +PINATTR Polarity OUT +LINE Wide 640 144 608 144 +PIN 640 144 RIGHT 36 +PINATTR PinName m_axis_dout_tdata[39:0] +PINATTR Polarity OUT + diff --git a/ipcore_dir/div_8_dot_8_nodsp.gise b/ipcore_dir/div_8_dot_8_nodsp.gise new file mode 100644 index 0000000..7f86268 --- /dev/null +++ b/ipcore_dir/div_8_dot_8_nodsp.gise @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + + diff --git a/ipcore_dir/div_8_dot_8_nodsp.ncf b/ipcore_dir/div_8_dot_8_nodsp.ncf new file mode 100644 index 0000000..e69de29 diff --git a/ipcore_dir/div_8_dot_8_nodsp.ngc b/ipcore_dir/div_8_dot_8_nodsp.ngc new file mode 100644 index 0000000..2f58870 --- /dev/null +++ b/ipcore_dir/div_8_dot_8_nodsp.ngc @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6e +$g4b44<,[o}e~g`n;"2*73>(-80!5;2=67=62@D[YY4|_`zjwZbn~`nnbiQ{urgq85<76;;0=7GAPTV9wZgazUoe{g|os]wqvcu490;21EC^ZT;q\e}otWmc}eikad^vgeqg;::0;2?5=709764=383E^X][[:l]b|luXlfSyjnt`>0=?69m2?1EC^ZT;C?0?6992<97;7k;7qo|?!??4839;44=>:23=86O30?68E979<2K7>3:4A=1=2>G;<3:586O34?38F==E]ZUBBKA>;B08GD4:;BNH=53EKCM\THDXFDD78GIMAP11H@FHW192:?FIJE@^_II?;;BMQAZABFLXJXDAA_HLEK2=DZLK_II?4D39G<7=CA;1N8?5ID028BA12J09:IN8;A9037>@CM81L?6IAD09J6>O7:2C:>6G=2:K06>O3:2C>56GAIUQWEQC43@D]>6BF6:NLEACC>2FDOFKK7:NLCLEFD=1GYY?;;MWW61=K]]9?7A[[649NQ]E^k2Gjfb|YesqjkkeHB\^EYG:5AOLGQC@7;Qa8T+479:;;=>QC4:RBVQg1X^AM<2D48WQGS]Z>0XT^Jc:WPAWYQAZCI@H=4VBA:?SOB_V^R\H?k;YKOMK^*PMH+<#?/SUWA$5(6(HYHED;4XNP@]3=_[]FBN^c`VZye`Xjrrklj46?00`8fim789:;<=?012340d?014a?gjl89:;<=>8b:`oo56789:;4o5mlj23456780h0nae?012345ge3kf`<=>?012af>dkc9:;<=>?cc9ahn6789:;?01224g=edb:;<=>?10`8fim789:;<<?012350d?004a?gjl89:;<=?8b:`oo56789::4o5mlj23456790h0nae?012344ge3kf`<=>?013af>dkc9:;<=>>cc9ahn6789:;=il4bmi3456788oi7obd0123457aj2hgg=>?01214g=edb:;<=>?20`8fim789:;?012360d?034a?gjl89:;<=<8b:`oo56789:94o5mlj234567:0h0nae?012347ge3kf`<=>?010af>dkc9:;<=>=cc9ahn6789:;>il4bmi345678;oi7obd0123454aj2hgg=>?01204g=edb:;<=>?30`8fim789:;<>?012370d?024a?gjl89:;<==8b:`oo56789:84o5mlj234567;0h0nae?012346ge3kf`<=>?011af>dkc9:;<=>?01274g=edb:;<=>?40`8fim789:;<98n6lck1234563?012300d?054a?gjl89:;<=:8b:`oo56789:?4o5mlj234567<0h0nae?012341ge3kf`<=>?016af>dkc9:;<=>;cc9ahn6789:;8il4bmi345678=oi7obd0123452aj2hgg=>?01264g=edb:;<=>?50`8fim789:;<8?012310d?044a?gjl89:;<=;8b:`oo56789:>4o5mlj234567=0h0nae?012340ge3kf`<=>?017af>dkc9:;<=>:cc9ahn6789:;9il4bmi345678?01254g=edb:;<=>?60`8fim789:;<;?012320d?074a?gjl89:;<=88b:`oo56789:=4o5mlj234567>0h0nae?012343ge3kf`<=>?014af>dkc9:;<=>9cc9ahn6789:;:il4bmi345678?oi7obd0123450aj2hgg=>?01244g=edb:;<=>?70`8fim789:;<:?012330d?064a?gjl89:;<=98b:`oo56789:<4o5mlj234567?0h0nae?012342ge3kf`<=>?015af>dkc9:;<=>8cc9ahn6789:;;il4bmi345678>oi7obd0123451aj2hgg=>?012;4g=edb:;<=>?80`8fim789:;<5?0123<0d?094a?gjl89:;<=68b:`oo56789:34o5mlj23456700h0nae?01234=ge3kf`<=>?01:af>dkc9:;<=>7cc9ahn6789:;4il4bmi3456781oi7obd012345>aj2hgg=>?012:4g=edb:;<=>?90`8fim789:;<4?0123=0d?084a?gjl89:;<=78b:`oo56789:24o5mlj23456710h0nae?01234?01;af>dkc9:;<=>6cc9ahn6789:;5il4bmi3456780oi7obd012345?aj2hgg=>?012b4g=edb:;<=>?a0`8fim789:;?0123e0d?0`4a?gjl89:;<=o8b:`oo56789:j4o5mlj234567i0h0nae?01234dge3kf`<=>?01caf>dkc9:;<=>ncc9ahn6789:;mil4bmi345678hoi7obd012345gaj2hgg=>?012a4g=edb:;<=>?b0`8fim789:;?0123f0d?0c4a?gjl89:;<=l8b:`oo56789:i4o5mlj234567j0h0nae?01234gge3kf`<=>?01`af>dkc9:;<=>mcc9ahn6789:;nil4bmi345678koi7obd012345daj2hgg=>?012`4g=edb:;<=>?c0`8fim789:;?0123g0d?0b4a?gjl89:;<=m8b:`oo56789:h4o5mlj234567k0h0nae?01234fge3kf`<=>?01aaf>dkc9:;<=>lcc9ahn6789:;oil4bmi345678joi7obd012345eaj2hgg=>?012g4g=edb:;<=>?d0`8fim789:;?0123`0d?0e4a?gjl89:;<=j8b:`oo56789:o4o5mlj234567l0h0nae?01234age3kf`<=>?01faf>dkc9:;<=>kcc9ahn6789:;hil4bmi345678moi7obd012345baj2hgg=>?012f4g=edb:;<=>?e0`8fim789:;?0123a0d?0d4a?gjl89:;<=k8b:`oo56789:n4o5mlj234567m0h0nae?01234`ge3kf`<=>?01gaf>dkc9:;<=>jcc9ahn6789:;iil4bmi345678loi7obd012345caj2hgg=>?012e4g=edb:;<=>?f0`8fim789:;?0123b0d?0g4a?gjl89:;<=h8b:`oo56789:m4o5mlj234567n0h0nae?01234cge3kf`<=>?01daf>dkc9:;<=>icc9ahn6789:;jil4bmi345678ooi7obd012345`aj2hgg=>?01334g=edb:;<=>>00`8fim789:;==?012240d?114a?gjl89:;<<>8b:`oo56789;;4o5mlj23456680h0nae?012355ge3kf`<=>?002af>dkc9:;<=??cc9ahn6789::?01324g=edb:;<=>>10`8fim789:;=<?012250d?104a?gjl89:;<?003af>dkc9:;<=?>cc9ahn6789::=il4bmi3456798oi7obd0123447aj2hgg=>?01314g=edb:;<=>>20`8fim789:;=??012260d?134a?gjl89:;<<<8b:`oo56789;94o5mlj234566:0h0nae?012357ge3kf`<=>?000af>dkc9:;<=?=cc9ahn6789::>il4bmi345679;oi7obd0123444aj2hgg=>?01304g=edb:;<=>>30`8fim789:;=>?012270d?124a?gjl89:;<<=8b:`oo56789;84o5mlj234566;0h0nae?012356ge3kf`<=>?001af>dkc9:;<=??01374g=edb:;<=>>40`8fim789:;=98n6lck1234573?012200d?154a?gjl89:;<<:8b:`oo56789;?4o5mlj234566<0h0nae?012351ge3kf`<=>?006af>dkc9:;<=?;cc9ahn6789::8il4bmi345679=oi7obd0123442aj2hgg=>?01364g=edb:;<=>>50`8fim789:;=8?012210d?144a?gjl89:;<<;8b:`oo56789;>4o5mlj234566=0h0nae?012350ge3kf`<=>?007af>dkc9:;<=?:cc9ahn6789::9il4bmi345679?01354g=edb:;<=>>60`8fim789:;=;?012220d?174a?gjl89:;<<88b:`oo56789;=4o5mlj234566>0h0nae?012353ge3kf`<=>?004af>dkc9:;<=?9cc9ahn6789:::il4bmi345679?oi7obd0123440aj2hgg=>?01344g=edb:;<=>>70`8fim789:;=:?012230d?164a?gjl89:;<<98b:`oo56789;<4o5mlj234566?0h0nae?012352ge3kf`<=>?005af>dkc9:;<=?8cc9ahn6789::;il4bmi345679>oi7obd0123441aj2hgg=>?013;4g=edb:;<=>>80`8fim789:;=5?0122<0d?194a?gjl89:;<<68b:`oo56789;34o5mlj23456600h0nae?01235=ge3kf`<=>?00:af>dkc9:;<=?7cc9ahn6789::4il4bmi3456791oi7obd012344>aj2hgg=>?013:4g=edb:;<=>>90`8fim789:;=4?0122=0d?184a?gjl89:;<<78b:`oo56789;24o5mlj23456610h0nae?01235?00;af>dkc9:;<=?6cc9ahn6789::5il4bmi3456790oi7obd012344?aj2hgg=>?013b4g=edb:;<=>>a0`8fim789:;=l?0122e0d?1`4a?gjl89:;<?00caf>dkc9:;<=?ncc9ahn6789::mil4bmi345679hoi7obd012344gaj2hgg=>?013a4g=edb:;<=>>b0`8fim789:;=o?0122f0d?1c4a?gjl89:;<?00`af>dkc9:;<=?mcc9ahn6789::nil4bmi345679koi7obd012344daj2hgg=>?013`4g=edb:;<=>>c0`8fim789:;=n?0122g0d?1b4a?gjl89:;<?00aaf>dkc9:;<=?lcc9ahn6789::oil4bmi345679joi7obd012344eaj2hgg=>?013g4g=edb:;<=>>d0`8fim789:;=i?0122`0d?1e4a?gjl89:;<?00faf>dkc9:;<=?kcc9ahn6789::hil4bmi345679moi7obd012344baj2hgg=>?013f4g=edb:;<=>>e0`8fim789:;=h?0122a0d?1d4a?gjl89:;<?00gaf>dkc9:;<=?jcc9ahn6789::iil4bmi345679loi7obd012344caj2hgg=>?013e4g=edb:;<=>>f0`8fim789:;=k?0122b0d?1g4a?gjl89:;<?00daf>dkc9:;<=?icc9ahn6789::jil4bmi345679ooi7obd012344`aj2hgg=>?01034g=edb:;<=>=00`8fim789:;>=?012140d?214a?gjl89:;8b:`oo567898;4o5mlj23456580h0nae?012365ge3kf`<=>?032af>dkc9:;<=?01024g=edb:;<=>=10`8fim789:;><?012150d?204a?gjl89:;?033af>dkc9:;<=<>cc9ahn6789:9=il4bmi34567:8oi7obd0123477aj2hgg=>?01014g=edb:;<=>=20`8fim789:;>??012160d?234a?gjl89:;?030af>dkc9:;<=<=cc9ahn6789:9>il4bmi34567:;oi7obd0123474aj2hgg=>?01004g=edb:;<=>=30`8fim789:;>>?012170d?224a?gjl89:;?031af>dkc9:;<=<?01074g=edb:;<=>=40`8fim789:;>98n6lck1234543?012100d?254a?gjl89:;?036af>dkc9:;<=<;cc9ahn6789:98il4bmi34567:=oi7obd0123472aj2hgg=>?01064g=edb:;<=>=50`8fim789:;>8?012110d?244a?gjl89:;4o5mlj234565=0h0nae?012360ge3kf`<=>?037af>dkc9:;<=<:cc9ahn6789:99il4bmi34567:?01054g=edb:;<=>=60`8fim789:;>;?012120d?274a?gjl89:;0h0nae?012363ge3kf`<=>?034af>dkc9:;<=<9cc9ahn6789:9:il4bmi34567:?oi7obd0123470aj2hgg=>?01044g=edb:;<=>=70`8fim789:;>:?012130d?264a?gjl89:;?035af>dkc9:;<=<8cc9ahn6789:9;il4bmi34567:>oi7obd0123471aj2hgg=>?010;4g=edb:;<=>=80`8fim789:;>5?0121<0d?294a?gjl89:;?03:af>dkc9:;<=<7cc9ahn6789:94il4bmi34567:1oi7obd012347>aj2hgg=>?010:4g=edb:;<=>=90`8fim789:;>4?0121=0d?284a?gjl89:;?03;af>dkc9:;<=<6cc9ahn6789:95il4bmi34567:0oi7obd012347?aj2hgg=>?010b4g=edb:;<=>=a0`8fim789:;>l?0121e0d?2`4a?gjl89:;?03caf>dkc9:;<=?010a4g=edb:;<=>=b0`8fim789:;>o?0121f0d?2c4a?gjl89:;?03`af>dkc9:;<=?010`4g=edb:;<=>=c0`8fim789:;>n?0121g0d?2b4a?gjl89:;?03aaf>dkc9:;<=?010g4g=edb:;<=>=d0`8fim789:;>i?0121`0d?2e4a?gjl89:;?03faf>dkc9:;<=?010f4g=edb:;<=>=e0`8fim789:;>h?0121a0d?2d4a?gjl89:;?03gaf>dkc9:;<=?010e4g=edb:;<=>=f0`8fim789:;>k?0121b0d?2g4a?gjl89:;?03daf>dkc9:;<=?01134g=edb:;<=><00`8fim789:;?=?012040d?314a?gjl89:;<>>8b:`oo567899;4o5mlj23456480h0nae?012375ge3kf`<=>?022af>dkc9:;<==?cc9ahn6789:8?01124g=edb:;<=><10`8fim789:;?<?012050d?304a?gjl89:;<>?8b:`oo567899:4o5mlj23456490h0nae?012374ge3kf`<=>?023af>dkc9:;<==>cc9ahn6789:8=il4bmi34567;8oi7obd0123467aj2hgg=>?01114g=edb:;<=><20`8fim789:;???012060d?334a?gjl89:;<><8b:`oo56789994o5mlj234564:0h0nae?012377ge3kf`<=>?020af>dkc9:;<===cc9ahn6789:8>il4bmi34567;;oi7obd0123464aj2hgg=>?01104g=edb:;<=><30`8fim789:;?>?012070d?324a?gjl89:;<>=8b:`oo56789984o5mlj234564;0h0nae?012376ge3kf`<=>?021af>dkc9:;<==?01174g=edb:;<=><40`8fim789:;?98n6lck1234553?012000d?354a?gjl89:;<>:8b:`oo567899?4o5mlj234564<0h0nae?012371ge3kf`<=>?026af>dkc9:;<==;cc9ahn6789:88il4bmi34567;=oi7obd0123462aj2hgg=>?01164g=edb:;<=><50`8fim789:;?8?012010d?344a?gjl89:;<>;8b:`oo567899>4o5mlj234564=0h0nae?012370ge3kf`<=>?027af>dkc9:;<==:cc9ahn6789:89il4bmi34567;?01154g=edb:;<=><60`8fim789:;?;?012020d?374a?gjl89:;<>88b:`oo567899=4o5mlj234564>0h0nae?012373ge3kf`<=>?024af>dkc9:;<==9cc9ahn6789:8:il4bmi34567;?oi7obd0123460aj2hgg=>?01144g=edb:;<=><70`8fim789:;?:?012030d?364a?gjl89:;<>98b:`oo567899<4o5mlj234564?0h0nae?012372ge3kf`<=>?025af>dkc9:;<==8cc9ahn6789:8;il4bmi34567;>oi7obd0123461aj2hgg=>?011;4g=edb:;<=><80`8fim789:;?5?0120<0d?394a?gjl89:;<>68b:`oo56789934o5mlj23456400h0nae?01237=ge3kf`<=>?02:af>dkc9:;<==7cc9ahn6789:84il4bmi34567;1oi7obd012346>aj2hgg=>?011:4g=edb:;<=><90`8fim789:;?4?0120=0d?384a?gjl89:;<>78b:`oo56789924o5mlj23456410h0nae?01237?02;af>dkc9:;<==6cc9ahn6789:85il4bmi34567;0oi7obd012346?aj2hgg=>?011b4g=edb:;<=>?0120e0d?3`4a?gjl89:;<>o8b:`oo567899j4o5mlj234564i0h0nae?01237dge3kf`<=>?02caf>dkc9:;<==ncc9ahn6789:8mil4bmi34567;hoi7obd012346gaj2hgg=>?011a4g=edb:;<=>?0120f0d?3c4a?gjl89:;<>l8b:`oo567899i4o5mlj234564j0h0nae?01237gge3kf`<=>?02`af>dkc9:;<==mcc9ahn6789:8nil4bmi34567;koi7obd012346daj2hgg=>?011`4g=edb:;<=>?0120g0d?3b4a?gjl89:;<>m8b:`oo567899h4o5mlj234564k0h0nae?01237fge3kf`<=>?02aaf>dkc9:;<==lcc9ahn6789:8oil4bmi34567;joi7obd012346eaj2hgg=>?011g4g=edb:;<=>?0120`0d?3e4a?gjl89:;<>j8b:`oo567899o4o5mlj234564l0h0nae?01237age3kf`<=>?02faf>dkc9:;<==kcc9ahn6789:8hil4bmi34567;moi7obd012346baj2hgg=>?011f4g=edb:;<=>?0120a0d?3d4a?gjl89:;<>k8b:`oo567899n4o5mlj234564m0h0nae?01237`ge3kf`<=>?02gaf>dkc9:;<==jcc9ahn6789:8iil4bmi34567;loi7obd012346caj2hgg=>?011e4g=edb:;<=>?0120b0d?3g4a?gjl89:;<>h8b:`oo567899m4o5mlj234564n0h0nae?01237cge3kf`<=>?02daf>dkc9:;<==icc9ahn6789:8jil4bmi34567;ooi7obd012346`aj2hgg=>?01634g=edb:;<=>;00`8fim789:;8=?012740d?414a?gjl89:;<9>8b:`oo56789>;4o5mlj23456380h0nae?012305ge3kf`<=>?052af>dkc9:;<=:?cc9ahn6789:??01624g=edb:;<=>;10`8fim789:;8<?012750d?404a?gjl89:;<9?8b:`oo56789>:4o5mlj23456390h0nae?012304ge3kf`<=>?053af>dkc9:;<=:>cc9ahn6789:?=il4bmi34567<8oi7obd0123417aj2hgg=>?01614g=edb:;<=>;20`8fim789:;8??012760d?434a?gjl89:;<9<8b:`oo56789>94o5mlj234563:0h0nae?012307ge3kf`<=>?050af>dkc9:;<=:=cc9ahn6789:?>il4bmi34567<;oi7obd0123414aj2hgg=>?01604g=edb:;<=>;30`8fim789:;8>?012770d?424a?gjl89:;<9=8b:`oo56789>84o5mlj234563;0h0nae?012306ge3kf`<=>?051af>dkc9:;<=:?01674g=edb:;<=>;40`8fim789:;898n6lck1234523?012700d?454a?gjl89:;<9:8b:`oo56789>?4o5mlj234563<0h0nae?012301ge3kf`<=>?056af>dkc9:;<=:;cc9ahn6789:?8il4bmi34567<=oi7obd0123412aj2hgg=>?01664g=edb:;<=>;50`8fim789:;88?012710d?444a?gjl89:;<9;8b:`oo56789>>4o5mlj234563=0h0nae?012300ge3kf`<=>?057af>dkc9:;<=::cc9ahn6789:?9il4bmi34567<?01654g=edb:;<=>;60`8fim789:;8;?012720d?474a?gjl89:;<988b:`oo56789>=4o5mlj234563>0h0nae?012303ge3kf`<=>?054af>dkc9:;<=:9cc9ahn6789:?:il4bmi34567?01644g=edb:;<=>;70`8fim789:;8:?012730d?464a?gjl89:;<998b:`oo56789><4o5mlj234563?0h0nae?012302ge3kf`<=>?055af>dkc9:;<=:8cc9ahn6789:?;il4bmi34567<>oi7obd0123411aj2hgg=>?016;4g=edb:;<=>;80`8fim789:;85?0127<0d?494a?gjl89:;<968b:`oo56789>34o5mlj23456300h0nae?01230=ge3kf`<=>?05:af>dkc9:;<=:7cc9ahn6789:?4il4bmi34567<1oi7obd012341>aj2hgg=>?016:4g=edb:;<=>;90`8fim789:;84?0127=0d?484a?gjl89:;<978b:`oo56789>24o5mlj23456310h0nae?01230?05;af>dkc9:;<=:6cc9ahn6789:?5il4bmi34567<0oi7obd012341?aj2hgg=>?016b4g=edb:;<=>;a0`8fim789:;8l?0127e0d?4`4a?gjl89:;<9o8b:`oo56789>j4o5mlj234563i0h0nae?01230dge3kf`<=>?05caf>dkc9:;<=:ncc9ahn6789:?mil4bmi34567?016a4g=edb:;<=>;b0`8fim789:;8o?0127f0d?4c4a?gjl89:;<9l8b:`oo56789>i4o5mlj234563j0h0nae?01230gge3kf`<=>?05`af>dkc9:;<=:mcc9ahn6789:?nil4bmi34567?016`4g=edb:;<=>;c0`8fim789:;8n?0127g0d?4b4a?gjl89:;<9m8b:`oo56789>h4o5mlj234563k0h0nae?01230fge3kf`<=>?05aaf>dkc9:;<=:lcc9ahn6789:?oil4bmi34567?016g4g=edb:;<=>;d0`8fim789:;8i?0127`0d?4e4a?gjl89:;<9j8b:`oo56789>o4o5mlj234563l0h0nae?01230age3kf`<=>?05faf>dkc9:;<=:kcc9ahn6789:?hil4bmi34567?016f4g=edb:;<=>;e0`8fim789:;8h?0127a0d?4d4a?gjl89:;<9k8b:`oo56789>n4o5mlj234563m0h0nae?01230`ge3kf`<=>?05gaf>dkc9:;<=:jcc9ahn6789:?iil4bmi34567?016e4g=edb:;<=>;f0`8fim789:;8k?0127b0d?4g4a?gjl89:;<9h8b:`oo56789>m4o5mlj234563n0h0nae?01230cge3kf`<=>?05daf>dkc9:;<=:icc9ahn6789:?jil4bmi34567?01734g=edb:;<=>:00`8fim789:;9=?012640d?514a?gjl89:;<8>8b:`oo56789?;4o5mlj23456280h0nae?012315ge3kf`<=>?042af>dkc9:;<=;?cc9ahn6789:>?01724g=edb:;<=>:10`8fim789:;9<?012650d?504a?gjl89:;<8?8b:`oo56789?:4o5mlj23456290h0nae?012314ge3kf`<=>?043af>dkc9:;<=;>cc9ahn6789:>=il4bmi34567=8oi7obd0123407aj2hgg=>?01714g=edb:;<=>:20`8fim789:;9??012660d?534a?gjl89:;<8<8b:`oo56789?94o5mlj234562:0h0nae?012317ge3kf`<=>?040af>dkc9:;<=;=cc9ahn6789:>>il4bmi34567=;oi7obd0123404aj2hgg=>?01704g=edb:;<=>:30`8fim789:;9>?012670d?524a?gjl89:;<8=8b:`oo56789?84o5mlj234562;0h0nae?012316ge3kf`<=>?041af>dkc9:;<=;?il4bmi34567=:oi7obd0123405aj2hgg=>?01774g=edb:;<=>:40`8fim789:;998n6lck1234533?012600d?554a?gjl89:;<8:8b:`oo56789??4o5mlj234562<0h0nae?012311ge3kf`<=>?046af>dkc9:;<=;;cc9ahn6789:>8il4bmi34567==oi7obd0123402aj2hgg=>?01764g=edb:;<=>:50`8fim789:;98?012610d?544a?gjl89:;<8;8b:`oo56789?>4o5mlj234562=0h0nae?012310ge3kf`<=>?047af>dkc9:;<=;:cc9ahn6789:>9il4bmi34567=?01754g=edb:;<=>:60`8fim789:;9;?012620d?574a?gjl89:;<888b:`oo56789?=4o5mlj234562>0h0nae?012313ge3kf`<=>?044af>dkc9:;<=;9cc9ahn6789:>:il4bmi34567=?oi7obd0123400aj2hgg=>?01744g=edb:;<=>:70`8fim789:;9:?012630d?564a?gjl89:;<898b:`oo56789?<4o5mlj234562?0h0nae?012312ge3kf`<=>?045af>dkc9:;<=;8cc9ahn6789:>;il4bmi34567=>oi7obd0123401aj2hgg=>?017;4g=edb:;<=>:80`8fim789:;95?0126<0d?594a?gjl89:;<868b:`oo56789?34o5mlj23456200h0nae?01231=ge3kf`<=>?04:af>dkc9:;<=;7cc9ahn6789:>4il4bmi34567=1oi7obd012340>aj2hgg=>?017:4g=edb:;<=>:90`8fim789:;94?0126=0d?584a?gjl89:;<878b:`oo56789?24o5mlj23456210h0nae?01231?04;af>dkc9:;<=;6cc9ahn6789:>5il4bmi34567=0oi7obd012340?aj2hgg=>?017b4g=edb:;<=>:a0`8fim789:;9l?0126e0d?5`4a?gjl89:;<8o8b:`oo56789?j4o5mlj234562i0h0nae?01231dge3kf`<=>?04caf>dkc9:;<=;ncc9ahn6789:>mil4bmi34567=hoi7obd012340gaj2hgg=>?017a4g=edb:;<=>:b0`8fim789:;9o?0126f0d?5c4a?gjl89:;<8l8b:`oo56789?i4o5mlj234562j0h0nae?01231gge3kf`<=>?04`af>dkc9:;<=;mcc9ahn6789:>nil4bmi34567=koi7obd012340daj2hgg=>?017`4g=edb:;<=>:c0`8fim789:;9n?0126g0d?5b4a?gjl89:;<8m8b:`oo56789?h4o5mlj234562k0h0nae?01231fge3kf`<=>?04aaf>dkc9:;<=;lcc9ahn6789:>oil4bmi34567=joi7obd012340eaj2hgg=>?017g4g=edb:;<=>:d0`8fim789:;9i?0126`0d?5e4a?gjl89:;<8j8b:`oo56789?o4o5mlj234562l0h0nae?01231age3kf`<=>?04faf>dkc9:;<=;kcc9ahn6789:>hil4bmi34567=moi7obd012340baj2hgg=>?017f4g=edb:;<=>:e0`8fim789:;9h?0126a0d?5d4a?gjl89:;<8k8b:`oo56789?n4o5mlj234562m0h0nae?01231`ge3kf`<=>?04gaf>dkc9:;<=;jcc9ahn6789:>iil4bmi34567=loi7obd012340caj2hgg=>?017e4g=edb:;<=>:f0`8fim789:;9k?0126b0d?5g4a?gjl89:;<8h8b:`oo56789?m4o5mlj234562n0h0nae?01231cge3kf`<=>?04daf>dkc9:;<=;icc9ahn6789:>jil4bmi34567=ooi7obd012340`aj2hgg=>?01434g=edb:;<=>900`8fim789:;:=?012540d?614a?gjl89:;<;>8b:`oo56789<;4o5mlj23456180h0nae?012325ge3kf`<=>?072af>dkc9:;<=8?cc9ahn6789:=9oi7obd0123436aj2hgg=>?01424g=edb:;<=>910`8fim789:;:<?012550d?604a?gjl89:;<;?8b:`oo56789<:4o5mlj23456190h0nae?012324ge3kf`<=>?073af>dkc9:;<=8>cc9ahn6789:==il4bmi34567>8oi7obd0123437aj2hgg=>?01414g=edb:;<=>920`8fim789:;:??012560d?634a?gjl89:;<;<8b:`oo56789<94o5mlj234561:0h0nae?012327ge3kf`<=>?070af>dkc9:;<=8=cc9ahn6789:=>il4bmi34567>;oi7obd0123434aj2hgg=>?01404g=edb:;<=>930`8fim789:;:>?012570d?624a?gjl89:;<;=8b:`oo56789<84o5mlj234561;0h0nae?012326ge3kf`<=>?071af>dkc9:;<=8:oi7obd0123435aj2hgg=>?01474g=edb:;<=>940`8fim789:;:98n6lck1234503?012500d?654a?gjl89:;<;:8b:`oo56789?076af>dkc9:;<=8;cc9ahn6789:=8il4bmi34567>=oi7obd0123432aj2hgg=>?01464g=edb:;<=>950`8fim789:;:8?012510d?644a?gjl89:;<;;8b:`oo56789<>4o5mlj234561=0h0nae?012320ge3kf`<=>?077af>dkc9:;<=8:cc9ahn6789:=9il4bmi34567>?01454g=edb:;<=>960`8fim789:;:;?012520d?674a?gjl89:;<;88b:`oo56789<=4o5mlj234561>0h0nae?012323ge3kf`<=>?074af>dkc9:;<=89cc9ahn6789:=:il4bmi34567>?oi7obd0123430aj2hgg=>?01444g=edb:;<=>970`8fim789:;::?012530d?664a?gjl89:;<;98b:`oo56789<<4o5mlj234561?0h0nae?012322ge3kf`<=>?075af>dkc9:;<=88cc9ahn6789:=;il4bmi34567>>oi7obd0123431aj2hgg=>?014;4g=edb:;<=>980`8fim789:;:5?0125<0d?694a?gjl89:;<;68b:`oo56789<34o5mlj23456100h0nae?01232=ge3kf`<=>?07:af>dkc9:;<=87cc9ahn6789:=4il4bmi34567>1oi7obd012343>aj2hgg=>?014:4g=edb:;<=>990`8fim789:;:4?0125=0d?684a?gjl89:;<;78b:`oo56789<24o5mlj23456110h0nae?01232?07;af>dkc9:;<=86cc9ahn6789:=5il4bmi34567>0oi7obd012343?aj2hgg=>?014b4g=edb:;<=>9a0`8fim789:;:l?0125e0d?6`4a?gjl89:;<;o8b:`oo56789?07caf>dkc9:;<=8ncc9ahn6789:=mil4bmi34567>hoi7obd012343gaj2hgg=>?014a4g=edb:;<=>9b0`8fim789:;:o?0125f0d?6c4a?gjl89:;<;l8b:`oo56789?07`af>dkc9:;<=8mcc9ahn6789:=nil4bmi34567>koi7obd012343daj2hgg=>?014`4g=edb:;<=>9c0`8fim789:;:n?0125g0d?6b4a?gjl89:;<;m8b:`oo56789?07aaf>dkc9:;<=8lcc9ahn6789:=oil4bmi34567>joi7obd012343eaj2hgg=>?014g4g=edb:;<=>9d0`8fim789:;:i?0125`0d?6e4a?gjl89:;<;j8b:`oo56789?07faf>dkc9:;<=8kcc9ahn6789:=hil4bmi34567>moi7obd012343baj2hgg=>?014f4g=edb:;<=>9e0`8fim789:;:h?0125a0d?6d4a?gjl89:;<;k8b:`oo56789?07gaf>dkc9:;<=8jcc9ahn6789:=iil4bmi34567>loi7obd012343caj2hgg=>?014e4g=edb:;<=>9f0`8fim789:;:k?0125b0d?6g4a?gjl89:;<;h8b:`oo56789?07daf>dkc9:;<=8icc9ahn6789:=jil4bmi34567>ooi7obd012343`aj2hgg=>?01534g=edb:;<=>800`8fim789:;;=:8n6lck1234517?012440d?714a?gjl89:;<:>8b:`oo56789=;4o5mlj23456080h0nae?012335ge3kf`<=>?062af>dkc9:;<=9?cc9ahn6789:<?01524g=edb:;<=>810`8fim789:;;<;8n6lck1234516?012450d?704a?gjl89:;<:?8b:`oo56789=:4o5mlj23456090h0nae?012334gc3jUjhi}zb^`bw``9:ant7uX~V827nc2r]u[6?#c^jbwZuXiqcxSigyiegm`Zrr{lx69"l_r]b|luXl`|bhh`k_uwpawYpam~c1<"l_r]b|luXl`|bb|PtecweZqnl}b6=;"l_r]b|luXl`|bb|PttqfvZqnl}b6=!mPtiplpqjbWzici`k23-a\pigt|Vxnbbzthmm95*dWqnnzdmjf`ojh|;txhxmc8#dht`hnYtme7? igyiegm`Zqnl}b6>9"kiwkpkwYpam~c1<8#fsc`pliiieUi1<"ir`awmjhfdV}bhyf217.pmbhblVh6=p<>;eku[=Ycg}U3Scaksq.gmsY`mgU}8R>#{|f8`lpXoldTt`{hb9gmsY`mgU}8R>=8:fjrZabfV|?S="/Xhnjj}&DG[O+Kh`jr`vlv%73&>;;7igy_fgm[s2X8Vrxxn5kiwkgawpckV|:86cPaykp[air|V~omyo30?36?hYfp`yThb{{_ufbpd:687;>7`Qnxhq\`jssW}njxl2>1?36?hYfp`yThb{{_ufbpd:6:7;>7`Qnxhq\`jssW}njxl2>3?36?hYfp`yThb{{_ufbpd:6<7;>7`Qnxhq\`jssW}njxl2>5?36?hYfp`yThb{{_ufbpd:6>7;>7`Qnxhq\`jssW}njxl2>7?36?hYfp`yThb{{_ufbpd:607;>7`Qnxhq\`jssW}njxl2>9?37?hYfp`yThb{{_ufbpd:668?0aRowir]gkprX|mkm1078iZgazUocxzPtecwe94668?0aRowir]gkprX|mkm1<=>078iZgazUocxzPtecwe94468?0aRowir]gkprX|mkm1<;>078iZgazUocxzPtecwe94268?0aRowir]gkprX|mkm1<9>078iZgazUocxzPtecwe94068?0aRowir]gkprX|mkm1<7>078iZgazUocxzPtecwe94>68>0aRowir]gkprX|mkm1<1149n[d~n{VndyyQ{d`vb86699<1fSlvfs^flqqYslh~j0>?1149n[d~n{VndyyQ{d`vb86499<1fSlvfs^flqqYslh~j0>=1149n[d~n{VndyyQ{d`vb86299<1fSlvfs^flqqYslh~j0>;1149n[d~n{VndyyQ{d`vb86099<1fSlvfs^flqqYslh~j0>91149n[d~n{VndyyQ{d`vb86>99>1fSlvfs^flqqYslh~j0>750?36?hYfp`yThb{{_ufbpd:417;?7`Qnxhq\`jssW}njxl2<>068iZgazUocxzPtecwe9299=1fSlvfs^flqqYslh~j080>4:o\e}otWme~xRzkauc?2;733dUjtd}Pdnww[qbf|h6<2<:4m^c{mvYcg|~Txio{a=:=51=jWhrbRj`uu]w`drf404:=6cPaykp[air|V~gm~z>2:o\e}otWme~xRz}e`fz53=jWhrbRj`uu]wqvcu490;2<:4m^c{mvYcg|~Txx}jr=2=57=jWhrbRj`uu]wrdjnl11eknlzimf1?ki602yTmug|_ekumacilV~omyo30?3:?vYfp`yThdxfddlg[qbf|h6:<3?6;r]b|luXl`|bhh`k_ufbpd:697;27~Qnxhq\`lpnlldoSyjnt`>26;7>3zUjtd}Pdhtj``hcW}njxl2>3?3:?vYfp`yThdxfddlg[qbf|h6:83?6;r]b|luXl`|bhh`k_ufbpd:6=7;27~Qnxhq\`lpnlldoSyjnt`>22;7>3zUjtd}Pdhtj``hcW}njxl2>7?3:?vYfp`yThdxfddlg[qbf|h6:43?6;r]b|luXl`|bhh`k_ufbpd:617;37~Qnxhq\`lpnlldoSyjnt`>2:4?<{Vkse~QkiwkgakbX|mkm10;8wZgazUoe{gkeof\pagsi58:2<74s^c{mvYcacoicjPtecwe94568h0Rowir]gmsocmgnTxio{a=00>58612yTmug|_ekumacilV~omyo322<2<>uXiqcxSigyiegm`Zrci}k7>3?7;r]b|luXl`|bhh`k_ufbpd:46820Rowir]gmsocmgnTxio{a=6=5==tWhrbRjfvhffjaYslh~j080>8:q\e}otWmc}eikad^vgeqg;>7;37~Qnxhq\`lpnlldoSyjnt`>4:4><{Vkse~QkiwkgakbX|mkm161199p[d~n{Vnbzdjjne]w`drf404:96}Paykp[aoqamoehRzcarv22>uXiqcxSigyiegm`Zrumhnr=l5|_`zjwZbn~`nnbiQ{urgq85<76820Rowir]gmsocmgnTxx}jr=2=53=tWhrbRjfvhffjaYs~hfbh<94s^c{mvYcacxcQ{d`vb858602yTmug|_ekumviuW}njxl2>0?3;?vYfp`yThdxfsnp\pagsi5;:2<64s^c{mvYcacxcQ{d`vb8449911xSlvfs^fjrluhzV~omyo312<2<>uXiqcxSigyirmq[qbf|h6:83?n;r]b|luXl`|bb|Ptecwe972294:46}Paykp[aoqazeySyjnt`>21;703zUjtd}PdhtjwjtX|mkm1?1169p[d~n{Vnbzd}`r^vgeqg;:7;<7~Qnxhq\`lpn{fxTxio{a=1=52=tWhrbRjfvhqlvZrci}k783?8;r]b|luXl`|bb|Ptecwe9399>1xSlvfs^fjrluhzV~omyo36?34?vYfp`yThdxfsnp\pagsi5=5=:5|_`zjwZbn~`yd~Rzkauc?<;703zUjtd}PdhtjwjtX|mkm171159p[d~n{Vnbzd}`r^voevr6=2yTmug|_ekumviuW}xnmiw>9:q\e}otWmc}e~a}_uwpaw:7294:;6}Paykp[aoqazeySy{|es>3:43<{Vkse~QkiwkpkwYs~hfbhn5|dhtj``tXpz~i7~gh01234566j2ybk=>?01236g=tan:;<=>?02`8wla789:;<=:m;rkd456789:>n6}fg1234567>k1xej>?012342d<{`m;<=>?01:a?vo`89:;<=>6b:qjc56789:;mo5|if2345678kh0di?012345ee3zcl<=>?012gf>uno9:;<=>?ec9pmb6789:;?01226g=tan:;<=>?12`8wla789:;<<:m;rkd456789;>n6}fg1234566>k1xej>?012352d<{`m;<=>?00:a?vo`89:;<=?6b:qjc56789::mo5|if2345679kh0di?012344ee3zcl<=>?013gf>uno9:;<=>>ec9pmb6789:;=kl4she345678;:i7~gh01234546j2ybk=>?01216g=tan:;<=>?22`8wla789:;n6}fg1234565>k1xej>?012362d<{`m;<=>?03:a?vo`89:;<=<6b:qjc56789:9mo5|if234567:kh0di?012347ee3zcl<=>?010gf>uno9:;<=>=ec9pmb6789:;>kl4she345678::i7~gh01234556j2ybk=>?01206g=tan:;<=>?32`8wla789:;<>:m;rkd4567899>n6}fg1234564>k1xej>?012372d<{`m;<=>?02:a?vo`89:;<==6b:qjc56789:8mo5|if234567;kh0di?012346ee3zcl<=>?011gf>uno9:;<=>?01276g=tan:;<=>?42`8wla789:;<9:m;rkd456789>>n6}fg1234563>k1xej>?012302d<{`m;<=>?05:a?vo`89:;<=:6b:qjc56789:?mo5|if234567?016gf>uno9:;<=>;ec9pmb6789:;8kl4she345678<:i7~gh01234536j2ybk=>?01266g=tan:;<=>?52`8wla789:;<8:m;rkd456789?>n6}fg1234562>k1xej>?012312d<{`m;<=>?04:a?vo`89:;<=;6b:qjc56789:>mo5|if234567=kh0di?012340ee3zcl<=>?017gf>uno9:;<=>:ec9pmb6789:;9kl4she345678?:i7~gh01234506j2ybk=>?01256g=tan:;<=>?62`8wla789:;<;:m;rkd456789<>n6}fg1234561>k1xej>?012322d<{`m;<=>?07:a?vo`89:;<=86b:qjc56789:=mo5|if234567>kh0di?012343ee3zcl<=>?014gf>uno9:;<=>9ec9pmb6789:;:kl4she345678>:i7~gh01234516j2ybk=>?01246g=tan:;<=>?72`8wla789:;<::m;rkd456789=>n6}fg1234560>k1xej>?012332d<{`m;<=>?06:a?vo`89:;<=96b:qjc56789:?015gf>uno9:;<=>8ec9pmb6789:;;kl4she3456781:i7~gh012345>6j2ybk=>?012;6g=tan:;<=>?82`8wla789:;<5:m;rkd4567892>n6}fg123456?>k1xej>?0123<2d<{`m;<=>?09:a?vo`89:;<=66b:qjc56789:3mo5|if2345670kh0di?01234=ee3zcl<=>?01:gf>uno9:;<=>7ec9pmb6789:;4kl4she3456780:i7~gh012345?6j2ybk=>?012:6g=tan:;<=>?92`8wla789:;<4:m;rkd4567893>n6}fg123456>>k1xej>?0123=2d<{`m;<=>?08:a?vo`89:;<=76b:qjc56789:2mo5|if2345671kh0di?01234?01;gf>uno9:;<=>6ec9pmb6789:;5kl4she345678h:i7~gh012345g6j2ybk=>?012b6g=tan:;<=>?a2`8wla789:;n6}fg123456f>k1xej>?0123e2d<{`m;<=>?0`:a?vo`89:;<=o6b:qjc56789:jmo5|if234567ikh0di?01234dee3zcl<=>?01cgf>uno9:;<=>nec9pmb6789:;mkl4she345678k:i7~gh012345d6j2ybk=>?012a6g=tan:;<=>?b2`8wla789:;n6}fg123456e>k1xej>?0123f2d<{`m;<=>?0c:a?vo`89:;<=l6b:qjc56789:imo5|if234567jkh0di?01234gee3zcl<=>?01`gf>uno9:;<=>mec9pmb6789:;nkl4she345678j:i7~gh012345e6j2ybk=>?012`6g=tan:;<=>?c2`8wla789:;n6}fg123456d>k1xej>?0123g2d<{`m;<=>?0b:a?vo`89:;<=m6b:qjc56789:hmo5|if234567kkh0di?01234fee3zcl<=>?01agf>uno9:;<=>lec9pmb6789:;okl4she345678m:i7~gh012345b6j2ybk=>?012g6g=tan:;<=>?d2`8wla789:;n6}fg123456c>k1xej>?0123`2d<{`m;<=>?0e:a?vo`89:;<=j6b:qjc56789:omo5|if234567lkh0di?01234aee3zcl<=>?01fgf>uno9:;<=>kec9pmb6789:;hkl4she345678l:i7~gh012345c6j2ybk=>?012f6g=tan:;<=>?e2`8wla789:;n6}fg123456b>k1xej>?0123a2d<{`m;<=>?0d:a?vo`89:;<=k6b:qjc56789:nmo5|if234567mkh0di?01234`ee3zcl<=>?01ggf>uno9:;<=>jec9pmb6789:;ikl4she345678o:i7~gh012345`6j2ybk=>?012e6g=tan:;<=>?f2`8wla789:;n6}fg123456a>k1xej>?0123b2d<{`m;<=>?0g:a?vo`89:;<=h6b:qjc56789:mmo5|if234567nkh0di?01234cee3zcl<=>?01dgf>uno9:;<=>iec9pmb6789:;jkl4she3456799:i7~gh01234466j2ybk=>?01336g=tan:;<=>>02`8wla789:;==:m;rkd456788:>n6}fg1234577>k1xej>?012242d<{`m;<=>?11:a?vo`89:;<<>6b:qjc56789;;mo5|if2345668kh0di?012355ee3zcl<=>?002gf>uno9:;<=??ec9pmb6789::?01326g=tan:;<=>>12`8wla789:;=<:m;rkd456788;>n6}fg1234576>k1xej>?012252d<{`m;<=>?10:a?vo`89:;<?003gf>uno9:;<=?>ec9pmb6789::=kl4she345679;:i7~gh01234446j2ybk=>?01316g=tan:;<=>>22`8wla789:;=?:m;rkd4567888>n6}fg1234575>k1xej>?012262d<{`m;<=>?13:a?vo`89:;<<<6b:qjc56789;9mo5|if234566:kh0di?012357ee3zcl<=>?000gf>uno9:;<=?=ec9pmb6789::>kl4she345679::i7~gh01234456j2ybk=>?01306g=tan:;<=>>32`8wla789:;=>:m;rkd4567889>n6}fg1234574>k1xej>?012272d<{`m;<=>?12:a?vo`89:;<<=6b:qjc56789;8mo5|if234566;kh0di?012356ee3zcl<=>?001gf>uno9:;<=??01376g=tan:;<=>>42`8wla789:;=9:m;rkd456788>>n6}fg1234573>k1xej>?012202d<{`m;<=>?15:a?vo`89:;<<:6b:qjc56789;?mo5|if234566?006gf>uno9:;<=?;ec9pmb6789::8kl4she345679<:i7~gh01234436j2ybk=>?01366g=tan:;<=>>52`8wla789:;=8:m;rkd456788?>n6}fg1234572>k1xej>?012212d<{`m;<=>?14:a?vo`89:;<<;6b:qjc56789;>mo5|if234566=kh0di?012350ee3zcl<=>?007gf>uno9:;<=?:ec9pmb6789::9kl4she345679?:i7~gh01234406j2ybk=>?01356g=tan:;<=>>62`8wla789:;=;:m;rkd456788<>n6}fg1234571>k1xej>?012222d<{`m;<=>?17:a?vo`89:;<<86b:qjc56789;=mo5|if234566>kh0di?012353ee3zcl<=>?004gf>uno9:;<=?9ec9pmb6789:::kl4she345679>:i7~gh01234416j2ybk=>?01346g=tan:;<=>>72`8wla789:;=::m;rkd456788=>n6}fg1234570>k1xej>?012232d<{`m;<=>?16:a?vo`89:;<<96b:qjc56789;?005gf>uno9:;<=?8ec9pmb6789::;kl4she3456791:i7~gh012344>6j2ybk=>?013;6g=tan:;<=>>82`8wla789:;=5:m;rkd4567882>n6}fg123457?>k1xej>?0122<2d<{`m;<=>?19:a?vo`89:;<<66b:qjc56789;3mo5|if2345660kh0di?01235=ee3zcl<=>?00:gf>uno9:;<=?7ec9pmb6789::4kl4she3456790:i7~gh012344?6j2ybk=>?013:6g=tan:;<=>>92`8wla789:;=4:m;rkd4567883>n6}fg123457>>k1xej>?0122=2d<{`m;<=>?18:a?vo`89:;<<76b:qjc56789;2mo5|if2345661kh0di?01235?00;gf>uno9:;<=?6ec9pmb6789::5kl4she345679h:i7~gh012344g6j2ybk=>?013b6g=tan:;<=>>a2`8wla789:;=l:m;rkd456788k>n6}fg123457f>k1xej>?0122e2d<{`m;<=>?1`:a?vo`89:;<?00cgf>uno9:;<=?nec9pmb6789::mkl4she345679k:i7~gh012344d6j2ybk=>?013a6g=tan:;<=>>b2`8wla789:;=o:m;rkd456788h>n6}fg123457e>k1xej>?0122f2d<{`m;<=>?1c:a?vo`89:;<?00`gf>uno9:;<=?mec9pmb6789::nkl4she345679j:i7~gh012344e6j2ybk=>?013`6g=tan:;<=>>c2`8wla789:;=n:m;rkd456788i>n6}fg123457d>k1xej>?0122g2d<{`m;<=>?1b:a?vo`89:;<?00agf>uno9:;<=?lec9pmb6789::okl4she345679m:i7~gh012344b6j2ybk=>?013g6g=tan:;<=>>d2`8wla789:;=i:m;rkd456788n>n6}fg123457c>k1xej>?0122`2d<{`m;<=>?1e:a?vo`89:;<?00fgf>uno9:;<=?kec9pmb6789::hkl4she345679l:i7~gh012344c6j2ybk=>?013f6g=tan:;<=>>e2`8wla789:;=h:m;rkd456788o>n6}fg123457b>k1xej>?0122a2d<{`m;<=>?1d:a?vo`89:;<?00ggf>uno9:;<=?jec9pmb6789::ikl4she345679o:i7~gh012344`6j2ybk=>?013e6g=tan:;<=>>f2`8wla789:;=k:m;rkd456788l>n6}fg123457a>k1xej>?0122b2d<{`m;<=>?1g:a?vo`89:;<?00dgf>uno9:;<=?iec9pmb6789::jkl4she34567:9:i7~gh01234766j2ybk=>?01036g=tan:;<=>=02`8wla789:;>=:m;rkd45678;:>n6}fg1234547>k1xej>?012142d<{`m;<=>?21:a?vo`89:;6b:qjc567898;mo5|if2345658kh0di?012365ee3zcl<=>?032gf>uno9:;<=?01026g=tan:;<=>=12`8wla789:;><:m;rkd45678;;>n6}fg1234546>k1xej>?012152d<{`m;<=>?20:a?vo`89:;?033gf>uno9:;<=<>ec9pmb6789:9=kl4she34567:;:i7~gh01234746j2ybk=>?01016g=tan:;<=>=22`8wla789:;>?:m;rkd45678;8>n6}fg1234545>k1xej>?012162d<{`m;<=>?23:a?vo`89:;?030gf>uno9:;<=<=ec9pmb6789:9>kl4she34567:::i7~gh01234756j2ybk=>?01006g=tan:;<=>=32`8wla789:;>>:m;rkd45678;9>n6}fg1234544>k1xej>?012172d<{`m;<=>?22:a?vo`89:;?031gf>uno9:;<=<?01076g=tan:;<=>=42`8wla789:;>9:m;rkd45678;>>n6}fg1234543>k1xej>?012102d<{`m;<=>?25:a?vo`89:;?036gf>uno9:;<=<;ec9pmb6789:98kl4she34567:<:i7~gh01234736j2ybk=>?01066g=tan:;<=>=52`8wla789:;>8:m;rkd45678;?>n6}fg1234542>k1xej>?012112d<{`m;<=>?24:a?vo`89:;mo5|if234565=kh0di?012360ee3zcl<=>?037gf>uno9:;<=<:ec9pmb6789:99kl4she34567:?:i7~gh01234706j2ybk=>?01056g=tan:;<=>=62`8wla789:;>;:m;rkd45678;<>n6}fg1234541>k1xej>?012122d<{`m;<=>?27:a?vo`89:;kh0di?012363ee3zcl<=>?034gf>uno9:;<=<9ec9pmb6789:9:kl4she34567:>:i7~gh01234716j2ybk=>?01046g=tan:;<=>=72`8wla789:;>::m;rkd45678;=>n6}fg1234540>k1xej>?012132d<{`m;<=>?26:a?vo`89:;?035gf>uno9:;<=<8ec9pmb6789:9;kl4she34567:1:i7~gh012347>6j2ybk=>?010;6g=tan:;<=>=82`8wla789:;>5:m;rkd45678;2>n6}fg123454?>k1xej>?0121<2d<{`m;<=>?29:a?vo`89:;?03:gf>uno9:;<=<7ec9pmb6789:94kl4she34567:0:i7~gh012347?6j2ybk=>?010:6g=tan:;<=>=92`8wla789:;>4:m;rkd45678;3>n6}fg123454>>k1xej>?0121=2d<{`m;<=>?28:a?vo`89:;?03;gf>uno9:;<=<6ec9pmb6789:95kl4she34567:h:i7~gh012347g6j2ybk=>?010b6g=tan:;<=>=a2`8wla789:;>l:m;rkd45678;k>n6}fg123454f>k1xej>?0121e2d<{`m;<=>?2`:a?vo`89:;?03cgf>uno9:;<=?010a6g=tan:;<=>=b2`8wla789:;>o:m;rkd45678;h>n6}fg123454e>k1xej>?0121f2d<{`m;<=>?2c:a?vo`89:;?03`gf>uno9:;<=?010`6g=tan:;<=>=c2`8wla789:;>n:m;rkd45678;i>n6}fg123454d>k1xej>?0121g2d<{`m;<=>?2b:a?vo`89:;?03agf>uno9:;<=?010g6g=tan:;<=>=d2`8wla789:;>i:m;rkd45678;n>n6}fg123454c>k1xej>?0121`2d<{`m;<=>?2e:a?vo`89:;?03fgf>uno9:;<=?010f6g=tan:;<=>=e2`8wla789:;>h:m;rkd45678;o>n6}fg123454b>k1xej>?0121a2d<{`m;<=>?2d:a?vo`89:;?03ggf>uno9:;<=?010e6g=tan:;<=>=f2`8wla789:;>k:m;rkd45678;l>n6}fg123454a>k1xej>?0121b2d<{`m;<=>?2g:a?vo`89:;?03dgf>uno9:;<=?01136g=tan:;<=><02`8wla789:;?=:m;rkd45678::>n6}fg1234557>k1xej>?012042d<{`m;<=>?31:a?vo`89:;<>>6b:qjc567899;mo5|if2345648kh0di?012375ee3zcl<=>?022gf>uno9:;<==?ec9pmb6789:8?01126g=tan:;<=><12`8wla789:;?<:m;rkd45678:;>n6}fg1234556>k1xej>?012052d<{`m;<=>?30:a?vo`89:;<>?6b:qjc567899:mo5|if2345649kh0di?012374ee3zcl<=>?023gf>uno9:;<==>ec9pmb6789:8=kl4she34567;;:i7~gh01234646j2ybk=>?01116g=tan:;<=><22`8wla789:;??:m;rkd45678:8>n6}fg1234555>k1xej>?012062d<{`m;<=>?33:a?vo`89:;<><6b:qjc5678999mo5|if234564:kh0di?012377ee3zcl<=>?020gf>uno9:;<===ec9pmb6789:8>kl4she34567;::i7~gh01234656j2ybk=>?01106g=tan:;<=><32`8wla789:;?>:m;rkd45678:9>n6}fg1234554>k1xej>?012072d<{`m;<=>?32:a?vo`89:;<>=6b:qjc5678998mo5|if234564;kh0di?012376ee3zcl<=>?021gf>uno9:;<==?01176g=tan:;<=><42`8wla789:;?9:m;rkd45678:>>n6}fg1234553>k1xej>?012002d<{`m;<=>?35:a?vo`89:;<>:6b:qjc567899?mo5|if234564?026gf>uno9:;<==;ec9pmb6789:88kl4she34567;<:i7~gh01234636j2ybk=>?01166g=tan:;<=><52`8wla789:;?8:m;rkd45678:?>n6}fg1234552>k1xej>?012012d<{`m;<=>?34:a?vo`89:;<>;6b:qjc567899>mo5|if234564=kh0di?012370ee3zcl<=>?027gf>uno9:;<==:ec9pmb6789:89kl4she34567;?:i7~gh01234606j2ybk=>?01156g=tan:;<=><62`8wla789:;?;:m;rkd45678:<>n6}fg1234551>k1xej>?012022d<{`m;<=>?37:a?vo`89:;<>86b:qjc567899=mo5|if234564>kh0di?012373ee3zcl<=>?024gf>uno9:;<==9ec9pmb6789:8:kl4she34567;>:i7~gh01234616j2ybk=>?01146g=tan:;<=><72`8wla789:;?::m;rkd45678:=>n6}fg1234550>k1xej>?012032d<{`m;<=>?36:a?vo`89:;<>96b:qjc567899?025gf>uno9:;<==8ec9pmb6789:8;kl4she34567;1:i7~gh012346>6j2ybk=>?011;6g=tan:;<=><82`8wla789:;?5:m;rkd45678:2>n6}fg123455?>k1xej>?0120<2d<{`m;<=>?39:a?vo`89:;<>66b:qjc5678993mo5|if2345640kh0di?01237=ee3zcl<=>?02:gf>uno9:;<==7ec9pmb6789:84kl4she34567;0:i7~gh012346?6j2ybk=>?011:6g=tan:;<=><92`8wla789:;?4:m;rkd45678:3>n6}fg123455>>k1xej>?0120=2d<{`m;<=>?38:a?vo`89:;<>76b:qjc5678992mo5|if2345641kh0di?01237?02;gf>uno9:;<==6ec9pmb6789:85kl4she34567;h:i7~gh012346g6j2ybk=>?011b6g=tan:;<=>n6}fg123455f>k1xej>?0120e2d<{`m;<=>?3`:a?vo`89:;<>o6b:qjc567899jmo5|if234564ikh0di?01237dee3zcl<=>?02cgf>uno9:;<==nec9pmb6789:8mkl4she34567;k:i7~gh012346d6j2ybk=>?011a6g=tan:;<=>n6}fg123455e>k1xej>?0120f2d<{`m;<=>?3c:a?vo`89:;<>l6b:qjc567899imo5|if234564jkh0di?01237gee3zcl<=>?02`gf>uno9:;<==mec9pmb6789:8nkl4she34567;j:i7~gh012346e6j2ybk=>?011`6g=tan:;<=>n6}fg123455d>k1xej>?0120g2d<{`m;<=>?3b:a?vo`89:;<>m6b:qjc567899hmo5|if234564kkh0di?01237fee3zcl<=>?02agf>uno9:;<==lec9pmb6789:8okl4she34567;m:i7~gh012346b6j2ybk=>?011g6g=tan:;<=>n6}fg123455c>k1xej>?0120`2d<{`m;<=>?3e:a?vo`89:;<>j6b:qjc567899omo5|if234564lkh0di?01237aee3zcl<=>?02fgf>uno9:;<==kec9pmb6789:8hkl4she34567;l:i7~gh012346c6j2ybk=>?011f6g=tan:;<=>n6}fg123455b>k1xej>?0120a2d<{`m;<=>?3d:a?vo`89:;<>k6b:qjc567899nmo5|if234564mkh0di?01237`ee3zcl<=>?02ggf>uno9:;<==jec9pmb6789:8ikl4she34567;o:i7~gh012346`6j2ybk=>?011e6g=tan:;<=>n6}fg123455a>k1xej>?0120b2d<{`m;<=>?3g:a?vo`89:;<>h6b:qjc567899mmo5|if234564nkh0di?01237cee3zcl<=>?02dgf>uno9:;<==iec9pmb6789:8jkl4she34567<9:i7~gh01234166j2ybk=>?01636g=tan:;<=>;02`8wla789:;8=:m;rkd45678=:>n6}fg1234527>k1xej>?012742d<{`m;<=>?41:a?vo`89:;<9>6b:qjc56789>;mo5|if2345638kh0di?012305ee3zcl<=>?052gf>uno9:;<=:?ec9pmb6789:??01626g=tan:;<=>;12`8wla789:;8<:m;rkd45678=;>n6}fg1234526>k1xej>?012752d<{`m;<=>?40:a?vo`89:;<9?6b:qjc56789>:mo5|if2345639kh0di?012304ee3zcl<=>?053gf>uno9:;<=:>ec9pmb6789:?=kl4she34567<;:i7~gh01234146j2ybk=>?01616g=tan:;<=>;22`8wla789:;8?:m;rkd45678=8>n6}fg1234525>k1xej>?012762d<{`m;<=>?43:a?vo`89:;<9<6b:qjc56789>9mo5|if234563:kh0di?012307ee3zcl<=>?050gf>uno9:;<=:=ec9pmb6789:?>kl4she34567<::i7~gh01234156j2ybk=>?01606g=tan:;<=>;32`8wla789:;8>:m;rkd45678=9>n6}fg1234524>k1xej>?012772d<{`m;<=>?42:a?vo`89:;<9=6b:qjc56789>8mo5|if234563;kh0di?012306ee3zcl<=>?051gf>uno9:;<=:?01676g=tan:;<=>;42`8wla789:;89:m;rkd45678=>>n6}fg1234523>k1xej>?012702d<{`m;<=>?45:a?vo`89:;<9:6b:qjc56789>?mo5|if234563?056gf>uno9:;<=:;ec9pmb6789:?8kl4she34567<<:i7~gh01234136j2ybk=>?01666g=tan:;<=>;52`8wla789:;88:m;rkd45678=?>n6}fg1234522>k1xej>?012712d<{`m;<=>?44:a?vo`89:;<9;6b:qjc56789>>mo5|if234563=kh0di?012300ee3zcl<=>?057gf>uno9:;<=::ec9pmb6789:?9kl4she34567?01656g=tan:;<=>;62`8wla789:;8;:m;rkd45678=<>n6}fg1234521>k1xej>?012722d<{`m;<=>?47:a?vo`89:;<986b:qjc56789>=mo5|if234563>kh0di?012303ee3zcl<=>?054gf>uno9:;<=:9ec9pmb6789:?:kl4she34567<>:i7~gh01234116j2ybk=>?01646g=tan:;<=>;72`8wla789:;8::m;rkd45678==>n6}fg1234520>k1xej>?012732d<{`m;<=>?46:a?vo`89:;<996b:qjc56789>?055gf>uno9:;<=:8ec9pmb6789:?;kl4she34567<1:i7~gh012341>6j2ybk=>?016;6g=tan:;<=>;82`8wla789:;85:m;rkd45678=2>n6}fg123452?>k1xej>?0127<2d<{`m;<=>?49:a?vo`89:;<966b:qjc56789>3mo5|if2345630kh0di?01230=ee3zcl<=>?05:gf>uno9:;<=:7ec9pmb6789:?4kl4she34567<0:i7~gh012341?6j2ybk=>?016:6g=tan:;<=>;92`8wla789:;84:m;rkd45678=3>n6}fg123452>>k1xej>?0127=2d<{`m;<=>?48:a?vo`89:;<976b:qjc56789>2mo5|if2345631kh0di?01230?05;gf>uno9:;<=:6ec9pmb6789:?5kl4she34567?016b6g=tan:;<=>;a2`8wla789:;8l:m;rkd45678=k>n6}fg123452f>k1xej>?0127e2d<{`m;<=>?4`:a?vo`89:;<9o6b:qjc56789>jmo5|if234563ikh0di?01230dee3zcl<=>?05cgf>uno9:;<=:nec9pmb6789:?mkl4she34567?016a6g=tan:;<=>;b2`8wla789:;8o:m;rkd45678=h>n6}fg123452e>k1xej>?0127f2d<{`m;<=>?4c:a?vo`89:;<9l6b:qjc56789>imo5|if234563jkh0di?01230gee3zcl<=>?05`gf>uno9:;<=:mec9pmb6789:?nkl4she34567?016`6g=tan:;<=>;c2`8wla789:;8n:m;rkd45678=i>n6}fg123452d>k1xej>?0127g2d<{`m;<=>?4b:a?vo`89:;<9m6b:qjc56789>hmo5|if234563kkh0di?01230fee3zcl<=>?05agf>uno9:;<=:lec9pmb6789:?okl4she34567?016g6g=tan:;<=>;d2`8wla789:;8i:m;rkd45678=n>n6}fg123452c>k1xej>?0127`2d<{`m;<=>?4e:a?vo`89:;<9j6b:qjc56789>omo5|if234563lkh0di?01230aee3zcl<=>?05fgf>uno9:;<=:kec9pmb6789:?hkl4she34567?016f6g=tan:;<=>;e2`8wla789:;8h:m;rkd45678=o>n6}fg123452b>k1xej>?0127a2d<{`m;<=>?4d:a?vo`89:;<9k6b:qjc56789>nmo5|if234563mkh0di?01230`ee3zcl<=>?05ggf>uno9:;<=:jec9pmb6789:?ikl4she34567?016e6g=tan:;<=>;f2`8wla789:;8k:m;rkd45678=l>n6}fg123452a>k1xej>?0127b2d<{`m;<=>?4g:a?vo`89:;<9h6b:qjc56789>mmo5|if234563nkh0di?01230cee3zcl<=>?05dgf>uno9:;<=:iec9pmb6789:?jkl4she34567=9:i7~gh01234066j2ybk=>?01736g=tan:;<=>:02`8wla789:;9=:m;rkd45678<:>n6}fg1234537>k1xej>?012642d<{`m;<=>?51:a?vo`89:;<8>6b:qjc56789?;mo5|if2345628kh0di?012315ee3zcl<=>?042gf>uno9:;<=;?ec9pmb6789:>?01726g=tan:;<=>:12`8wla789:;9<:m;rkd45678<;>n6}fg1234536>k1xej>?012652d<{`m;<=>?50:a?vo`89:;<8?6b:qjc56789?:mo5|if2345629kh0di?012314ee3zcl<=>?043gf>uno9:;<=;>ec9pmb6789:>=kl4she34567=;:i7~gh01234046j2ybk=>?01716g=tan:;<=>:22`8wla789:;9?:m;rkd45678<8>n6}fg1234535>k1xej>?012662d<{`m;<=>?53:a?vo`89:;<8<6b:qjc56789?9mo5|if234562:kh0di?012317ee3zcl<=>?040gf>uno9:;<=;=ec9pmb6789:>>kl4she34567=::i7~gh01234056j2ybk=>?01706g=tan:;<=>:32`8wla789:;9>:m;rkd45678<9>n6}fg1234534>k1xej>?012672d<{`m;<=>?52:a?vo`89:;<8=6b:qjc56789?8mo5|if234562;kh0di?012316ee3zcl<=>?041gf>uno9:;<=;?kl4she34567==:i7~gh01234026j2ybk=>?01776g=tan:;<=>:42`8wla789:;99:m;rkd45678<>>n6}fg1234533>k1xej>?012602d<{`m;<=>?55:a?vo`89:;<8:6b:qjc56789??mo5|if234562?046gf>uno9:;<=;;ec9pmb6789:>8kl4she34567=<:i7~gh01234036j2ybk=>?01766g=tan:;<=>:52`8wla789:;98:m;rkd45678n6}fg1234532>k1xej>?012612d<{`m;<=>?54:a?vo`89:;<8;6b:qjc56789?>mo5|if234562=kh0di?012310ee3zcl<=>?047gf>uno9:;<=;:ec9pmb6789:>9kl4she34567=?:i7~gh01234006j2ybk=>?01756g=tan:;<=>:62`8wla789:;9;:m;rkd45678<<>n6}fg1234531>k1xej>?012622d<{`m;<=>?57:a?vo`89:;<886b:qjc56789?=mo5|if234562>kh0di?012313ee3zcl<=>?044gf>uno9:;<=;9ec9pmb6789:>:kl4she34567=>:i7~gh01234016j2ybk=>?01746g=tan:;<=>:72`8wla789:;9::m;rkd45678<=>n6}fg1234530>k1xej>?012632d<{`m;<=>?56:a?vo`89:;<896b:qjc56789??045gf>uno9:;<=;8ec9pmb6789:>;kl4she34567=1:i7~gh012340>6j2ybk=>?017;6g=tan:;<=>:82`8wla789:;95:m;rkd45678<2>n6}fg123453?>k1xej>?0126<2d<{`m;<=>?59:a?vo`89:;<866b:qjc56789?3mo5|if2345620kh0di?01231=ee3zcl<=>?04:gf>uno9:;<=;7ec9pmb6789:>4kl4she34567=0:i7~gh012340?6j2ybk=>?017:6g=tan:;<=>:92`8wla789:;94:m;rkd45678<3>n6}fg123453>>k1xej>?0126=2d<{`m;<=>?58:a?vo`89:;<876b:qjc56789?2mo5|if2345621kh0di?01231?04;gf>uno9:;<=;6ec9pmb6789:>5kl4she34567=h:i7~gh012340g6j2ybk=>?017b6g=tan:;<=>:a2`8wla789:;9l:m;rkd45678n6}fg123453f>k1xej>?0126e2d<{`m;<=>?5`:a?vo`89:;<8o6b:qjc56789?jmo5|if234562ikh0di?01231dee3zcl<=>?04cgf>uno9:;<=;nec9pmb6789:>mkl4she34567=k:i7~gh012340d6j2ybk=>?017a6g=tan:;<=>:b2`8wla789:;9o:m;rkd45678n6}fg123453e>k1xej>?0126f2d<{`m;<=>?5c:a?vo`89:;<8l6b:qjc56789?imo5|if234562jkh0di?01231gee3zcl<=>?04`gf>uno9:;<=;mec9pmb6789:>nkl4she34567=j:i7~gh012340e6j2ybk=>?017`6g=tan:;<=>:c2`8wla789:;9n:m;rkd45678n6}fg123453d>k1xej>?0126g2d<{`m;<=>?5b:a?vo`89:;<8m6b:qjc56789?hmo5|if234562kkh0di?01231fee3zcl<=>?04agf>uno9:;<=;lec9pmb6789:>okl4she34567=m:i7~gh012340b6j2ybk=>?017g6g=tan:;<=>:d2`8wla789:;9i:m;rkd45678n6}fg123453c>k1xej>?0126`2d<{`m;<=>?5e:a?vo`89:;<8j6b:qjc56789?omo5|if234562lkh0di?01231aee3zcl<=>?04fgf>uno9:;<=;kec9pmb6789:>hkl4she34567=l:i7~gh012340c6j2ybk=>?017f6g=tan:;<=>:e2`8wla789:;9h:m;rkd45678n6}fg123453b>k1xej>?0126a2d<{`m;<=>?5d:a?vo`89:;<8k6b:qjc56789?nmo5|if234562mkh0di?01231`ee3zcl<=>?04ggf>uno9:;<=;jec9pmb6789:>ikl4she34567=o:i7~gh012340`6j2ybk=>?017e6g=tan:;<=>:f2`8wla789:;9k:m;rkd45678n6}fg123453a>k1xej>?0126b2d<{`m;<=>?5g:a?vo`89:;<8h6b:qjc56789?mmo5|if234562nkh0di?01231cee3zcl<=>?04dgf>uno9:;<=;iec9pmb6789:>jkl4she34567>9:i7~gh01234366j2ybk=>?01436g=tan:;<=>902`8wla789:;:=:m;rkd45678?:>n6}fg1234507>k1xej>?012542d<{`m;<=>?61:a?vo`89:;<;>6b:qjc56789<;mo5|if2345618kh0di?012325ee3zcl<=>?072gf>uno9:;<=8?ec9pmb6789:=8:i7~gh01234376j2ybk=>?01426g=tan:;<=>912`8wla789:;:<:m;rkd45678?;>n6}fg1234506>k1xej>?012552d<{`m;<=>?60:a?vo`89:;<;?6b:qjc56789<:mo5|if2345619kh0di?012324ee3zcl<=>?073gf>uno9:;<=8>ec9pmb6789:==kl4she34567>;:i7~gh01234346j2ybk=>?01416g=tan:;<=>922`8wla789:;:?:m;rkd45678?8>n6}fg1234505>k1xej>?012562d<{`m;<=>?63:a?vo`89:;<;<6b:qjc56789<9mo5|if234561:kh0di?012327ee3zcl<=>?070gf>uno9:;<=8=ec9pmb6789:=>kl4she34567>::i7~gh01234356j2ybk=>?01406g=tan:;<=>932`8wla789:;:>:m;rkd45678?9>n6}fg1234504>k1xej>?012572d<{`m;<=>?62:a?vo`89:;<;=6b:qjc56789<8mo5|if234561;kh0di?012326ee3zcl<=>?071gf>uno9:;<=8=:i7~gh01234326j2ybk=>?01476g=tan:;<=>942`8wla789:;:9:m;rkd45678?>>n6}fg1234503>k1xej>?012502d<{`m;<=>?65:a?vo`89:;<;:6b:qjc56789?076gf>uno9:;<=8;ec9pmb6789:=8kl4she34567><:i7~gh01234336j2ybk=>?01466g=tan:;<=>952`8wla789:;:8:m;rkd45678??>n6}fg1234502>k1xej>?012512d<{`m;<=>?64:a?vo`89:;<;;6b:qjc56789<>mo5|if234561=kh0di?012320ee3zcl<=>?077gf>uno9:;<=8:ec9pmb6789:=9kl4she34567>?:i7~gh01234306j2ybk=>?01456g=tan:;<=>962`8wla789:;:;:m;rkd45678?<>n6}fg1234501>k1xej>?012522d<{`m;<=>?67:a?vo`89:;<;86b:qjc56789<=mo5|if234561>kh0di?012323ee3zcl<=>?074gf>uno9:;<=89ec9pmb6789:=:kl4she34567>>:i7~gh01234316j2ybk=>?01446g=tan:;<=>972`8wla789:;:::m;rkd45678?=>n6}fg1234500>k1xej>?012532d<{`m;<=>?66:a?vo`89:;<;96b:qjc56789<?075gf>uno9:;<=88ec9pmb6789:=;kl4she34567>1:i7~gh012343>6j2ybk=>?014;6g=tan:;<=>982`8wla789:;:5:m;rkd45678?2>n6}fg123450?>k1xej>?0125<2d<{`m;<=>?69:a?vo`89:;<;66b:qjc56789<3mo5|if2345610kh0di?01232=ee3zcl<=>?07:gf>uno9:;<=87ec9pmb6789:=4kl4she34567>0:i7~gh012343?6j2ybk=>?014:6g=tan:;<=>992`8wla789:;:4:m;rkd45678?3>n6}fg123450>>k1xej>?0125=2d<{`m;<=>?68:a?vo`89:;<;76b:qjc56789<2mo5|if2345611kh0di?01232?07;gf>uno9:;<=86ec9pmb6789:=5kl4she34567>h:i7~gh012343g6j2ybk=>?014b6g=tan:;<=>9a2`8wla789:;:l:m;rkd45678?k>n6}fg123450f>k1xej>?0125e2d<{`m;<=>?6`:a?vo`89:;<;o6b:qjc56789?07cgf>uno9:;<=8nec9pmb6789:=mkl4she34567>k:i7~gh012343d6j2ybk=>?014a6g=tan:;<=>9b2`8wla789:;:o:m;rkd45678?h>n6}fg123450e>k1xej>?0125f2d<{`m;<=>?6c:a?vo`89:;<;l6b:qjc56789?07`gf>uno9:;<=8mec9pmb6789:=nkl4she34567>j:i7~gh012343e6j2ybk=>?014`6g=tan:;<=>9c2`8wla789:;:n:m;rkd45678?i>n6}fg123450d>k1xej>?0125g2d<{`m;<=>?6b:a?vo`89:;<;m6b:qjc56789?07agf>uno9:;<=8lec9pmb6789:=okl4she34567>m:i7~gh012343b6j2ybk=>?014g6g=tan:;<=>9d2`8wla789:;:i:m;rkd45678?n>n6}fg123450c>k1xej>?0125`2d<{`m;<=>?6e:a?vo`89:;<;j6b:qjc56789?07fgf>uno9:;<=8kec9pmb6789:=hkl4she34567>l:i7~gh012343c6j2ybk=>?014f6g=tan:;<=>9e2`8wla789:;:h:m;rkd45678?o>n6}fg123450b>k1xej>?0125a2d<{`m;<=>?6d:a?vo`89:;<;k6b:qjc56789?07ggf>uno9:;<=8jec9pmb6789:=ikl4she34567>o:i7~gh012343`6j2ybk=>?014e6g=tan:;<=>9f2`8wla789:;:k:m;rkd45678?l>n6}fg123450a>k1xej>?0125b2d<{`m;<=>?6g:a?vo`89:;<;h6b:qjc56789?07dgf>uno9:;<=8iec9pmb6789:=jkl4she34567?9:i7~gh01234266j2ybk=>?01536g=tan:;<=>802`8wla789:;;=:m;rkd45678>:>n6}fg1234517>k1xej>?012442d<{`m;<=>?71:a?vo`89:;<:>6b:qjc56789=;mo5|if2345608kh0di?012335ee3zcl<=>?062gf>uno9:;<=9?ec9pmb6789:<?01526g=tan:;<=>812`8wla789:;;<:m;rkd45678>;>n6}fg1234516>k1xej>?012452d<{`m;<=>?70:a?vo`89:;<:?6b:qjc56789=:mo5|if2345609kh0di?012334ee3zcl<=>?063gf>uno9:;<=9>ec9pmb6789:<=kl4she34567?;:i7~gh01234246j2ybk=>?01516g=tan:;<=>822`8wla789:;;?:m;rkd45678>8>n6}fg1234515>k1xej>?012462d<{`m;<=>?73:a?vo`89:;<:<6b:qjc56789=9mo5|if234560:kh0di?012337ee3zcl<=>?060gf>uno9:;<=9=ec9pmb6789:<>kl4she34567?::i7~gh01234256j2ybk=>?01506g=tan:;<=>832`8wla789:;;>:m;rkd45678>9>n6}fg1234514>k1xej>?012472d<{`m;<=>?72:a?vo`89:;<:=6b:qjc56789=8m95y1/220>~eayU{e}kPv3]3[}usW8;>7ulfp^rjt`Yq:V:Tt~zP1136?}dnxVzb|hQy2^2\|vrX98;>7ulfp^rjt`Yq:V:Tt~zP1336?}dnxVzb|hQy2^2\|vrX9:;>7ulfp^rjt`Yq:V:Tt~zP1536?}dnxVzb|hQy2^2\|vrX9<;>7ulfp^rjt`Yq:V:Tt~zP1736?}dnxVzb|hQy2^2\|vrX9>;>7ulfp^rjt`Yq:V:Tt~zP1936?}dnxVzb|hQy2^2\|vrX90;?7ulfp^rjt`Yq:V:Tt~zP2078|gowWyc{iRx=_1]{wqY588?0tog_qksaZp5W9UsyQ=1078|gowWyc{iRx=_1]{wqY5:8?0tog_qksaZp5W9UsyQ=3078|gowWyc{iRx=_1]{wqY5<8?0tog_qksaZp5W9UsyQ=6068|gowWyc{iRx=_1]{wqY49=1snd~Pphrf[s4X8VrxxR:>4:zamuYwayoTz?Q?_yqw[0733qhb|R~fpd]u6Z6Xpz~T:<:4xcks[uowmV|9S=Qwsu]451=j`zT|d~j_w0\4Z~t|V2:86vmiq]smucX~;U;Su}{_832?ÆͺµÏ´ÜÀɰȼ¾Ò»·¿1<ÆÆÁij±Âk;ÐÀ¼ÔɸвÌɱ°´k4ÑýÓȻѳÀÊ·ÉÈsO@q1304=GHq=j97H56;3xW6>=?>0>o7?<3g2;e?`c:9qe;84>;o55>3=#?:0=i6s\37843?3d2898j=6n:gf17>U3k3=on7>5121e4=g=nm8>7^=9:6fa>5<6;:l;4l4id348W1e==h0m8n4>32d3855`8e0f<6;:l;4l4id358`2g2290:6pS>>0;6<4>:61bV5?2>=19n4>32d3kj7)<=:6c4?!502>k=7)89:09'20<002c3=663g?n6=54i923>5<#=o03<<5a5d82?>o0no0;6);i:922?k3b2;10e:hj:18'1c>;o7f>1=lh6=4+5g8;44=i=l0>76g70c83>!3a21::7c;j:798m=6f290/9k47009m1`<032c3<44?:%7e>=663g?n6554i92;>5<#=o03<<5a5d8:?>o?8>0;6);i:922?k3b2h10e5>9:18'1c>;o7f>f=!3a21::7c;j:d98m2`e290/9k47009m1`2cd3g?n6=54i6ga>5<#=o0o0mh0;6);i:6g`?k3b2;10e:k6:18'1c<0mj1e9h4<;:k4a2<72-?m6:kl;o7f>1=o=6=4+5g84af=i=l0>76g8e483>!3a2>oh7c;j:798m2c3290/9k48eb9m1`<032c4?:%7e>2cd3g?n6554i6g1>5<#=o0o0m80;6);i:6g`?k3b2h10e:k?:18'1c<0mj1e9h4m;:k4`c<72-?m6:kl;o7f>f=nn6=4+5g84af=i=l0o76g8f483>!3a2>oh7c;j:d98m2`3290/9k48eb9m1`4?:%7e>2cd3g?n6<>4;h5e6?6=,l:6=4+5g84af=i=l0:>65f7g294?"2n3=no6`:e;30?>o0mo0;6);i:6g`?k3b28>07d9je;29 0`=?li0b8k51498m2c?290/9k48eb9m1`<6>21b;ij50;&6b?1bk2d>i7?8;:k4e?6=3`2:<7>5;h5ee?6=3f=hi7>5$4d93fbi7=4;n5`=?6=,=h?j21<7*:f;5``>h2m3?07b9l7;29 0`=?jn0b8k56:9l3f0=83.>j79ld:l6a?1<3f=h97>5$4d93fbi7l4;n5`4?6=,=h?kl1<7*:f;5``>h2m3n07b9me;29 0`=?jn0b8k5e:9l3gb=83.>j79ld:l6a?`<3f=io7>5$4d93fb5<#=o0=h?kk1<7*:f;5``>h2m3;976a8b883>!3a2>io7c;j:018?j1e?3:1(8h57bf8j0c=9=10c:l9:18'1c<0km1e9h4>5:9l3g3=83.>j79ld:l6a?7132e2ec3g?n6<94;n5a7?6=,h96=4+5g84ga=i=l0:565`7c394?"2n3=hh6`:e;3b?>i0j90;6);i:6ag?k3b28h07b9nf;29 0`=?jn0b8k51b98k2gb290/9k48ce9m1`<6l21d;i;50;&6b?1dl2d>i7?j;:m4`1<72-?m6:mk;o7f>4`<3f=o?7>5$4d93fb=54o6f1>5<#=o0=h?m;1<7*:f;5``>h2m38976a8d183>!3a2>io7c;j:318?j1dn3:1(8h57bf8j0c=:=10c:m<:18'1c<0km1e9h4=5:9l3g>=83.>j79ld:l6a?4132e2ec3g?n6?94;n:3`?6=3f=m;7>5;n5ge?6=3k=m6=4:f;52=?14irB=n6*9a;5bf>\6m3?1b4=h50;&6b?>7m2d>i7>4;h:36?6=,=n09:1<7*:f;:35>h2m3;07d9if;29 0`=09;0b8k52:9j3cc=83.>j76?1:l6a?5<3`=mh7>5$4d9<577j3:1(8h58138j0c=>21b4=o50;&6b?>792d>i794;h:3=?6=,=n0921<7*:f;:35>h2m3307d6?7;29 0`=09;0b8k5a:9j<50=83.>j76?1:l6a?d<3`2;97>5$4d9<577;3:1(8h58138j0c=m21b;kl50;&6b?>792d>i7h4;h5e=?6=,=n?ln1<7*:f;5fg>h2m3:07d9jb;29 0`=?li0b8k51:9j3`g=83.>j79jc:l6a?4<3`=n57>5$4d93`e3:1(8h57da8j0c==21b;h;50;&6b?1bk2d>i784;h5f0?6=,=n?l91<7*:f;5fg>h2m3207d9j2;29 0`=?li0b8k59:9j3`7=83.>j79jc:l6a?g<3`=n<7>5$4d93`ei7k4;h5e0?6=,=n?o91<7*:f;5fg>h2m3;;76g8f383>!3a2>oh7c;j:038?l1a93:1(8h57da8j0c=9;10e:h?:18'1c<0mj1e9h4>3:9j3``=83.>j79jc:l6a?7332c2cd3g?n6<;4;h5fno6=4+5g84af=i=l0:;65f7`83>>o0j3:17d9k:188m=772900e5>l:188m2`f2900e:h9:188m2b02900c:j6:18'1c<0l11e9h4?;:m4g`<72-?m6:mk;o7f>5=ih6=4+5g84ga=i=l0:76a8cc83>!3a2>io7c;j:398k2ef290/9k48ce9m1`<432e2ec3g?n6954o6a;>5<#=o0i0k>0;6);i:6ag?k3b2?10c:m9:18'1c<0km1e9h48;:m4g0<72-?m6:mk;o7f>==i?6=4+5g84ga=i=l0276a8c383>!3a2>io7c;j:`98k2e6290/9k48ce9m1`2ec3g?n6n54o6`e>5<#=o0i0jl0;6);i:6ag?k3b2l10c:lk:18'1c<0km1e9h4i;:m4ff<72-?m6:mk;o7f>46<3f=in7>5$4d93fb5<#=o0=h?k31<7*:f;5``>h2m3;876a8b683>!3a2>io7c;j:068?j1e>3:1(8h57bf8j0c=9<10c:l::18'1c<0km1e9h4>6:9l3g2=83.>j79ld:l6a?7032e4?:%7e>2ec3g?n6<64;n5a6?6=,h:6=4+5g84ga=i=l0:m65`7c294?"2n3=hh6`:e;3a?>i0io0;6);i:6ag?k3b28i07b9ne;29 0`=?jn0b8k51e98k2b2290/9k48ce9m1`<6m21d;i:50;&6b?1dl2d>i7?i;:m4`6<72-?m6:mk;o7f>76<3f=o>7>5$4d93fb<54o6f2>5<#=o0=h?m:1<7*:f;5``>h2m38876a8cg83>!3a2>io7c;j:368?j1d;3:1(8h57bf8j0c=:<10c:l7:18'1c<0km1e9h4=6:9l3db=83.>j79ld:l6a?4032e351;294~"1i3>:7E9?;I4a?j272900qo6>:180>5<7s->i203:17pl72;297?6=8r.=m78i;I53?M0e3`886=44i5`94?=h=10;66sm8283>1<729q/:l4:3:J44>N1j2c9?7>5;h1a>5<1<75`5983>>{e0=0;6>4?:1y'2d<1n2B<<6F9b:k17?6=3`>i6=44o4:94?=zj1?1<7:50;2x 3g==:1C;=5G6c9j66<722c8n7>5;h47>5<k1b>>4?::k7f?6=3f?36=44}c:4>5<3290;w)8n:418L26<@?h0e?=50;9j7g<722c=87>5;n7;>5<4H7`8m75=831b8o4?::m654;294~"1i3?87E9?;I4a?l442900e>l50;9j21<722e>47>5;|`;e?6=;3:1N082B=n6g=3;29?l5e2900e;:50;9l1=<722wi4n4?:283>5}#>h0=j6F80:J5f>o5;3:17d:m:188k0>=831vn5j50;694?6|,?k19>5G719K2g=n::0;66gt$7c92c=O?91C:o5f2283>>o3j3:17b;7:188yg>a290?6=4?{%4b>05<@>:0D;l4i3194?=n;k0;66g94;29?j3?2900qo7?:180>5<7s->i203:17pl61;290?6=8r.=m7;<;I53?M0e3`886=44i2`94?=n>=0;66a:8;29?xd>:3:1?7>50z&5e?0a3A=;7E8m;h00>5<>{e1:0;694?:1y'2d<2;2B<<6F9b:k17?6=3`9i6=44i7694?=h=10;66sm9583>6<729q/:l49f:J44>N1j2c9?7>5;h6a>5<k1b>>4?::k0f?6=3`o1C;=5G6c9j66<722c?n7>5;n7;>5<4H7`8m75=831b?o4?::k50?6=3f?36=44}c;;>5<4290;w)8n:7d8L26<@?h0e?=50;9j0g<722e>47>5;|`:=?6=<3:153;294~"1i35}#>h0>?6F80:J5f>o5;3:17d=m:188m32=831d954?::a=f<72:0;6=u+6`85b>N082B=n6g=3;29?l2e2900c8650;9~f1<7>t$7c916=O?91C:o5f2283>>o4j3:17d8;:188k0>=831vn4k50;194?6|,?k1:k5G719K2g=n::0;66g;b;29?j3?2900qo7i:187>5<7s->o1<3:17b;7:188ygg729086=4?{%4b>3`<@>:0D;l4i3194?=n50z&5e?343A=;7E8m;h00>5<>i203:17pln2;297?6=8r.=m78i;I53?M0e3`886=44i5`94?=h=10;66sma283>1<729q/:l4:3:J44>N1j2c9?7>5;h1a>5<1<75`5983>>{ei=0;6>4?:1y'2d<1n2B<<6F9b:k17?6=3`>i6=44o4:94?=zjh?1<7:50;2x 3g==:1C;=5G6c9j66<722c8n7>5;h47>5<k1b>>4?::k7f?6=3f?36=44}cc4>5<3290;w)8n:418L26<@?h0e?=50;9j7g<722c=87>5;n7;>5<4H7`8m75=831b8o4?::m654;294~"1i3?87E9?;I4a?l442900e>l50;9j21<722e>47>5;|`be?6=;3:1N082B=n6g=3;29?l5e2900e;:50;9l1=<722wimn4?:283>5}#>h0=j6F80:J5f>o5;3:17d:m:188k0>=831vnlj50;694?6|,?k19>5G719K2g=n::0;66gt$7c92c=O?91C:o5f2283>>o3j3:17b;7:188ygga290?6=4?{%4b>05<@>:0D;l4i3194?=n;k0;66g94;29?j3?2900qol?:180>5<7s-j4H628L3d<,=31>6g>f;29?l5>2900c;<50;9~fg7=8391<7>t$7c97a=O?91C:o5+4881?l7a2900e>750;9l27<722win?4?:283>5}#>h08h6F80:J5f>"31380e7>5;|`a7?6=;3:15;n41>5<4H7`8 1?=:2c:j7>5;h1:>5<k1/844=;h3e>5<>{ej?0;6>4?:1y'2d<4l2B<<6F9b:&7=?4>i1:3:17plm7;297?6=8r.=m7=k;I53?M0e3->26?5f1g83>>o413:17b8=:188ygd?29086=4?{%4b>6b<@>:0D;l4$5;96>o6n3:17d=6:188k34=831vno750;194?6|,?k1?i5G719K2g=#<0097d?i:188m6?=831d:?4?::afd<72:0;6=u+6`80`>N082B=n6*;9;08m4`=831b?44?::m56?6=3thin7>53;294~"1i39o7E9?;I4a?!2>2;1b=k4?::k0=?6=3f<96=44}c``>5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zjkn1<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66smbd83>6<729q/:l4N1j2.?57<4i0d94?=n;00;66a92;29?xden3:1?7>50z&5e?5c3A=;7E8m;%6:>7=n9o0;66g<9;29?j052900qom?:180>5<7s-j4H628L3d<,=31>6g>f;29?l5>2900c;<50;9~ff7=8391<7>t$7c97a=O?91C:o5+4881?l7a2900e>750;9l27<722wio?4?:283>5}#>h08h6F80:J5f>"31380e7>5;|``7?6=;3:15;n41>5<4H7`8 1?=:2c:j7>5;h1:>5<k1/844=;h3e>5<>{ek?0;6>4?:1y'2d<4l2B<<6F9b:&7=?4>i1:3:17pll7;297?6=8r.=m7=k;I53?M0e3->26?5f1g83>>o413:17b8=:188yge?29086=4?{%4b>3`<@>:0D;l4i3194?=n50z&5e?0a3A=;7E8m;h00>5<>{ekh0;694?:1y'2d<2;2B<<6F9b:k17?6=3`9i6=44i7694?=h=10;66smcc83>6<729q/:l49f:J44>N1j2c9?7>5;h6a>5<k1b>>4?::k0f?6=3`o1C;=5G6c9j66<722c?n7>5;n7;>5<4H7`8m75=831b?o4?::k50?6=3f?36=44}cae>5<4290;w)8n:7d8L26<@?h0e?=50;9j0g<722e>47>5;|`g4?6=<3:153;294~"1i35}#>h0>?6F80:J5f>o5;3:17d=m:188m32=831d954?::a`6<72:0;6=u+6`85b>N082B=n6g=3;29?l2e2900c8650;9~fa2=83>1<7>t$7c916=O?91C:o5f2283>>o4j3:17d8;:188k0>=831vni;50;194?6|,?k1:k5G719K2g=n::0;66g;b;29?j3?2900qoj9:187>5<7s->o1<3:17b;7:188ygb029086=4?{%4b>3`<@>:0D;l4i3194?=n50z&5e?343A=;7E8m;h00>5<>i203:17plk9;297?6=8r.=m78i;I53?M0e3`886=44i5`94?=h=10;66smd`83>1<729q/:l4:3:J44>N1j2c9?7>5;h1a>5<1<75`5983>>{elk0;6>4?:1y'2d<1n2B<<6F9b:k17?6=3`>i6=44o4:94?=zjmi1<7:50;2x 3g==:1C;=5G6c9j66<722c8n7>5;h47>5<k1b>>4?::k7f?6=3f?36=44}cff>5<3290;w)8n:418L26<@?h0e?=50;9j7g<722c=87>5;n7;>5<4H7`8m75=831b8o4?::m654;294~"1i3?87E9?;I4a?l442900e>l50;9j21<722e>47>5;|`f5?6=;3:1N082B=n6g=3;29?l5e2900e;:50;9l1=<722wii>4?:283>5}#>h0=j6F80:J5f>o5;3:17d:m:188k0>=831vnh:50;694?6|,?k19>5G719K2g=n::0;66gt$7c92c=O?91C:o5f2283>>o3j3:17b;7:188ygc1290?6=4?{%4b>05<@>:0D;l4i3194?=n;k0;66g94;29?j3?2900qok8:180>5<7s-j4H628L3d<,=31>6g>f;29?l5>2900c;<50;9~f`>=8391<7>t$7c97a=O?91C:o5+4881?l7a2900e>750;9l27<722wii44?:283>5}#>h08h6F80:J5f>"31380e7>5;|`fe?6=;3:15;n41>5<4H7`8 1?=:2c:j7>5;h1:>5<k1/844=;h3e>5<>{emm0;6>4?:1y'2d<4l2B<<6F9b:&7=?4>i1:3:17plje;297?6=8r.=m7=k;I53?M0e3->26?5f1g83>>o413:17b8=:188ygca29086=4?{%4b>6b<@>:0D;l4$5;96>o6n3:17d=6:188k34=831vnk>50;194?6|,?k1?i5G719K2g=#<0097d?i:188m6?=831d:?4?::ab4<72:0;6=u+6`80`>N082B=n6*;9;08m4`=831b?44?::m56?6=3thm>7>53;294~"1i39o7E9?;I4a?!2>2;1b=k4?::k0=?6=3f<96=44}cd0>5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zjo>1<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66smf483>6<729q/:l4N1j2.?57<4i0d94?=n;00;66a92;29?xda>3:1?7>50z&5e?5c3A=;7E8m;%6:>1=n9o0;66g<9;29?j052900qoh8:180>5<7s-j4H628L3d<,=31>6g>f;29?l5>2900c;<50;9~fc>=8391<7>t$7c97a=O?91C:o5+4881?l7a2900e>750;9l27<722wij44?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<4H7`8 1?=:2c:j7>5;h02>5<>{enk0;6>4?:1y'2d<4l2B<<6F9b:&7=?4>i1:3:17plic;297?6=8r.=m7=k;I53?M0e3->26?5f1g83>>o413:17b8=:188yg`c29086=4?{%4b>6b<@>:0D;l4$5;96>o6n3:17d=6:188k34=831vnkk50;194?6|,?k1?i5G719K2g=#<0097d?i:188m6?=831d:?4?::abc<72:0;6=u+6`80`>N082B=n6*;9;08m4`=831b?44?::m56?6=3th:<=4?:283>5}#>h08h6F80:J5f>"31380e7>5;|`244<72:0;6=u+6`80`>N082B=n6*;9;08m4`=831b?44?::m56?6=3th:5}#>h08j6F80:J5f>"313>0e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj8:?6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e99?1<7:50;2x 3g=;o1C;=5G6c9'0<<33`;m6=44i3394?=n;00;66a92;29?xd68?0;694?:1y'2d<4n2B<<6F9b:&7=?2>o413:17b8=:188yg77?3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f46?290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a55?=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`24d<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c33f?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm11f94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl>0d83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo??f;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi=5}#>h08j6F80:J5f>"313>0e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj8;?6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e98?1<7:50;2x 3g=;o1C;=5G6c9'0<<33`;m6=44i3394?=n;00;66a92;29?xd69?0;694?:1y'2d<4n2B<<6F9b:&7=?2>o413:17b8=:188yg76?3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f47?290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a54?=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`25d<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c32f?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm10f94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl>1d83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo?>f;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn<5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi=??50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th:>?4?:283>5}#>h08h6F80:J5f>"31380e7>5;|`266<72:0;6=u+6`80`>N082B=n6*;9;08m4`=831b?44?::m56?6=3th:>94?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj88=6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e9;=1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd6:10;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg7513:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f44f290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a57d=83>1<7>t$7c97c=O?91C:o5+4881?l7a2900e??50;9j7<<722e=>7>5;|`26f<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c31`?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm13d94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl>3183>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo?<1;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn<==:187>5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi=>=50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th:?94?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj89=6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e9:=1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd6;10;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg7413:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f45f290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a56d=83>1<7>t$7c97c=O?91C:o5+4881?l7a2900e??50;9j7<<722e=>7>5;|`27f<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c30`?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm12d94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl>4183>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo?;1;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn<:=:187>5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi=9=50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th:894?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj8>=6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e9==1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd6<10;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg7313:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f42f290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a51d=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`20f<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c37`?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm15d94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl>5183>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo?:1;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn<;=:187>5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi=8=50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th:994?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<97>54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj8?=6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e9<=1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd6=10;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg7213:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f43f290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a50d=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`21f<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c36`?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm14d94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl>6183>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo?91;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn<8=:187>5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi=;=50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th::94?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj8<=6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e9?=1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd6>10;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg7113:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f40f290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a53d=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`22f<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c35`?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm17d94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl>7183>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo?81;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn<9=:187>5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi=:=50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th:;94?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj8==6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e9>=1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd6?10;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg7013:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f41f290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a52d=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`23f<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c34`?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm16d94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl>8183>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo?71;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn<6=:187>5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi=5=50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th:494?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj82=6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e91=1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd6010;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg7?13:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f4>f290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a5=d=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`2N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c3;`?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm19d94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl>9183>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo?61;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn<7=:187>5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi=4=50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th:594?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj83=6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e90=1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd6110;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg7>13:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f4?f290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a51<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`2=f<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c3:`?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm18d94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl>a183>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo?n1;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi=l=50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th:m94?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj8k=6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e9h=1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd6i10;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg7f13:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f4gf290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a5dd=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`2ef<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c3b`?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm1`d94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl>b183>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo?m1;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi=o=50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th:n94?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj8h=6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e9k=1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd6j10;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg7e13:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f4df290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a5gd=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`2ff<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c3a`?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm1cd94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl>c183>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo?l1;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi=n=50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th:o94?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj8i=6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e9j=1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd6k10;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg7d13:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f4ef290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a5fd=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`2gf<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c3``?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm1bd94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl>d183>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo?k1;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi=i=50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th:h94?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj8n=6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e9m=1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd6l10;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg7c13:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f4bf290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a5ad=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`2`f<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:hi4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2``<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:hk4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2a5<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:i<4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2a7<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:i>4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2a1<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:i84?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2a3<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:i:4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2a=<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:i44?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2ad<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:io4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2af<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:ii4?:283>5}#>h08h6F80:J5f>"31380e7>5;|`2a`<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:ik4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2b5<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:j<4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2b7<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:j>4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2b1<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:j84?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2b3<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:j:4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2b=<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:j44?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2bd<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:jo4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2bf<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:ji4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`2b`<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th:jk4?:283>5}#>h08h6F80:J5f>"31380e7>5;|`145<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9<<4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`147<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9<>4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`141<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9<84?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`143<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9<:4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`14=<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9<44?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`14d<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th95}#>h08h6F80:J5f>"313>0e7>5;|`14f<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th95}#>h08h6F80:J5f>"313>0e7>5;|`14`<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th95}#>h08h6F80:J5f>"313>0e7>5;|`155<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9=<4?:283>5}#>h08h6F80:J5f>"31380e7>5;|`157<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9=>4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`151<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9=84?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`153<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9=:4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`15=<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9=44?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`15d<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9=o4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`15f<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9=i4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`15`<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9=k4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`165<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9><4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`167<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9>>4?:283>5}#>h08h6F80:J5f>"31380e7>5;|`161<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9>84?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`163<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9>:4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`16=<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9>44?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`16d<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9>o4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`16f<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9>i4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`16`<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9>k4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`175<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9?<4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`177<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9?>4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`171<72:0;6=u+6`80`>N082B=n6*;9;08m4`=831b?44?::m56?6=3th9?84?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`173<72:0;6=u+6`80`>N082B=n6*;9;08m4`=831b?44?::m56?6=3th9?:4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`17=<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9?44?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`17d<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9?o4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`17f<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9?i4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`17`<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9?k4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`105<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th98<4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`107<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th98>4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`101<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9884?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`103<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th98:4?:283>5}#>h08h6F80:J5f>"31380e7>5;|`10=<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9844?:283>5}#>h08h6F80:J5f>"31380e7>5;|`10d<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th98o4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`10f<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th98i4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`10`<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th98k4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`115<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th99<4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`117<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th99>4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`111<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9984?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`113<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th99:4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`11=<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9944?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`11d<72:0;6=u+6`80`>N082B=n6*;9;08m4`=831b?44?::m56?6=3th99o4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`11f<72:0;6=u+6`80`>N082B=n6*;9;08m4`=831b?44?::m56?6=3th99i4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`11`<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th99k4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`125<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9:<4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`127<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9:>4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`121<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9:84?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`123<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9::4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`12=<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9:44?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`12d<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9:o4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`12f<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9:i4?:283>5}#>h08h6F80:J5f>"31380e7>5;|`12`<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9:k4?:283>5}#>h08h6F80:J5f>"31380e7>5;|`135<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9;<4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`137<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9;>4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`131<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9;84?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`133<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9;:4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`13=<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9;44?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`13d<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9;o4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`13f<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9;i4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`13`<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9;k4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`1<5<72:0;6=u+6`80`>N082B=n6*;9;08m4`=831b?44?::m56?6=3th94<4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`1<7<72:0;6=u+6`80`>N082B=n6*;9;08m4`=831b?44?::m56?6=3th94>4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`1<1<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9484?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`1<3<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th94:4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`1<=<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9444?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`1N082B=n6*;9;68m4`=831b?44?::m56?6=3th94o4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`1N082B=n6*;9;68m4`=831b?44?::m56?6=3th94i4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`1<`<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th94k4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`1=5<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th95<4?:283>5}#>h08h6F80:J5f>"313>0e7>5;|`1=7<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th95>4?:283>5}#>h08h6F80:J5f>"31380e7>5;|`1=1<72:0;6=u+6`80`>N082B=n6*;9;68m4`=831b?44?::m56?6=3th9584?:283>5}#>h08h6F80:J5f>"31380e7>5;|`1=3<72:0;6=u+6`85b>N082B=n6*:9;5gg>o5;3:17d:m:188k0>=831vn?78:180>5<7s-4?:1y'2d<1n2B<<6F9b:&6=?1ck2c9?7>5;h6a>5<5<4290;w)8n:7d8L26<@?h0(8757ea8m75=831b8o4?::m65}#>h0=j6F80:J5f>"213=oo6g=3;29?l2e2900c8650;9~f7?e29086=4?{%4b>3`<@>:0D;l4$4;93ae>i203:17pl=9b83>6<729q/:l49f:J44>N1j2.>579kc:k17?6=3`>i6=44o4:94?=zj;3o6=4<:183!0f2?l0D:>4H7`8 0?=?mi0e?=50;9j0g<722e>47>5;|`1=`<72:0;6=u+6`85b>N082B=n6*:9;5gg>o5;3:17d:m:188k0>=831vn?7i:180>5<7s-4?:1y'2d<1n2B<<6F9b:&6=?1ck2c9?7>5;h6a>5<5<4290;w)8n:7d8L26<@?h0(8757ea8m75=831b8o4?::m65}#>h0=j6F80:J5f>"213=oo6g=3;29?l2e2900c8650;9~f7g429086=4?{%4b>3`<@>:0D;l4$4;93ae>i203:17pl=a583>6<729q/:l49f:J44>N1j2.>579kc:k17?6=3`>i6=44o4:94?=zj;k>6=4<:183!0f2?l0D:>4H7`8 0?=?mi0e?=50;9j0g<722e>47>5;|`1e3<72=0;6=u+6`867>N082B=n6*:9;5gg>o5;3:17d=m:188m32=831d954?::a6d1=83>1<7>t$7c916=O?91C:o5+5884`f=n::0;66g05<@>:0D;l4$4;93ae>o1<3:17b;7:188yg4f13:187>50z&5e?343A=;7E8m;%7:>2bd3`886=44i2`94?=n>=0;66a:8;29?xd5ih0;694?:1y'2d<2;2B<<6F9b:&6=?1ck2c9?7>5;h1a>5<1<75`5983>>{e:hh1<7:50;2x 3g==:1C;=5G6c9'1<<0lj1b>>4?::k0f?6=3`4H7`8 0?=?mi0e?=50;9j7g<722c=87>5;n7;>5<54;294~"1i3?87E9?;I4a?!3>2>nh7d<<:188m6d=831b:94?::m65}#>h0>?6F80:J5f>"213=oo6g=3;29?l5e2900e;:50;9l1=<722wi>lh50;694?6|,?k19>5G719K2g=#=00>o4j3:17d8;:188k0>=831vn?l?:187>5<7s-5<>i203:17pl=b383>1<729q/:l4:3:J44>N1j2.>579kc:k17?6=3`9i6=44i7694?=h=10;66sm2c194?2=83:p(;o5529K35=O>k1/9448db9j66<722c8n7>5;h47>5<5<3290;w)8n:418L26<@?h0(8757ea8m75=831b?o4?::k50?6=3f?36=44}c0a1?6=<3:1l50;9j21<722e>47>5;|`1f3<72:0;6=u+6`85b>N082B=n6*:9;5gg>o5;3:17d:m:188k0>=831vn?l8:187>5<7s-5<>{e:k31<7=50;2x 3g=>o1C;=5G6c9'1<<0lj1b>>4?::k7f?6=3f?36=44}c0ae?6=;3:1ol50;194?6|,?k1:k5G719K2g=#=00>o3j3:17b;7:188yg4ek3:1?7>50z&5e?0a3A=;7E8m;%7:>2bd3`886=44i5`94?=h=10;66sm2cf94?5=83:p(;o56g9K35=O>k1/9448db9j66<722c?n7>5;n7;>5<53;294~"1i32>nh7d<<:188m1d=831d954?::a6g`=8391<7>t$7c92c=O?91C:o5+5884`f=n::0;66g;b;29?j3?2900qo5<>{e:j;1<7=50;2x 3g=>o1C;=5G6c9'1<<0lj1b>>4?::k7f?6=3f?36=44}c0`6?6=;3:1n=50;194?6|,?k1:k5G719K2g=#=00>o3j3:17b;7:188yg4d<3:1?7>50z&5e?0a3A=;7E8m;%7:>2bd3`886=44i5`94?=h=10;66sm2b794?5=83:p(;o56g9K35=O>k1/9448db9j66<722c?n7>5;n7;>5<53;294~"1i32>nh7d<<:188m1d=831d954?::a6f1=8391<7>t$7c92c=O?91C:o5+5884`f=n::0;66g;b;29?j3?2900qo5<>i203:17pl=c883>1<729q/:l4:3:J44>N1j2.>579kc:k17?6=3`9i6=44i7694?=h=10;66sm2bc94?2=83:p(;o5529K35=O>k1/9448db9j66<722c8n7>5;h47>5<5<3290;w)8n:418L26<@?h0(8757ea8m75=831b?o4?::k50?6=3f?36=44}c0`g?6=<3:1l50;9j21<722e>47>5;|`1ga<72=0;6=u+6`867>N082B=n6*:9;5gg>o5;3:17d=m:188m32=831d954?::a6fc=83>1<7>t$7c916=O?91C:o5+5884`f=n::0;66g05<@>:0D;l4$4;93ae>o1<3:17b;7:188yg4c83:187>50z&5e?343A=;7E8m;%7:>2bd3`886=44i2`94?=n>=0;66a:8;29?xd5l80;694?:1y'2d<2;2B<<6F9b:&6=?1ck2c9?7>5;h1a>5<1<75`5983>>{e:m81<7:50;2x 3g==:1C;=5G6c9'1<<0lj1b>>4?::k0f?6=3`4H7`8 0?=?mi0e?=50;9j7g<722c=87>5;n7;>5<54;294~"1i3?87E9?;I4a?!3>2>nh7d<<:188m6d=831b:94?::m65}#>h0>?6F80:J5f>"213=oo6g=3;29?l5e2900e;:50;9l1=<722wi>i850;694?6|,?k19>5G719K2g=#=00>o4j3:17d8;:188k0>=831vn?j8:187>5<7s-5<>{e:m31<7:50;2x 3g==:1C;=5G6c9'1<<0lj1b>>4?::k0f?6=3`4H7`8 0?=?mi0e?=50;9j0g<722e>47>5;|`1`g<72:0;6=u+6`85b>N082B=n6*:9;5gg>o5;3:17d:m:188k0>=831vn?jl:180>5<7s-4?:1y'2d<1n2B<<6F9b:&6=?1ck2c9?7>5;h6a>5<5<4290;w)8n:7d8L26<@?h0(8757ea8m75=831b8o4?::m65}#>h0=j6F80:J5f>"213=oo6g=3;29?l2e2900c8650;9~f7c729086=4?{%4b>3`<@>:0D;l4$4;93ae>i203:17pl=e083>6<729q/:l49f:J44>N1j2.>579kc:k17?6=3`>i6=44o4:94?=zj;o96=4<:183!0f2?l0D:>4H7`8 0?=?mi0e?=50;9j0g<722e>47>5;|`1a6<72:0;6=u+6`85b>N082B=n6*:9;5gg>o5;3:17d:m:188k0>=831vn?k;:180>5<7s-4?:1y'2d<1n2B<<6F9b:&6=?1ck2c9?7>5;h6a>5<5<4290;w)8n:7d8L26<@?h0(8757ea8m75=831b8o4?::m65}#>h0=j6F80:J5f>"213=oo6g=3;29?l2e2900c8650;9~f7c?29086=4?{%4b>3`<@>:0D;l4$4;93ae>i203:17pl=e883>6<729q/:l49f:J44>N1j2.>579kc:k17?6=3`>i6=44o4:94?=zj;oj6=4;:183!0f2<90D:>4H7`8 0?=?mi0e?=50;9j7g<722c=87>5;n7;>5<54;294~"1i3?87E9?;I4a?!3>2>nh7d<<:188m6d=831b:94?::m65}#>h0>?6F80:J5f>"213=oo6g=3;29?l5e2900e;:50;9l1=<722wi>hj50;694?6|,?k19>5G719K2g=#=00>o4j3:17d8;:188k0>=831vn?kj:187>5<7s-5<>i203:17pl=f183>1<729q/:l4:3:J44>N1j2.>579kc:k17?6=3`9i6=44i7694?=h=10;66sm2g394?2=83:p(;o5529K35=O>k1/9448db9j66<722c8n7>5;h47>5<5<3290;w)8n:418L26<@?h0(8757ea8m75=831b?o4?::k50?6=3f?36=44}c0e7?6=<3:1l50;9j21<722e>47>5;|`1b1<72=0;6=u+6`867>N082B=n6*:9;5gg>o5;3:17d=m:188m32=831d954?::a6c3=83>1<7>t$7c916=O?91C:o5+5884`f=n::0;66g05<@>:0D;l4$4;93ae>o1<3:17b;7:188yg4a?3:187>50z&5e?343A=;7E8m;%7:>2bd3`886=44i2`94?=n>=0;66a:8;29?xd5n10;694?:1y'2d<2;2B<<6F9b:&6=?1ck2c9?7>5;h1a>5<1<75`5983>>{e:o31<7:50;2x 3g==:1C;=5G6c9'1<<0lj1b>>4?::k0f?6=3`4H7`8 0?=?mi0e?=50;9j0g<722e>47>5;|`1bg<72=0;6=u+6`867>N082B=n6*:9;5gg>o5;3:17d=m:188m32=831d954?::a6ce=8391<7>t$7c92c=O?91C:o5+5884`f=n::0;66g;b;29?j3?2900qo5<>{e:oo1<7=50;2x 3g=>o1C;=5G6c9'1<<0lj1b>>4?::k7f?6=3f?36=44}c0eb?6=;3:150;194?6|,?k1:k5G719K2g=#=00>o3j3:17b;7:188yg5793:1?7>50z&5e?0a3A=;7E8m;%7:>2bd3`886=44i5`94?=h=10;66sm31094?5=83:p(;o56g9K35=O>k1/9448db9j66<722c?n7>5;n7;>5<53;294~"1i32>nh7d<<:188m1d=831d954?::a752=8391<7>t$7c92c=O?91C:o5+5884`f=n::0;66g;b;29?j3?2900qo=?5;297?6=8r.=m78i;I53?M0e3-?26:jl;h00>5<>{e;9<1<7=50;2x 3g=>o1C;=5G6c9'1<<0lj1b>>4?::k7f?6=3f?36=44}c133?6=;3:1>o3j3:17b;7:188yg5713:1?7>50z&5e?0a3A=;7E8m;%7:>2bd3`886=44i5`94?=h=10;66sm31c94?5=83:p(;o56g9K35=O>k1/9448db9j66<722c?n7>5;n7;>5<53;294~"1i32>nh7d<<:188m1d=831d954?::a75e=83>1<7>t$7c916=O?91C:o5+5884`f=n::0;66g05<@>:0D;l4$4;93ae>o1<3:17b;7:188yg57m3:187>50z&5e?343A=;7E8m;%7:>2bd3`886=44i2`94?=n>=0;66a:8;29?xd48o0;694?:1y'2d<2;2B<<6F9b:&6=?1ck2c9?7>5;h1a>5<1<75`5983>>{e;8:1<7:50;2x 3g==:1C;=5G6c9'1<<0lj1b>>4?::k0f?6=3`4H7`8 0?=?mi0e?=50;9j7g<722c=87>5;n7;>5<7>54;294~"1i3?87E9?;I4a?!3>2>nh7d<<:188m6d=831b:94?::m64?:583>5}#>h0>?6F80:J5f>"213=oo6g=3;29?l5e2900e;:50;9l1=<722wi?<:50;694?6|,?k19>5G719K2g=#=00>o4j3:17d8;:188k0>=831vn>?::187>5<7s-6;290?6=8r.=m7;<;I53?M0e3-?26:jl;h00>5<>i203:17pl<1683>1<729q/:l4:3:J44>N1j2.>579kc:k17?6=3`9i6=44i7694?=h=10;66sm30:94?2=83:p(;o5529K35=O>k1/9448db9j66<722c8n7>5;h47>5<5<3290;w)8n:418L26<@?h0(8757ea8m75=831b?o4?::k50?6=3f?36=44}c12e?6=<3:1l50;9j21<722e>47>5;|`05g<72=0;6=u+6`867>N082B=n6*:9;5gg>o5;3:17d=m:188m32=831d954?::a74e=8391<7>t$7c92c=O?91C:o5+5884`f=n::0;66g;b;29?j3?2900qo=>d;290?6=8r.=m7;<;I53?M0e3-?26:jl;h00>5<>i203:17pl<1d83>6<729q/:l49f:J44>N1j2.>579kc:k17?6=3`>i6=44o4:94?=zj:;m6=4<:183!0f2?l0D:>4H7`8 0?=?mi0e?=50;9j0g<722e>47>5;|`065<72:0;6=u+6`85b>N082B=n6*:9;5gg>o5;3:17d:m:188k0>=831vn><>:180>5<7s-4?:1y'2d<1n2B<<6F9b:&6=?1ck2c9?7>5;h6a>5<5<4290;w)8n:7d8L26<@?h0(8757ea8m75=831b8o4?::m694?:283>5}#>h0=j6F80:J5f>"213=oo6g=3;29?l2e2900c8650;9~f64229086=4?{%4b>3`<@>:0D;l4$4;93ae>i203:17pl<2783>6<729q/:l49f:J44>N1j2.>579kc:k17?6=3`>i6=44o4:94?=zj:8<6=4<:183!0f2?l0D:>4H7`8 0?=?mi0e?=50;9j0g<722e>47>5;|`06=<72:0;6=u+6`85b>N082B=n6*:9;5gg>o5;3:17d:m:188k0>=831vn><6:180>5<7s-4?:1y'2d<1n2B<<6F9b:&6=?1ck2c9?7>5;h6a>5<5<4290;w)8n:7d8L26<@?h0(8757ea8m75=831b8o4?::m6n4?:283>5}#>h0=j6F80:J5f>"213=oo6g=3;29?l2e2900c8650;9~f64c29086=4?{%4b>3`<@>:0D;l4$4;93ae>i203:17pl<2d83>1<729q/:l4:3:J44>N1j2.>579kc:k17?6=3`9i6=44i7694?=h=10;66sm33d94?2=83:p(;o5529K35=O>k1/9448db9j66<722c8n7>5;h47>5<5<3290;w)8n:418L26<@?h0(8757ea8m75=831b?o4?::k50?6=3f?36=44}c105?6=<3:1l50;9j21<722e>47>5;|`077<72=0;6=u+6`867>N082B=n6*:9;5gg>o5;3:17d=m:188m32=831d954?::a765=83>1<7>t$7c916=O?91C:o5+5884`f=n::0;66g05<@>:0D;l4$4;93ae>o1<3:17b;7:188yg54=3:187>50z&5e?343A=;7E8m;%7:>2bd3`886=44i2`94?=n>=0;66a:8;29?xd4;?0;694?:1y'2d<2;2B<<6F9b:&6=?1ck2c9?7>5;h1a>5<1<75`5983>>{e;:=1<7:50;2x 3g==:1C;=5G6c9'1<<0lj1b>>4?::k0f?6=3`4H7`8 0?=?mi0e?=50;9j7g<722c=87>5;n7;>5<54;294~"1i3?87E9?;I4a?!3>2>nh7d<<:188m6d=831b:94?::m65}#>h0>?6F80:J5f>"213=oo6g=3;29?l5e2900e;:50;9l1=<722wi?>l50;694?6|,?k19>5G719K2g=#=00>o4j3:17d8;:188k0>=831vn>=l:187>5<7s-5<>i203:17pl<3d83>6<729q/:l49f:J44>N1j2.>579kc:k17?6=3`>i6=44o4:94?=zj:9m6=4;:183!0f2<90D:>4H7`8 0?=?mi0e?=50;9j7g<722c=87>5;n7;>5<53;294~"1i32>nh7d<<:188m1d=831d954?::a717=8391<7>t$7c92c=O?91C:o5+5884`f=n::0;66g;b;29?j3?2900qo=;2;297?6=8r.=m78i;I53?M0e3-?26:jl;h00>5<>{e;=91<7=50;2x 3g=>o1C;=5G6c9'1<<0lj1b>>4?::k7f?6=3f?36=44}c170?6=;3:1>o3j3:17b;7:188yg53>3:1?7>50z&5e?0a3A=;7E8m;%7:>2bd3`886=44i5`94?=h=10;66sm35594?5=83:p(;o56g9K35=O>k1/9448db9j66<722c?n7>5;n7;>5<53;294~"1i32>nh7d<<:188m1d=831d954?::a71?=8391<7>t$7c92c=O?91C:o5+5884`f=n::0;66g;b;29?j3?2900qo=;a;297?6=8r.=m78i;I53?M0e3-?26:jl;h00>5<>{e;=h1<7=50;2x 3g=>o1C;=5G6c9'1<<0lj1b>>4?::k7f?6=3f?36=44}c17g?6=;3:1>o3j3:17b;7:188yg53m3:1?7>50z&5e?0a3A=;7E8m;%7:>2bd3`886=44i5`94?=h=10;66sm35d94?5=83:p(;o56g9K35=O>k1/9448db9j66<722c?n7>5;n7;>5<<7>54;294~"1i3?87E9?;I4a?!3>2>nh7d<<:188m6d=831b:94?::m65}#>h0>?6F80:J5f>"213=oo6g=3;29?l5e2900e;:50;9l1=<722wi?8<50;694?6|,?k19>5G719K2g=#=00>o4j3:17d8;:188k0>=831vn>;<:187>5<7s-5<>i203:17pl<5483>1<729q/:l4:3:J44>N1j2.>579kc:k17?6=3`9i6=44i7694?=h=10;66sm34494?2=83:p(;o5529K35=O>k1/9448db9j66<722c8n7>5;h47>5<5<3290;w)8n:418L26<@?h0(8757ea8m75=831b?o4?::k50?6=3f?36=44}c16l50;9j21<722e>47>5;|`01<<72=0;6=u+6`867>N082B=n6*:9;5gg>o5;3:17d=m:188m32=831d954?::a70g=83>1<7>t$7c916=O?91C:o5+5884`f=n::0;66g05<@>:0D;l4$4;93ae>o1<3:17b;7:188yg52k3:187>50z&5e?343A=;7E8m;%7:>2bd3`886=44i2`94?=n>=0;66a:8;29?xd4=m0;694?:1y'2d<2;2B<<6F9b:&6=?1ck2c9?7>5;h1a>5<1<75`5983>>{e;>4?::k0f?6=3`4H7`8 0?=?mi0e?=50;9j7g<722c=87>5;n7;>5<53;294~"1i32>nh7d<<:188m1d=831d954?::a737=83>1<7>t$7c916=O?91C:o5+5884`f=n::0;66g3`<@>:0D;l4$4;93ae>i203:17pl<6283>6<729q/:l49f:J44>N1j2.>579kc:k17?6=3`>i6=44o4:94?=zj:4H7`8 0?=?mi0e?=50;9j0g<722e>47>5;|`020<72:0;6=u+6`85b>N082B=n6*:9;5gg>o5;3:17d:m:188k0>=831vn>89:180>5<7s->0;6>4?:1y'2d<1n2B<<6F9b:&6=?1ck2c9?7>5;h6a>5<5<4290;w)8n:7d8L26<@?h0(8757ea8m75=831b8o4?::m65}#>h0=j6F80:J5f>"213=oo6g=3;29?l2e2900c8650;9~f60f29086=4?{%4b>3`<@>:0D;l4$4;93ae>i203:17pl<6c83>6<729q/:l49f:J44>N1j2.>579kc:k17?6=3`>i6=44o4:94?=zj:4H7`8 0?=?mi0e?=50;9j0g<722e>47>5;|`02a<72:0;6=u+6`85b>N082B=n6*:9;5gg>o5;3:17d:m:188k0>=831vn>8j:180>5<7s-o0;6>4?:1y'2d<1n2B<<6F9b:&6=?1ck2c9?7>5;h6a>5<5<4290;w)8n:7d8L26<@?h0(8757ea8m75=831b8o4?::m65}#>h0=j6F80:J5f>"213=oo6g=3;29?l2e2900c8650;9~f615290?6=4?{%4b>05<@>:0D;l4$4;93ae>o1<3:17b;7:188yg50;3:187>50z&5e?343A=;7E8m;%7:>2bd3`886=44i2`94?=n>=0;66a:8;29?xd4?=0;694?:1y'2d<2;2B<<6F9b:&6=?1ck2c9?7>5;h1a>5<1<75`5983>>{e;>?1<7:50;2x 3g==:1C;=5G6c9'1<<0lj1b>>4?::k0f?6=3`4H7`8 0?=?mi0e?=50;9j7g<722c=87>5;n7;>5<54;294~"1i3?87E9?;I4a?!3>2>nh7d<<:188m6d=831b:94?::m65}#>h0>?6F80:J5f>"213=oo6g=3;29?l5e2900e;:50;9l1=<722wi?:750;694?6|,?k19>5G719K2g=#=00>o4j3:17d8;:188k0>=831vn>9n:187>5<7s-5<>i203:17pl<7b83>1<729q/:l4:3:J44>N1j2.>579kc:k17?6=3`9i6=44i7694?=h=10;66sm36f94?2=83:p(;o5529K35=O>k1/9448db9j66<722c8n7>5;h47>5<5<3290;w)8n:418L26<@?h0(8757ea8m75=831b?o4?::k50?6=3f?36=44}c14b?6=<3:1l50;9j21<722e>47>5;|`0<5<72=0;6=u+6`867>N082B=n6*:9;5gg>o5;3:17d=m:188m32=831d954?::a7=7=83>1<7>t$7c916=O?91C:o5+5884`f=n::0;66g529086=4?{%4b>3`<@>:0D;l4$4;93ae>i203:17pl<8283>1<729q/:l4:3:J44>N1j2.>579kc:k17?6=3`9i6=44i7694?=h=10;66sm39694?5=83:p(;o56g9K35=O>k1/9448db9j66<722c?n7>5;n7;>5<53;294~"1i32>nh7d<<:188m1d=831d954?::a7=0=8391<7>t$7c92c=O?91C:o5+5884`f=n::0;66g;b;29?j3?2900qo=77;297?6=8r.=m78i;I53?M0e3-?26:jl;h00>5<>{e;121<7=50;2x 3g=>o1C;=5G6c9'1<<0lj1b>>4?::k7f?6=3f?36=44}c1;=?6=;3:1>o3j3:17b;7:188yg5?j3:1?7>50z&5e?0a3A=;7E8m;%7:>2bd3`886=44i5`94?=h=10;66sm39a94?5=83:p(;o56g9K35=O>k1/9448db9j66<722c?n7>5;n7;>5<53;294~"1i32>nh7d<<:188m1d=831d954?::a7=c=8391<7>t$7c92c=O?91C:o5+5884`f=n::0;66g;b;29?j3?2900qo=7f;297?6=8r.=m78i;I53?M0e3-?26:jl;h00>5<>{e;0:1<7=50;2x 3g=>o1C;=5G6c9'1<<0lj1b>>4?::k7f?6=3f?36=44}c1:5?6=;3:1>o3j3:17b;7:188yg5>;3:1?7>50z&5e?0a3A=;7E8m;%7:>2bd3`886=44i5`94?=h=10;66sm38694?2=83:p(;o5529K35=O>k1/9448db9j66<722c8n7>5;h47>5<5<3290;w)8n:418L26<@?h0(8757ea8m75=831b?o4?::k50?6=3f?36=44}c1:2?6=<3:1l50;9j21<722e>47>5;|`0=2<72=0;6=u+6`867>N082B=n6*:9;5gg>o5;3:17d=m:188m32=831d954?::a7<>=83>1<7>t$7c916=O?91C:o5+5884`f=n::0;66g290?6=4?{%4b>05<@>:0D;l4$4;93ae>o1<3:17b;7:188yg5>i3:187>50z&5e?343A=;7E8m;%7:>2bd3`886=44i2`94?=n>=0;66a:8;29?xd41k0;694?:1y'2d<2;2B<<6F9b:&6=?1ck2c9?7>5;h1a>5<1<75`5983>>{e;0i1<7:50;2x 3g==:1C;=5G6c9'1<<0lj1b>>4?::k0f?6=3`4H7`8 0?=?mi0e?=50;9j7g<722c=87>5;n7;>5<54;294~"1i3?87E9?;I4a?!3>2>nh7d<<:188m6d=831b:94?::m65}#>h0>?6F80:J5f>"213=oo6g=3;29?l5e2900e;:50;9l1=<722wi?l>50;694?6|,?k19>5G719K2g=#=00>o4j3:17d8;:188k0>=831vn>o>:187>5<7s-5<>i203:17pl1<729q/:l4:3:J44>N1j2.>579kc:k17?6=3`9i6=44i7694?=h=10;66sm3`694?5=83:p(;o56g9K35=O>k1/9448db9j66<722c?n7>5;n7;>5<54;294~"1i3?87E9?;I4a?!3>2>nh7d<<:188m6d=831b:94?::m65}#>h0=j6F80:J5f>"213=oo6g=3;29?l2e2900c8650;9~f6g029086=4?{%4b>3`<@>:0D;l4$4;93ae>i203:17pl6<729q/:l49f:J44>N1j2.>579kc:k17?6=3`>i6=44o4:94?=zj:k26=4<:183!0f2?l0D:>4H7`8 0?=?mi0e?=50;9j0g<722e>47>5;|`0ed<72:0;6=u+6`85b>N082B=n6*:9;5gg>o5;3:17d:m:188k0>=831vn>om:180>5<7s-4?:1y'2d<1n2B<<6F9b:&6=?1ck2c9?7>5;h6a>5<5<4290;w)8n:7d8L26<@?h0(8757ea8m75=831b8o4?::m65}#>h0=j6F80:J5f>"213=oo6g=3;29?l2e2900c8650;9~f6ga29086=4?{%4b>3`<@>:0D;l4$4;93ae>i203:17pl6<729q/:l49f:J44>N1j2.>579kc:k17?6=3`>i6=44o4:94?=zj:h:6=4<:183!0f2?l0D:>4H7`8 0?=?mi0e?=50;9j0g<722e>47>5;|`0f7<72:0;6=u+6`85b>N082B=n6*:9;5gg>o5;3:17d:m:188k0>=831vn>l<:180>5<7s-4?:1y'2d<1n2B<<6F9b:&6=?1ck2c9?7>5;h6a>5<5<4290;w)8n:7d8L26<@?h0(8757ea8m75=831b8o4?::m65}#>h0>?6F80:J5f>"213=oo6g=3;29?l5e2900e;:50;9l1=<722wi?o950;694?6|,?k19>5G719K2g=#=00>o4j3:17d8;:188k0>=831vn>l7:187>5<7s-5<>i203:17pl1<729q/:l4:3:J44>N1j2.>579kc:k17?6=3`9i6=44i7694?=h=10;66sm3c`94?2=83:p(;o5529K35=O>k1/9448db9j66<722c8n7>5;h47>5<5<3290;w)8n:418L26<@?h0(8757ea8m75=831b?o4?::k50?6=3f?36=44}c1a`?6=<3:1l50;9j21<722e>47>5;|`0f`<72=0;6=u+6`867>N082B=n6*:9;5gg>o5;3:17d=m:188m32=831d954?::a7g`=83>1<7>t$7c916=O?91C:o5+5884`f=n::0;66g05<@>:0D;l4$4;93ae>o1<3:17b;7:188yg5d93:187>50z&5e?343A=;7E8m;%7:>2bd3`886=44i2`94?=n>=0;66a:8;29?xd4k;0;694?:1y'2d<2;2B<<6F9b:&6=?1ck2c9?7>5;h1a>5<1<75`5983>>{e;j91<7:50;2x 3g==:1C;=5G6c9'1<<0lj1b>>4?::k0f?6=3`4H7`8 0?=?mi0e?=50;9j7g<722c=87>5;n7;>5<54;294~"1i3?87E9?;I4a?!3>2>nh7d<<:188m6d=831b:94?::m65}#>h0=j6F80:J5f>"213=oo6g=3;29?l2e2900c8650;9~f6e0290?6=4?{%4b>05<@>:0D;l4$4;93ae>o1<3:17b;7:188yg5d03:1?7>50z&5e?0a3A=;7E8m;%7:>2bd3`886=44i5`94?=h=10;66sm3b;94?5=83:p(;o56g9K35=O>k1/9448db9j66<722c?n7>5;n7;>5<53;294~"1i32>nh7d<<:188m1d=831d954?::a7fd=8391<7>t$7c92c=O?91C:o5+5884`f=n::0;66g;b;29?j3?2900qo=lc;297?6=8r.=m78i;I53?M0e3-?26:jl;h00>5<>{e;jn1<7=50;2x 3g=>o1C;=5G6c9'1<<0lj1b>>4?::k7f?6=3f?36=44}c1`a?6=;3:1>o3j3:17b;7:188yg5c83:1?7>50z&5e?0a3A=;7E8m;%7:>2bd3`886=44i5`94?=h=10;66sm3e394?5=83:p(;o56g9K35=O>k1/9448db9j66<722c?n7>5;n7;>5<7>53;294~"1i32>nh7d<<:188m1d=831d954?::a7a5=8391<7>t$7c92c=O?91C:o5+5884`f=n::0;66g;b;29?j3?2900qo=k4;297?6=8r.=m78i;I53?M0e3-?26:jl;h00>5<>{e;m?1<7=50;2x 3g=>o1C;=5G6c9'1<<0lj1b>>4?::k7f?6=3f?36=44}c1g2?6=;3:1>o3j3:17b;7:188yg5c03:187>50z&5e?343A=;7E8m;%7:>2bd3`886=44i2`94?=n>=0;66a:8;29?xd4l00;694?:1y'2d<2;2B<<6F9b:&6=?1ck2c9?7>5;h1a>5<1<75`5983>>{e;mk1<7:50;2x 3g==:1C;=5G6c9'1<<0lj1b>>4?::k0f?6=3`4H7`8 0?=?mi0e?=50;9j7g<722c=87>5;n7;>5<54;294~"1i3?87E9?;I4a?!3>2>nh7d<<:188m6d=831b:94?::m65}#>h0>?6F80:J5f>"213=oo6g=3;29?l5e2900e;:50;9l1=<722wi?ik50;694?6|,?k19>5G719K2g=#=00>o4j3:17d8;:188k0>=831vn>ji:187>5<7s-5<>i203:17pl1<729q/:l4:3:J44>N1j2.>579kc:k17?6=3`9i6=44i7694?=h=10;66sm3d094?2=83:p(;o5529K35=O>k1/9448db9j66<722c8n7>5;h47>5<5<3290;w)8n:418L26<@?h0(8757ea8m75=831b?o4?::k50?6=3f?36=44}c1f0?6=<3:1l50;9j21<722e>47>5;|`0a0<72=0;6=u+6`867>N082B=n6*:9;5gg>o5;3:17d=m:188m32=831d954?::a7`0=83>1<7>t$7c916=O?91C:o5+5884`f=n::0;66g05<@>:0D;l4$4;93ae>o1<3:17b;7:188yg5b03:1?7>50z&5e?0a3A=;7E8m;%7:>2bd3`886=44i5`94?=h=10;66sm3d;94?2=83:p(;o5529K35=O>k1/9448db9j66<722c8n7>5;h47>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj:oi6=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj:oo6=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj:om6=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj:l:6=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj:l86=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj:l>6=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj:l<6=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj:l26=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj:li6=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj:lo6=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj:lm6=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj=::6=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj=:86=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj=:>6=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9754:k2b?6=3`926=44o7094?=zj=:<6=4<:183!0f2:n0D:>4H7`8 1?=<2c:j7>5;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm41;94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl;0`83>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo:?b;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn9>l:187>5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi8=j50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th?5}#>h08j6F80:J5f>"31380e5;n41>5<;j7>54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj=;;6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e<8;1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd39;0;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg26;3:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f173290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a043=83>1<7>t$7c97c=O?91C:o5+4881?l7a2900e??50;9j7<<722e=>7>5;|`753<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c623?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm40;94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl;1`83>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo:>b;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn9?l:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi85}#>h08j6F80:J5f>"313>0e5;n41>5<:j7>54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj=8;6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e<;;1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd3:;0;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg25;3:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f143290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a073=83>1<7>t$7c97c=O?91C:o5+4881?l7a2900e??50;9j7<<722e=>7>5;|`763<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c613?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm43;94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl;2`83>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo:=b;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn95<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi8?j50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th?>h4?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<9j7>54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj=9;6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e<:;1<7:50;2x 3g=;o1C;=5G6c9'0<<33`;m6=44i3394?=n;00;66a92;29?xd3;;0;694?:1y'2d<4n2B<<6F9b:&7=?2>o413:17b8=:188yg24;3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f153290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a063=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`773<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c603?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm42;94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl;3`83>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo:26?5f1g83>>o593:17d=6:188k34=831vn9=l:187>5<7s-h4H628L3d<,=31>6g>f;29?l462900e>750;9l27<722wi8>j50;694?6|,?k1?k5G719K2g=#<0097d?i:188m77=831b?44?::m56?6=3th??h4?:583>5}#>h08j6F80:J5f>"31380e5;n41>5<8j7>54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj=>;6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e<=;1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd3<;0;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg23;3:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f123290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a013=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`703<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c673?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm45;94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl;4`83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo:;b;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn9:l:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi89j50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th?8h4?:583>5}#>h08j6F80:J5f>"313>0e5;n41>5<?j7>54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj=?;6=4;:183!0f2:l0D:>4H7`8 1?=:2c:j7>5;h02>5<>{e<<;1<7:50;2x 3g=;o1C;=5G6c9'0<<53`;m6=44i3394?=n;00;66a92;29?xd3=;0;694?:1y'2d<4n2B<<6F9b:&7=?4>o413:17b8=:188yg22;3:187>50z&5e?5a3A=;7E8m;%6:>7=n9o0;66g=1;29?l5>2900c;<50;9~f133290?6=4?{%4b>6`<@>:0D;l4$5;96>o6n3:17d<>:188m6?=831d:?4?::a003=83>1<7>t$7c97c=O?91C:o5+4881?l7a2900e??50;9j7<<722e=>7>5;|`713<72=0;6=u+6`80b>N082B=n6*;9;08m4`=831b><4?::k0=?6=3f<96=44}c663?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9752:k2b?6=3`8:6=44i2;94?=h>;0;66sm44;94?2=83:p(;o53g9K35=O>k1/844=;h3e>5<>i1:3:17pl;5`83>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo::b;290?6=8r.=m7=i;I53?M0e3->26?5f1g83>>o593:17d=6:188k34=831vn9;l:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi88j50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th?9h4?:583>5}#>h08j6F80:J5f>"313>0e5;n41>5<>j7>54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj=<;6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e;0;694?:1y'2d<4n2B<<6F9b:&7=?2>o413:17b8=:188yg21;3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f103290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a033=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`723<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c653?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm47;94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl;6`83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo:9b;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn98l:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi8;j50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th?:h4?:583>5}#>h08j6F80:J5f>"313>0e5;n41>5<=j7>54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj==;6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e<>;1<7:50;2x 3g=;o1C;=5G6c9'0<<33`;m6=44i3394?=n;00;66a92;29?xd3?;0;694?:1y'2d<4n2B<<6F9b:&7=?2>o413:17b8=:188yg20;3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f113290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a023=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`733<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c643?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm46;94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl;7`83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo:8b;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn99l:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi8:j50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th?;h4?:583>5}#>h08j6F80:J5f>"313>0e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj=2;6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e<1;1<7:50;2x 3g=;o1C;=5G6c9'0<<33`;m6=44i3394?=n;00;66a92;29?xd30;0;694?:1y'2d<4n2B<<6F9b:&7=?2>o413:17b8=:188yg2?;3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f1>3290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a0=3=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`7<3<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c6;3?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm49;94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl;8`83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo:7b;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn96l:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi85j50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th?4h4?:583>5}#>h08j6F80:J5f>"313>0e5;n41>5<3j7>54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj=3;6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e<0;1<7:50;2x 3g=;o1C;=5G6c9'0<<33`;m6=44i3394?=n;00;66a92;29?xd31;0;694?:1y'2d<4n2B<<6F9b:&7=?2>o413:17b8=:188yg2>;3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f1?3290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a0<3=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`7=3<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c6:3?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm48;94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl;9`83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo:6b;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn97l:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi84j50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th?5h4?:583>5}#>h08j6F80:J5f>"313>0e5;n41>5<2j7>54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj=k;6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e>o413:17b8=:188yg2f;3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f1g3290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a0d3=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`7e3<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c6b3?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm4`;94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl;a`83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo:nb;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn9ol:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi8lj50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th?mh4?:583>5}#>h08j6F80:J5f>"313>0e5;n41>5<jj7>54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj=h;6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e>o413:17b8=:188yg2e;3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f1d3290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a0g3=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`7f3<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c6a3?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm4c;94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl;b`83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo:mb;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn9ll:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi8oj50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th?nh4?:583>5}#>h08j6F80:J5f>"313>0e5;n41>5<ij7>54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj=i;6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e>o413:17b8=:188yg2d;3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f1e3290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a0f3=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`7g3<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c6`3?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm4b;94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl;c`83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo:lb;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn9ml:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi8nj50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th?oh4?:583>5}#>h08j6F80:J5f>"313>0e5;n41>5<hj7>54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj=n;6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e>o413:17b8=:188yg2c;3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f1b3290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a0a3=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`7`3<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c6g3?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm4e;94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl;d`83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo:kb;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn9jl:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi8ij50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th?hh4?:583>5}#>h08j6F80:J5f>"313>0e5;n41>5<oj7>54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj=o;6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e>o413:17b8=:188yg2b;3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f1c3290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a0`3=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`7a3<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c6f3?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm4d;94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl;e`83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo:jb;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn9kl:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi8hj50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th?ih4?:583>5}#>h08j6F80:J5f>"313>0e5;n41>5<nj7>54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj=l;6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e>o413:17b8=:188yg2a;3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f1`3290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a0c3=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`7b3<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c6e3?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm4g;94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl;f`83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo:ib;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn9hl:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi8kj50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th?jh4?:583>5}#>h08j6F80:J5f>"313>0e5;n41>5<mj7>54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj<:;6=4;:183!0f2:l0D:>4H7`8 1?=<2c:j7>5;h02>5<>{e=9;1<7:50;2x 3g=;o1C;=5G6c9'0<<33`;m6=44i3394?=n;00;66a92;29?xd28;0;694?:1y'2d<4n2B<<6F9b:&7=?2>o413:17b8=:188yg37;3:187>50z&5e?5a3A=;7E8m;%6:>1=n9o0;66g=1;29?l5>2900c;<50;9~f063290?6=4?{%4b>6`<@>:0D;l4$5;90>o6n3:17d<>:188m6?=831d:?4?::a153=83>1<7>t$7c97c=O?91C:o5+4887?l7a2900e??50;9j7<<722e=>7>5;|`643<72=0;6=u+6`80b>N082B=n6*;9;68m4`=831b><4?::k0=?6=3f<96=44}c733?6=<3:15;h1:>5<5<3290;w)8n:2d8L26<@?h0(9754:k2b?6=3`8:6=44i2;94?=h>;0;66sm51;94?2=83:p(;o53g9K35=O>k1/844;;h3e>5<>i1:3:17pl:0`83>1<729q/:l4N1j2.?57:4i0d94?=n:80;66g<9;29?j052900qo;?b;290?6=8r.=m7=i;I53?M0e3->2695f1g83>>o593:17d=6:188k34=831vn8>l:187>5<7s-h4H628L3d<,=3186g>f;29?l462900e>750;9l27<722wi9=j50;694?6|,?k1?k5G719K2g=#<00?7d?i:188m77=831b?44?::m56?6=3th>5}#>h08j6F80:J5f>"313>0e5;n41>5<54;294~"1i39m7E9?;I4a?!2>2=1b=k4?::k15?6=3`926=44o7094?=zj<;;6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<;96=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<;?6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<;=6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<;36=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<;j6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<;h6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<;n6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<8;6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<896=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<8?6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<8=6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<836=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<8j6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<8h6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<8n6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<9;6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<996=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<9?6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<9=6=4<:183!0f2:n0D:>4H7`8 1?=:2c:j7>5;h1:>5<5<4290;w)8n:2f8L26<@?h0(9752:k2b?6=3`926=44o7094?=zj<936=4<:183!0f2?l0D:>4H7`8m75=831b8o4?::m6?44?:283>5}#>h0=j6F80:J5f>o5;3:17d:m:188k0>=831vn8=n:187>5<7s->o1<3:17b;7:188yg34j3:1?7>50z&5e?0a3A=;7E8m;h00>5<>{e=:i1<7:50;2x 3g==:1C;=5G6c9j66<722c8n7>5;h47>5<5<4290;w)8n:7d8L26<@?h0e?=50;9j0g<722e>47>5;|`67`<72=0;6=u+6`867>N082B=n6g=3;29?l5e2900e;:50;9l1=<722wi9>h50;194?6|,?k1:k5G719K2g=n::0;66g;b;29?j3?2900qo;;0;290?6=8r.=m7;<;I53?M0e3`886=44i2`94?=n>=0;66a:8;29?xd2<80;6>4?:1y'2d<1n2B<<6F9b:k17?6=3`>i6=44o4:94?=zj<>96=4;:183!0f2<90D:>4H7`8m75=831b?o4?::k50?6=3f?36=44}c777?6=;3:11<7>t$7c916=O?91C:o5f2283>>o4j3:17d8;:188k0>=831vn8:::180>5<7s->i203:17pl:4783>1<729q/:l4:3:J44>N1j2c9?7>5;h1a>5<1<75`5983>>{e===1<7=50;2x 3g=>o1C;=5G6c9j66<722c?n7>5;n7;>5<54;294~"1i3?87E9?;I4a?l442900e>l50;9j21<722e>47>5;|`60<<72:0;6=u+6`85b>N082B=n6g=3;29?l2e2900c8650;9~f02f290?6=4?{%4b>05<@>:0D;l4i3194?=n;k0;66g94;29?j3?2900qo;;b;297?6=8r.=m78i;I53?M0e3`886=44i5`94?=h=10;66sm55a94?2=83:p(;o5529K35=O>k1b>>4?::k0f?6=3`o6=4<:183!0f2?l0D:>4H7`8m75=831b8o4?::m68h4?:583>5}#>h0>?6F80:J5f>o5;3:17d=m:188m32=831d954?::a11`=8391<7>t$7c92c=O?91C:o5f2283>>o3j3:17b;7:188yg3283:187>50z&5e?343A=;7E8m;h00>5<>i203:17pl:5083>6<729q/:l49f:J44>N1j2c9?7>5;h6a>5<5<3290;w)8n:418L26<@?h0e?=50;9j7g<722c=87>5;n7;>5<?7>53;294~"1i35G719K2g=n::0;66g3`<@>:0D;l4i3194?=nk1b>>4?::k7f?6=3f?36=44}c76944?:283>5}#>h0=j6F80:J5f>o5;3:17d:m:188k0>=831vn8;n:187>5<7s->o1<3:17b;7:188yg32j3:1?7>50z&5e?0a3A=;7E8m;h00>5<>{e=5;h47>5<5<4290;w)8n:7d8L26<@?h0e?=50;9j0g<722e>47>5;|`61`<72=0;6=u+6`867>N082B=n6g=3;29?l5e2900e;:50;9l1=<722wi98h50;194?6|,?k1:k5G719K2g=n::0;66g;b;29?j3?2900qo;90;290?6=8r.=m7;<;I53?M0e3`886=44i2`94?=n>=0;66a:8;29?xd2>80;6>4?:1y'2d<1n2B<<6F9b:k17?6=3`>i6=44o4:94?=zj<<96=4;:183!0f2<90D:>4H7`8m75=831b?o4?::k50?6=3f?36=44}c757?6=;3:11<7>t$7c916=O?91C:o5f2283>>o4j3:17d8;:188k0>=831vn88::180>5<7s->i203:17pl:6783>1<729q/:l4:3:J44>N1j2c9?7>5;h1a>5<1<75`5983>>{e=?=1<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66sm57:94?5=83:p(;o53e9K35=O>k1/844=;h3e>5<>{e=?31<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66sm57c94?5=83:p(;o53e9K35=O>k1/844=;h3e>5<>{e=?h1<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66sm57a94?5=83:p(;o53e9K35=O>k1/844=;h3e>5<>{e=?n1<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66sm57g94?5=83:p(;o53e9K35=O>k1/844=;h3e>5<>{e=?l1<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66sm56294?5=83:p(;o53e9K35=O>k1/844=;h3e>5<>{e=>;1<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66sm56094?5=83:p(;o53e9K35=O>k1/844=;h3e>5<>{e=>91<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66sm56694?5=83:p(;o53e9K35=O>k1/844=;h3e>5<>{e=>?1<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66sm56494?5=83:p(;o53e9K35=O>k1/844=;h3e>5<>{e=>=1<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66sm56:94?5=83:p(;o53e9K35=O>k1/844=;h3e>5<>{e=>31<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66sm56c94?5=83:p(;o53e9K35=O>k1/844=;h3e>5<>{e=>h1<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66sm56a94?5=83:p(;o53e9K35=O>k1/844=;h3e>5<>{e=>n1<7=50;2x 3g=;m1C;=5G6c9'0<<53`;m6=44i2;94?=h>;0;66sm56g94?5=83:p(;o53e9K35=O>k1/844=;h3e>5<>{e=>l1<7=50;2x 3g=>o1C;=5G6c9j66<722c?n7>5;n7;>5<53;294~"1i35G719K2g=n::0;66g529086=4?{%4b>3`<@>:0D;l4i3194?=nk1b>>4?::k7f?6=3f?36=44}c7;1?6=<3:14;4?:283>5}#>h0=j6F80:J5f>o5;3:17d:m:188k0>=831vn868:187>5<7s->o1<3:17b;7:188yg3?03:1?7>50z&5e?0a3A=;7E8m;h00>5<>{e=131<7:50;2x 3g==:1C;=5G6c9j66<722c8n7>5;h47>5<5<4290;w)8n:7d8L26<@?h0e?=50;9j0g<722e>47>5;|`6N082B=n6g=3;29?l5e2900e;:50;9l1=<722wi95m50;194?6|,?k1:k5G719K2g=n::0;66g;b;29?j3?2900qo;7d;290?6=8r.=m7;<;I53?M0e3`886=44i2`94?=n>=0;66a:8;29?xd20l0;6>4?:1y'2d<1n2B<<6F9b:k17?6=3`>i6=44o4:94?=zj<2m6=4;:183!0f2<90D:>4H7`8m75=831b?o4?::k50?6=3f?36=44}c7:4?6=;3:11<7>t$7c916=O?91C:o5f2283>>o4j3:17d8;:188k0>=831vn87=:180>5<7s->i203:17pl:9283>1<729q/:l4:3:J44>N1j2c9?7>5;h1a>5<1<75`5983>>{e=0>1<7=50;2x 3g=>o1C;=5G6c9j66<722c?n7>5;n7;>5<54;294~"1i3?87E9?;I4a?l442900e>l50;9j21<722e>47>5;|`6=3<72:0;6=u+6`85b>N082B=n6g=3;29?l2e2900c8650;9~f0?0290?6=4?{%4b>05<@>:0D;l4i3194?=n;k0;66g94;29?j3?2900qo;68;297?6=8r.=m78i;I53?M0e3`886=44i5`94?=h=10;66sm58;94?2=83:p(;o5529K35=O>k1b>>4?::k0f?6=3`4H7`8m75=831b8o4?::m65o4?:583>5}#>h0>?6F80:J5f>o5;3:17d=m:188m32=831d954?::a1t$7c92c=O?91C:o5f2283>>o3j3:17b;7:188yg3>l3:187>50z&5e?343A=;7E8m;h00>5<>i203:17pl:9d83>6<729q/:l4N1j2.?57<4i0d94?=n;00;66a92;29?xd21o0;6>4?:1y'2d<4l2B<<6F9b:&7=?4>i1:3:17pl:a183>6<729q/:l4N1j2.?57<4i0d94?=n;00;66a92;29?xd2i80;6>4?:1y'2d<4l2B<<6F9b:&7=?4>i1:3:17pl:a383>6<729q/:l4N1j2.?57<4i0d94?=n;00;66a92;29?xd2i:0;6>4?:1y'2d<4l2B<<6F9b:&7=?4>i1:3:17pl:a583>6<729q/:l4N1j2.?57<4i0d94?=n;00;66a92;29?xd2i<0;6>4?:1y'2d<4l2B<<6F9b:&7=?4>i1:3:17pl:a783>6<729q/:l4N1j2.?57<4i0d94?=n;00;66a92;29?xd2i>0;6>4?:1y'2d<4l2B<<6F9b:&7=?4>i1:3:17pl:a983>6<729q/:l4N1j2.?57<4i0d94?=n;00;66a92;29?xd2i00;6>4?:1y'2d<4l2B<<6F9b:&7=?4>i1:3:17pl:a`83>6<729q/:l4N1j2.?57<4i0d94?=n;00;66a92;29?xd2ik0;6>4?:1y'2d<4l2B<<6F9b:&7=?4>i1:3:17pl:ab83>6<729q/:l4N1j2.?57<4i0d94?=n;00;66a92;29?xd2im0;6>4?:1y'2d<4l2B<<6F9b:&7=?4>i1:3:17pl:ad83>6<729q/:l4N1j2.?57<4i0d94?=n;00;66a92;29?xd2io0;694?:1y'2d<292B<<6F9b:&7=?733`>86=44i5694?=n<<0;66a:8;29?xd2j90;6>4?:1y'2d<282B<<6F9b:&7=?773`>86=44i5694?=h=10;66sm5c394?5=83:p(;o5519K35=O>k1/844>0:k77?6=3`>?6=44o4:94?=zj4H7`8 1?=991b8>4?::k70?6=3f?36=44}c7a7?6=;3:1n94?:283>5}#>h0><6F80:J5f>"313;;7d:<:188m12=831d954?::a1g3=8391<7>t$7c915=O?91C:o5+48824>o3;3:17d:;:188k0>=831vn8l9:180>5<7s-4H628L3d<,=31==5f4283>>o3<3:17b;7:188yg3e?3:1?7>50z&5e?373A=;7E8m;%6:>46>i203:17pl:b983>6<729q/:l4:0:J44>N1j2.?57??;h60>5<1<75`5983>>{e=k31<7=50;2x 3g==91C;=5G6c9'0<<682c??7>5;h67>5<5<4290;w)8n:428L26<@?h0(975119j06<722c?87>5;n7;>5<53;294~"1i3?;7E9?;I4a?!2>28:0e9=50;9j01<722e>47>5;|`6ff<72:0;6=u+6`864>N082B=n6*;9;33?l242900e9:50;9l1=<722wi9oj50;194?6|,?k19=5G719K2g=#<00:<6g;3;29?l232900c8650;9~f0db29086=4?{%4b>06<@>:0D;l4$5;955=n<:0;66g;4;29?j3?2900qo;mf;297?6=8r.=m7;?;I53?M0e3->26<>4i5194?=n<=0;66a:8;29?xd2k90;6>4?:1y'2d<282B<<6F9b:&7=?773`>86=44i5694?=h=10;66sm5b394?5=83:p(;o5519K35=O>k1/844>0:k77?6=3`>?6=44o4:94?=zj4H7`8 1?=991b8>4?::k70?6=3f?36=44}c7`7?6=;3:1o94?:283>5}#>h0><6F80:J5f>"313;;7d:<:188m12=831d954?::a1f3=8391<7>t$7c915=O?91C:o5+48824>o3;3:17d:;:188k0>=831vn8m9:180>5<7s-4H628L3d<,=31==5f4283>>o3<3:17b;7:188yg3d?3:1?7>50z&5e?373A=;7E8m;%6:>46>i203:17pl:c983>6<729q/:l4:0:J44>N1j2.?57??;h60>5<1<75`5983>>{e=j31<7=50;2x 3g==91C;=5G6c9'0<<682c??7>5;h67>5<5<4290;w)8n:428L26<@?h0(975119j06<722c?87>5;n7;>5<53;294~"1i3?;7E9?;I4a?!2>28:0e9=50;9j01<722e>47>5;|`6gf<72:0;6=u+6`864>N082B=n6*;9;33?l242900e9:50;9l1=<722wi9nj50;194?6|,?k19=5G719K2g=#<00:<6g;3;29?l232900c8650;9~f0eb29086=4?{%4b>06<@>:0D;l4$5;955=n<:0;66g;4;29?j3?2900qo;lf;297?6=8r.=m7;?;I53?M0e3->26<>4i5194?=n<=0;66a:8;29?xd2l90;6>4?:1y'2d<282B<<6F9b:&7=?773`>86=44i5694?=h=10;66sm5e394?5=83:p(;o5519K35=O>k1/844>0:k77?6=3`>?6=44o4:94?=zj4H7`8 1?=991b8>4?::k70?6=3f?36=44}c7g7?6=;3:1h94?:283>5}#>h0><6F80:J5f>"313;;7d:<:188m12=831d954?::a1a3=83=1<7>t$7c917=O?91C:o5+4880a>o3;3:17d:;:188m13=831b8;4?::k73?6=3`>36=44o4:94?=zj4H7`8 1?=;l1b8>4?::k70?6=3`>>6=44i5494?=n<>0;66g;8;29?j3?2900qo;k7;293?6=8r.=m7;=;I53?M0e3->26>k4i5194?=n<=0;66g;5;29?l212900e9950;9j0=<722e>47>5;|`6`=<72>0;6=u+6`866>N082B=n6*;9;1f?l242900e9:50;9j00<722c?:7>5;h64>5<>{e=m31<7950;2x 3g==;1C;=5G6c9'0<<4m2c??7>5;h67>5<>o3?3:17d:7:188k0>=831vn8jn:184>5<7s->o3<3:17d:::188m10=831b8:4?::k75;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(975219j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(9753b9j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(975c:k77?6=3`>?6=44i5794?=h=10;66sm5dg94?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5dd94?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5g294?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5g394?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5g094?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5g194?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5g694?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5g794?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5g494?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5g594?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5g:94?2=83:p(;o5509K35=O>k1/844=0:k77?6=3`>?6=44i5794?=h=10;66sm5g;94?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5gc94?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5g`94?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5ga94?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5gf94?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5gg94?2=83:p(;o5509K35=O>k1/844?6=44i5794?=h=10;66sm5gd94?2=83:p(;o5509K35=O>k1/844l;h60>5<1<75f4483>>i203:17pl90183>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90083>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90383>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90283>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90583>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90483>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90783>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90683>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90983>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90883>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90`83>1<729q/:l4:1:J44>N1j2.?575<1<75f4483>>i203:17pl90c83>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90b83>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90e83>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90d83>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl90g83>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl91183>1<729q/:l4:1:J44>N1j2.?57=n;h60>5<1<75f4483>>i203:17pl91083>1<729q/:l4:1:J44>N1j2.?57m4i5194?=n<=0;66g;5;29?j3?2900qo8>2;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8>3;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8>4;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8>5;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8>6;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8>7;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8>8;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8>9;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8>a;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8>b;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8>c;290?6=8r.=m7;>;I53?M0e3->26?>4i5194?=n<=0;66g;5;29?j3?2900qo8>d;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8>e;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8>f;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8=0;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8=1;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8=2;290?6=8r.=m7;>;I53?M0e3->26>o4i5194?=n<=0;66g;5;29?j3?2900qo8=3;290?6=8r.=m7;>;I53?M0e3->26n5f4283>>o3<3:17d:::188k0>=831vn;<;:187>5<7s->o3<3:17d:::188k0>=831vn;<::187>5<7s->o3<3:17d:::188k0>=831vn;<9:187>5<7s->o3<3:17d:::188k0>=831vn;<8:187>5<7s->o3<3:17d:::188k0>=831vn;<7:187>5<7s->o3<3:17d:::188k0>=831vn;<6:187>5<7s->o3<3:17d:::188k0>=831vn;5<7s->o3<3:17d:::188k0>=831vn;5<7s->o3<3:17d:::188k0>=831vn;5<7s->o3<3:17d:::188k0>=831vn;5<7s->o3<3:17d:::188k0>=831vn;5<7s-=5f4283>>o3<3:17d:::188k0>=831vn;5<7s->o3<3:17d:::188k0>=831vn;=?:187>5<7s->o3<3:17d:::188k0>=831vn;=>:187>5<7s->o3<3:17d:::188k0>=831vn;==:187>5<7s->o3<3:17d:::188k0>=831vn;=<:187>5<7s->o3<3:17d:::188k0>=831vn;=;:187>5<7s->o3<3:17d:::188k0>=831vn;=::187>5<7s-850;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:>950;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:>650;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:>750;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:>o50;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:>l50;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:>m50;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:>j50;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:>k50;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:>h50;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:9>50;694?6|,?k19<5G719K2g=#<009<6g;3;29?l232900e9;50;9l1=<722wi:9?50;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:9<50;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:9=50;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:9:50;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:9;50;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:9850;694?6|,?k19<5G719K2g=#<008m6g;3;29?l232900e9;50;9l1=<722wi:9950;694?6|,?k19<5G719K2g=#<00h7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3138;7d:<:188m12=831b884?::m64?:583>5}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"3139j7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313i0e9=50;9j01<722c?97>5;n7;>5<m7>54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<n7>54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<o7>54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<h7>54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<i7>54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<j7>54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<7>54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>2;:0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>2:k0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>2j1b8>4?::k70?6=3`>>6=44o4:94?=zj?4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?=;6=4;:183!0f2<;0D:>4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?=:6=4;:183!0f2<;0D:>4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?=96=4;:183!0f2<;0D:>4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?=86=4;:183!0f2<;0D:>4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?=?6=4;:183!0f2<;0D:>4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?=>6=4;:183!0f2<;0D:>4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?==6=4;:183!0f2<;0D:>4H7`8 1?=:91b8>4?::k70?6=3`>>6=44o4:94?=zj?=<6=4;:183!0f2<;0D:>4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?=36=4;:183!0f2<;0D:>4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?=26=4;:183!0f2<;0D:>4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?=j6=4;:183!0f2<;0D:>4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?=i6=4;:183!0f2<;0D:>4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?=h6=4;:183!0f2<;0D:>4H7`8 1?=;h1b8>4?::k70?6=3`>>6=44o4:94?=zj?=o6=4<:183!0f2<:0D:>4H7`8 1?=9m1b8>4?::k70?6=3f?36=44}c44a?6=;3:15;n7;>5<53;294~"1i3?;7E9?;I4a?!2>2m1b8>4?::k70?6=3f?36=44}c4;4?6=;3:15;n7;>5<53;294~"1i3?;7E9?;I4a?!2>2m1b8>4?::k70?6=3f?36=44}c4;6?6=;3:15;n7;>5<53;294~"1i3?;7E9?;I4a?!2>2m1b8>4?::k70?6=3f?36=44}c4;0?6=;3:15;n7;>5<53;294~"1i3?;7E9?;I4a?!2>2m1b8>4?::k70?6=3f?36=44}c4;2?6=;3:15;n7;>5<53;294~"1i3?;7E9?;I4a?!2>2m1b8>4?::k70?6=3f?36=44}c4;5;n7;>5<53;294~"1i3?;7E9?;I4a?!2>2m1b8>4?::k70?6=3f?36=44}c4;e?6=;3:15;n7;>5<53;294~"1i3?;7E9?;I4a?!2>2m1b8>4?::k70?6=3f?36=44}c4;g?6=;3:15;n7;>5<53;294~"1i3?;7E9?;I4a?!2>2m1b8>4?::k70?6=3f?36=44}c4;a?6=;3:15;n7;>5<53;294~"1i3?;7E9?;I4a?!2>28:0e9=50;9j01<722e>47>5;|`5=5<72:0;6=u+6`864>N082B=n6*;9;30?!072>30e9=50;9j01<722e>47>5;|`5=4<72:0;6=u+6`864>N082B=n6*;9;f8 36=?01b8>4?::k70?6=3f?36=44}c4:6?6=<3:15}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m64?:583>5}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0>=6F80:J5f>"313;:7d:<:188m12=831b884?::m65}#>h0><6F80:J5f>"313;>7d:<:188m12=831d954?::a2dd=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2de=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2db=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2dc=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2d`=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2g6=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2g7=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2g4=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2g5=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2g2=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2g3=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2g0=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2g1=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2g>=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2g?=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2gg=83>1<7>t$7c914=O?91C:o5+48825>o3;3:17d:;:188m13=831d954?::a2gd=8391<7>t$7c915=O?91C:o5+48821>o3;3:17d:;:188k0>=831vn;ll:187>5<7s->o3<3:17d:::188k0>=831vn;lk:187>5<7s->o3<3:17d:::188k0>=831vn;lj:187>5<7s->o3<3:17d:::188k0>=831vn;li:187>5<7s->o3<3:17d:::188k0>=831vn;m?:187>5<7s->o3<3:17d:::188k0>=831vn;m>:187>5<7s->o3<3:17d:::188k0>=831vn;m=:187>5<7s->o3<3:17d:::188k0>=831vn;m<:187>5<7s->o3<3:17d:::188k0>=831vn;m;:187>5<7s->o3<3:17d:::188k0>=831vn;m::187>5<7s->o3<3:17d:::188k0>=831vn;m9:187>5<7s->o3<3:17d:::188k0>=831vn;m8:187>5<7s->o3<3:17d:::188k0>=831vn;m7:187>5<7s->o3<3:17d:::188k0>=831vn;m6:187>5<7s->o3<3:17d:::188k0>=831vn;mn:187>5<7s->o3<3:17d:::188k0>=831vn;mm:187>5<7s->o3<3:17d:::188k0>=831vn;ml:180>5<7s-4H628L3d<,=31=85f4283>>o3<3:17b;7:188yg0dl3:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0dm3:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0dn3:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0c83:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0c93:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0c:3:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0c;3:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0c<3:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0c=3:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0c>3:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0c?3:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0c03:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0c13:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0ci3:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0cj3:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0ck3:187>50z&5e?363A=;7E8m;%6:>47>o3=3:17b;7:188yg0cl3:1?7>50z&5e?373A=;7E8m;%6:>43>i203:17pl9dd83>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9dg83>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9e183>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9e083>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9e383>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9e283>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9e583>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9e483>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9e783>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9e683>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9e983>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9e883>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9e`83>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9ec83>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9eb83>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9ee83>1<729q/:l4:1:J44>N1j2.?57?>;h60>5<1<75f4483>>i203:17pl9ed83>6<729q/:l4:0:J44>N1j2.?57?:;h60>5<1<75`5983>>{e>ll1<7:50;2x 3g==81C;=5G6c9'0<<692c??7>5;h67>5<>{e>o:1<7:50;2x 3g==81C;=5G6c9'0<<692c??7>5;h67>5<>{e>o;1<7:50;2x 3g==81C;=5G6c9'0<<692c??7>5;h67>5<>{e>o81<7:50;2x 3g==81C;=5G6c9'0<<692c??7>5;h67>5<>{e>o91<7:50;2x 3g==81C;=5G6c9'0<<692c??7>5;h67>5<>{e>o>1<7:50;2x 3g==81C;=5G6c9'0<<692c??7>5;h67>5<>{e>o?1<7:50;2x 3g==81C;=5G6c9'0<<692c??7>5;h67>5<>{e>o<1<7:50;2x 3g==81C;=5G6c9'0<<692c??7>5;h67>5<>{e>o=1<7:50;2x 3g==81C;=5G6c9'0<<692c??7>5;h67>5<>{e>o21<7=50;2x 3g==91C;=5G6c9'0<<6=2c??7>5;h67>5<5<3290;w)8n:438L26<@?h0(975109j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(975109j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(975109j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(975109j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(975109j06<722c?87>5;h66>5<5<3290;w)8n:438L26<@?h0(975109j06<722c?87>5;h66>5<5<4290;w)8n:428L26<@?h0(975149j06<722c?87>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>28;0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>28;0e9=50;9j01<722c?97>5;n7;>5<7>54;294~"1i3?:7E9?;I4a?!2>28;0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>28;0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>28;0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>28;0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>28;0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>28;0e9=50;9j01<722c?97>5;n7;>5<54;294~"1i3?:7E9?;I4a?!2>28;0e9=50;9j01<722c?97>5;n7;>5<53;294~"1i3?;7E9?;I4a?!2>28?0e9=50;9j01<722e>47>5;|`44d<72=0;6=u+6`865>N082B=n6*;9;32?l242900e9:50;9j00<722e>47>5;|`44g<72=0;6=u+6`865>N082B=n6*;9;32?l242900e9:50;9j00<722e>47>5;|`44f<72=0;6=u+6`865>N082B=n6*;9;32?l242900e9:50;9j00<722e>47>5;|`44a<72=0;6=u+6`865>N082B=n6*;9;32?l242900e9:50;9j00<722e>47>5;|`44`<72=0;6=u+6`865>N082B=n6*;9;32?l242900e9:50;9j00<722e>47>5;|`44c<72=0;6=u+6`865>N082B=n6*;9;32?l242900e9:50;9j00<722e>47>5;|`455<72:0;6=u+6`864>N082B=n6*;9;36?l242900e9:50;9l1=<722wi;07<@>:0D;l4$5;954=n<:0;66g;4;29?l222900c8650;9~f27d290?6=4?{%4b>07<@>:0D;l4$5;954=n<:0;66g;4;29?l222900c8650;9~f27c290?6=4?{%4b>07<@>:0D;l4$5;954=n<:0;66g;4;29?l222900c8650;9~f27b290?6=4?{%4b>07<@>:0D;l4$5;954=n<:0;66g;4;29?l222900c8650;9~f27a290?6=4?{%4b>07<@>:0D;l4$5;954=n<:0;66g;4;29?l222900c8650;9~f247290?6=4?{%4b>07<@>:0D;l4$5;954=n<:0;66g;4;29?l222900c8650;9~f24629086=4?{%4b>06<@>:0D;l4$5;950=n<:0;66g;4;29?j3?2900qo9=2;290?6=8r.=m7;>;I53?M0e3->26;I53?M0e3->26;I53?M0e3->26;I53?M0e3->26;I53?M0e3->26;I53?M0e3->26;I53?M0e3->26;I53?M0e3->26;I53?M0e3->2626<;4i5194?=n<=0;66a:8;29?xd0:j0;694?:1y'2d<292B<<6F9b:&7=?763`>86=44i5694?=n<<0;66a:8;29?xd0:m0;694?:1y'2d<292B<<6F9b:&7=?763`>86=44i5694?=n<<0;66a:8;29?xd0:l0;694?:1y'2d<292B<<6F9b:&7=?763`>86=44i5694?=n<<0;66a:8;29?xd0:o0;694?:1y'2d<292B<<6F9b:&7=?763`>86=44i5694?=n<<0;66a:8;29?xd0;90;694?:1y'2d<292B<<6F9b:&7=?763`>86=44i5694?=n<<0;66a:8;29?xd0;80;694?:1y'2d<292B<<6F9b:&7=?763`>86=44i5694?=n<<0;66a:8;29?xd0;;0;6>4?:1y'2d<282B<<6F9b:&7=?723`>86=44i5694?=h=10;66sm72194?2=83:p(;o5509K35=O>k1/844>1:k77?6=3`>?6=44i5794?=h=10;66sm72694?2=83:p(;o5509K35=O>k1/844>1:k77?6=3`>?6=44i5794?=h=10;66sm72794?2=83:p(;o5509K35=O>k1/844>1:k77?6=3`>?6=44i5794?=h=10;66sm72494?2=83:p(;o5509K35=O>k1/844>1:k77?6=3`>?6=44i5794?=h=10;66sm72594?2=83:p(;o5509K35=O>k1/844>1:k77?6=3`>?6=44i5794?=h=10;66sm72:94?2=83:p(;o5509K35=O>k1/844>1:k77?6=3`>?6=44i5794?=h=10;66sm72;94?2=83:p(;o5509K35=O>k1/844>1:k77?6=3`>?6=44i5794?=h=10;66sm72c94?2=83:p(;o5509K35=O>k1/844>1:k77?6=3`>?6=44i5794?=h=10;66sm72`94?2=83:p(;o5509K35=O>k1/844>1:k77?6=3`>?6=44i5794?=h=10;66sm72a94?5=83:p(;o5519K35=O>k1/844>0:k77?6=3`>?6=44o4:94?=zj>9o6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>9n6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>9m6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>;6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>:6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>96=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>86=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>?6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>>6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>=6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>><6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>36=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>26=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>j6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>i6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>h6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>o6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>n6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>>m6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?;6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?:6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?96=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?86=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>??6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?>6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?=6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?<6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?36=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?26=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?j6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?i6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?h6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?o6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?n6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj>?m6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj><;6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj><:6=4;:183!0f2<;0D:>4H7`8 1?=9?1b8>4?::k70?6=3`>>6=44o4:94?=zj><96=4=:183!0f2=l0D:>4H7`8 1?=i2c??7>5;n7;>5<52;294~"1i3>m7E9?;I4a?!2>2h1b8>4?::m65}#>h0?j6F80:J5f>"313k0e9=50;9l1=<722wi;;;50;094?6|,?k18k5G719K2g=#<00j7d:<:188k0>=831vn:89:181>5<7s->{e??=1<7<50;2x 3g=47>5;|`42=<72;0;6=u+6`87e>N082B=n6g;2;29?j3?2900qo999;296?6=8r.=m7:n;I53?M0e3`>96=44o4:94?=zj>4H7`8m14=831d954?::a33d=8381<7>t$7c90d=O?91C:o5f4383>>i203:17pl86b83>7<729q/:l4;a:J44>N1j2c?>7>5;n7;>5<52;294~"1i3>j7E9?;I4a?l252900c8650;9~f20b29096=4?{%4b>1g<@>:0D;l4i5094?=h=10;66sm77d94?4=83:p(;o54`9K35=O>k1b8?4?::m65}#>h0?m6F80:J5f>o3:3:17b;7:188yg1093:1>7>50z&5e?2f3A=;7E8m;h61>5<5<5290;w)8n:5c8L26<@?h0e9<50;9l1=<722wi;:=50;094?6|,?k18l5G719K2g=n<;0;66a:8;29?xd0?=0;6?4?:1y'2d<3i2B<<6F9b:k76?6=3f?36=44}c541?6=:3:1=831vn:99:181>5<7s->{e?>=1<7<50;2x 3g=47>5;|`43=<72;0;6=u+6`87e>N082B=n6g;2;29?j3?2900qo989;296?6=8r.=m7:n;I53?M0e3`>96=44o4:94?=zj>=j6=4=:183!0f2=k0D:>4H7`8m14=831d954?::a32d=8381<7>t$7c90d=O?91C:o5f4383>>i203:17pl87b83>7<729q/:l4;a:J44>N1j2c?>7>5;n7;>5<52;294~"1i3>j7E9?;I4a?l252900c8650;9~f21b29096=4?{%4b>1g<@>:0D;l4i5094?=h=10;66sm76d94?4=83:p(;o54`9K35=O>k1b8?4?::m65}#>h0?m6F80:J5f>o3:3:17b;7:188yg1?93:1>7>50z&5e?2f3A=;7E8m;h61>5<5<5290;w)8n:5c8L26<@?h0e9<50;9l1=<722wi;5=50;094?6|,?k18l5G719K2g=n<;0;66a:8;29?xd00=0;6?4?:1y'2d<3i2B<<6F9b:k76?6=3f?36=44}c5;1?6=:3:1=831vn:69:181>5<7s->{e?1=1<7<50;2x 3g=47>5;|`4<=<72;0;6=u+6`87e>N082B=n6g;2;29?j3?2900qo979;296?6=8r.=m7:n;I53?M0e3`>96=44o4:94?=zj>2j6=4=:183!0f2=k0D:>4H7`8m14=831d954?::a3=d=8381<7>t$7c90d=O?91C:o5f4383>>i203:17pl88b83>7<729q/:l4;a:J44>N1j2c?>7>5;n7;>5<52;294~"1i3>j7E9?;I4a?l252900c8650;9~f2>b29096=4?{%4b>1g<@>:0D;l4i5094?=h=10;66sm79d94?7=83:p(;o56b9K35=O>k1d9o4?::a3<6=83k1<7>t$7c92==O?91C:o5U1d82c2900e??50;9l27<722e=?7>5;h3`>5<#=o0:n6`:e;28?l7f290/9k4>b:l6a?7<3`;26=4+5g82f>h2m3807d?7:18'1c<6j2d>i7=4;h34>5<#=o0:n6`:e;68?xd0180;6l4?:1y'2d<102B<<6F9b:X2a?7|n3w/844<;h07>5<>i1:3:17b8<:188m4e=83.>j7?m;o7f>5=j7?m;o7f>1=7>54;294~"1i39m7E9?;I4a?!2>2;1b=k4?::k15?6=3`926=44o7094?=zj>386=4n:183!0f2?20D:>4H7`8^4c=9rl1q):6:29j61<722c857>5;h02>5<>o6k3:1(8h51c9m1`<732c:m7>5$4d95g=i=l0:76g>9;29 0`=9k1e9h4=;:k2o6?3:1(8h51c9m1`<332wi;4:50;c94?6|,?k1:55G719K2g=]9l0:wk4r$5;97>o5<3:17d=6:188m77=831d:?4?::m57?6=3`;h6=4+5g82f>h2m3:07d?n:18'1c<6j2d>i7?4;h3:>5<#=o0:n6`:e;08?l7?290/9k4>b:l6a?5<3`;<6=4+5g82f>h2m3>07pl89483>1<729q/:l4N1j2.?57<4i0d94?=n:80;66g<9;29?j052900qo966;29e?6=8r.=m787;I53?M0e3S;n61<75f3883>>o593:17b8=:188k35=831b=n4?:%7e>4d!3a28h0b8k51:9j5<<72-?m6=n910;6);i:0`8j0c=;21b=:4?:%7e>4d52:1b>94?::k0=?6=3`8:6=44o7094?=h>:0;66g>c;29 0`=9k1e9h4?;:k2e?6=,o613:1(8h51c9m1`<532c:47>5$4d95g=i=l0876g>7;29 0`=9k1e9h4;;:a3<>=83>1<7>t$7c97c=O?91C:o5+4881?l7a2900e??50;9j7<<722e=>7>5;|q;57<728;pR5>=;6d<5o=1?4525b5901=:=j2189525b;901=:=jk189525b`901=:=ji189525bf901=:=jo189525bd901=:=m:189525e3901=:=m8189525e1901=:=m>1895rs930>5<5sW2;<63:cc877>{t08>1<787p}71483>7}Y?oo018m6:518yv>6>3:1>vP8fe9>1f>=<:1v5?8:181[1ak27>o:4;3:p<4>=838pR5>m;<7g0?243ty3=44?:3y]<5g<5;2l80??6s|80a94?4|V1:<70;k0;60?xu?9m0;6?uQ814890ea2=90q~6>e;296~X?8<169nk5429~w=7a2909wS6?4:?6ga<3;2wx4?>50;0xZ=6434?ho7:<;|q;64<72;qU;kl4=640>157>518y]3`b<5hl1?o52f980=>;2j80?863:b3870>;2j:0?863:b5870>;2j<0?863:b7870>;2j>0?863:b9870>;2j00?863:b`870>;2jk0?863:bb870>;2jm0?863:bd870>;2jo0?863:c1870>;2k80?863:c3870>;2k:0?863:c5870>;2k<0?863:c7870>{t0;91<787p}72583>7}Y?lk018lk:518yv>5=3:1>vP8e89>1ge=<:1v5<9:181[1b?27>nl4;3:p<71=838pR:k9;<7a=?243ty3>54?:3y]3`3<5;2j?0??6s|83`94?4|V>o970;m5;60?xu?:j0;6?uQ7d3890d32=90q~6=d;296~X0m9169o=5429~w=4b2909wS9kf:?6f7<3;2wx4?h50;0xZ2bb34?i=7:<;|q;75<72;qU;k;4=4a5>1552z\4b1=:=j?18>5rs911>5<5sW=m?63:c5877>{t0:91<787p}73583>7}Y?o;018m=:518yv>4=3:1>vP8f19>1f7=<:1v5=9:181[1bn27>o=4;3:p<61=838pR:kj;<7ab?243ty3?54?:3y]3`><50:j63l6;3e?8e228l01n:51g9>g6<6n27h>7?i;4`<5j:1=k52bg82b>;em3;m70lk:0d89ge=9o16no4>f:?ae?7a34h260:j63m6;3e?8d228l01o:51g9>f6<6n27i>7?i;<`2>4`<5k:1=k52f782b>;a=3;m70h;:0d89c5=9o16j?4>f:?e5?7a34l;6ad<6n27n57?i;4`<5l=1=k52f682b>;a03;m70h6:0d89cg=9o16jn4>f:?ef?7a34;;=7?i;<334?7a34lm61082b>;6990:j63>0g82b>;68l0:j63>0e82b>;68j0:j63>0c82b>;68h0:j63>0882b>;6810:j63>0682b>;68?0:j63>0482b>;68=0:j63>0282b>;68;0:j63>2082b>;6:90:j63>1g82b>;69l0:j63>1e82b>;69j0:j63>1c82b>;69h0:j63>1882b>;6910:j63>1682b>;69?0:j63>1482b>;69=0:j63>1282b>;69;0:j63>2282b>;6:;0:j63>3c82b>;6;h0:j63>3882b>;6;10:j63>3682b>;6;?0:j63>3482b>;6;=0:j63>3282b>;6;;0:j63>3082b>;6;90:j63>2g82b>;6:l0:j63>2e82b>;6:j0:j63>2c82b>;6:h0:j63>2882b>;6:10:j63>2682b>;6:?0:j63>2482b>;6:=0:j63>4c82b>;64882b>;6<10:j63>4682b>;64482b>;6<=0:j63>4282b>;6<;0:j63>4082b>;6<90:j63>3g82b>;6;l0:j63>3e82b>;6;j0:j63>5c82b>;6=h0:j63>5882b>;6=10:j63>5682b>;6=?0:j63>5482b>;6==0:j63>5282b>;6=;0:j63>5082b>;6=90:j63>4g82b>;64e82b>;66c82b>;6>h0:j63>6882b>;6>10:j63>6682b>;6>?0:j63>6482b>;6>=0:j63>6282b>;6>;0:j63>6082b>;6>90:j63>5g82b>;6=l0:j63>5e82b>;6=j0:j63>7c82b>;6?h0:j63>7882b>;6?10:j63>7682b>;6??0:j63>7482b>;6?=0:j63>7282b>;6?;0:j63>7082b>;6?90:j63>6g82b>;6>l0:j63>6e82b>;6>j0:j63>8c82b>;60h0:j63>8882b>;6010:j63>8682b>;60?0:j63>8482b>;60=0:j63>8282b>;60;0:j63>8082b>;6090:j63>7g82b>;6?l0:j63>7e82b>;6?j0:j63>9c82b>;61h0:j63>9882b>;6110:j63>9682b>;61?0:j63>9482b>;61=0:j63>9282b>;61;0:j63>9082b>;6190:j63>8g82b>;60l0:j63>8e82b>;60j0:j63>ac82b>;6ih0:j63>a882b>;6i10:j63>a682b>;6i?0:j63>a482b>;6i=0:j63>a282b>;6i;0:j63>a082b>;6i90:j63>9g82b>;61l0:j63>9e82b>;61j0:j63>bc82b>;6jh0:j63>b882b>;6j10:j63>b682b>;6j?0:j63>b482b>;6j=0:j63>b282b>;6j;0:j63>b082b>;6j90:j63>ag82b>;6il0:j63>ae82b>;6ij0:j63>cc82b>;6kh0:j63>c882b>;6k10:j63>c682b>;6k?0:j63>c482b>;6k=0:j63>c282b>;6k;0:j63>c082b>;6k90:j63>bg82b>;6jl0:j63>be82b>;6jj0:j63>dc82b>;6lh0:j63>d882b>;6l10:j63>d682b>;6l?0:j63>d482b>;6l=0:j63>d282b>;6l;0:j63>d082b>;6l90:j63>cg82b>;6kl0:j63>ce82b>;6kj0:j63>ee82b>;6mj0:j63>ec82b>;6mh0:j63>e882b>;6m10:j63>e682b>;6m?0:j63>e482b>;6m=0:j63>e282b>;6m;0:j63>e082b>;6m90:j63>dg82b>;6ll0:j63>de82b>;6lj0:j63>fg82b>;6nl0:j63>fe82b>;6nj0:j63>fc82b>;6nh0:j63>f882b>;6n10:j63>f682b>;6n?0:j63>f482b>;6n=0:j63>f282b>;6n;0:j63>f082b>;6n90:j63>eg82b>;6ml0:j63=1082b>;5990:j63=0g82b>;58l0:j63=0e82b>;58j0:j63=0c82b>;58h0:j63=0882b>;5810:j63=0682b>;58?0:j63=0482b>;58=0:j63=0282b>;58;0:j63=0082b>;5890:j63=2282b>;5:;0:j63=2082b>;5:90:j63=1g82b>;59l0:j63=1e82b>;59j0:j63=1c82b>;59h0:j63=1882b>;5910:j63=1682b>;59?0:j63=1482b>;59=0:j63=1282b>;59;0:j63=3782b>;5;<0:j63=3582b>;5;:0:j63=3382b>;5;80:j63=3182b>;5:o0:j63=2d82b>;5:m0:j63=2b82b>;5:k0:j63=2`82b>;5:00:j63=2982b>;5:>0:j63=2782b>;5:<0:j63=2582b>;5<00:j63=4982b>;5<>0:j63=4782b>;5<<0:j63=4582b>;5<:0:j63=4382b>;5<80:j63=4182b>;5;o0:j63=3d82b>;5;m0:j63=3b82b>;5;k0:j63=3`82b>;5;00:j63=3982b>;5;>0:j63=5b82b>;5=k0:j63=5`82b>;5=00:j63=5982b>;5=>0:j63=5782b>;5=<0:j63=5582b>;5=:0:j63=5382b>;5=80:j63=5182b>;5;5;5;5>o0:j63=6d82b>;5>m0:j63=6b82b>;5>k0:j63=6`82b>;5>00:j63=6982b>;5>>0:j63=6782b>;5><0:j63=6582b>;5>:0:j63=6382b>;5>80:j63=6182b>;5=o0:j63=5d82b>;5=m0:j63=8382b>;5080:j63=8182b>;5?o0:j63=7d82b>;5?m0:j63=7b82b>;5?k0:j63=7`82b>;5?00:j63=7982b>;5?>0:j63=7782b>;5?<0:j63=7582b>;5?:0:j63=7382b>;5?80:j63=7182b>;51<0:j63=9582b>;51:0:j63=9382b>;5180:j63=9182b>;50o0:j63=8d82b>;50m0:j63=8b82b>;50k0:j63=8`82b>;5000:j63=8982b>;50>0:j63=8782b>;50<0:j63=8582b>;50:0:j63;4mk0:j63;4mm0:j63;4mo0:j63;4n80:j63;4n:0:j63;4n<0:j63;4n>0:j63;4n00:j63;4nk0:j63;4nm0:j63;4no0:j63;0182b>;3880:j63;0382b>;38:0:j63;0582b>;38<0:j63;0782b>;38>0:j63;1c82b>;39h0:j63;1882b>;3910:j63;1682b>;39?0:j63;1482b>;39=0:j63;1282b>;39;0:j63;1082b>;3990:j63;0g82b>;38l0:j63;0e82b>;38j0:j63;0c82b>;38h0:j63;0882b>;3810:j63;1g82b>;39l0:j63;1e82b>;39j0:j63;2g82b>;3:l0:j63;2e82b>;3:j0:j63;2c82b>;3:h0:j63;2882b>;3:10:j63;2682b>;3:?0:j63;2482b>;3:=0:j63;2282b>;3:;0:j63;2082b>;3:90:j63;3682b>;3;?0:j63;3482b>;3;=0:j63;3282b>;3;;0:j63;3082b>;3;90:j63;4282b>;3<;0:j63;4082b>;3<90:j63;3g82b>;3;l0:j63;3e82b>;3;j0:j63;3c82b>;3;h0:j63;3882b>;3;10:j63;4g82b>;3;3;3;3<10:j63;4682b>;3;3<=0:j63;5682b>;3=?0:j63;5482b>;3==0:j63;5282b>;3=;0:j63;5082b>;3=90:j63;5c82b>;3=h0:j63;5882b>;3=10:j63;6g82b>;3>l0:j63;6e82b>;3>j0:j63;6c82b>;3>h0:j63;6882b>;3>10:j63;6682b>;3>?0:j63;6482b>;3>=0:j63;6282b>;3>;0:j63;6082b>;3>90:j63;5g82b>;3=l0:j63;5e82b>;3=j0:j63;8682b>;30?0:j63;8482b>;30=0:j63;8282b>;30;0:j63;8082b>;3090:j63;7g82b>;3?l0:j63;7e82b>;3?j0:j63;7c82b>;3?h0:j63;7882b>;3?10:j63;7682b>;3??0:j63;7482b>;3?=0:j63;7282b>;3?;0:j63;7082b>;3?90:j63;a282b>;3i;0:j63;a082b>;3i90:j63;9g82b>;31l0:j63;9e82b>;31j0:j63;9c82b>;31h0:j63;9882b>;3110:j63;9682b>;31?0:j63;9482b>;31=0:j63;9282b>;31;0:j63;9082b>;3190:j63;8g82b>;30l0:j63;8e82b>;30j0:j63;8c82b>;30h0:j63;8882b>;3010:j63;c282b>;3k;0:j63;c082b>;3k90:j63;bg82b>;3jl0:j63;be82b>;3jj0:j63;bc82b>;3jh0:j63;b882b>;3j10:j63;b682b>;3j?0:j63;b482b>;3j=0:j63;b282b>;3j;0:j63;b082b>;3j90:j63;ag82b>;3il0:j63;ae82b>;3ij0:j63;ac82b>;3ih0:j63;a882b>;3i10:j63;a682b>;3i?0:j63;a482b>;3i=0:j63;e682b>;3m?0:j63;e482b>;3m=0:j63;e282b>;3m;0:j63;e082b>;3m90:j63;dg82b>;3ll0:j63;de82b>;3lj0:j63;dc82b>;3lh0:j63;d882b>;3l10:j63;d682b>;3l?0:j63;d482b>;3l=0:j63;d282b>;3l;0:j63;d082b>;3l90:j63;cg82b>;3kl0:j63;ce82b>;3kj0:j63;cc82b>;3kh0:j63;c882b>;3k10:j63;c682b>;3k?0:j63;c482b>;3k=0:j63:0g82b>;28l0:j63:0e82b>;28j0:j63:0c82b>;28h0:j63:0882b>;2810:j63:0682b>;28?0:j63:0482b>;28=0:j63:0282b>;28;0:j63:0082b>;2890:j63;fg82b>;3nl0:j63;fe82b>;3nj0:j63;fc82b>;3nh0:j63;f882b>;3n10:j63;f682b>;3n?0:j63;f482b>;3n=0:j63;f282b>;3n;0:j63;f082b>;3n90:j63;eg82b>;3ml0:j63;ee82b>;3mj0:j63;ec82b>;3mh0:j63;e882b>;3m10:j63:3682b>;2;?0:j63:3482b>;2;=0:j63:3282b>;2;;0:j63:3082b>;2;90:j63:2g82b>;2:l0:j63:2e82b>;2:j0:j63:2c82b>;2:h0:j63:2882b>;2:10:j63:2682b>;2:?0:j63:2482b>;2:=0:j63:2282b>;2:;0:j63:2082b>;2:90:j63:1g82b>;29l0:j63:1e82b>;29j0:j63:1c82b>;29h0:j63:1882b>;2910:j63:1682b>;29?0:j63:1482b>;29=0:j63:1282b>;29;0:j63:1082b>;2990:j63:7d82b>;2?m0:j63:7b82b>;2?k0:j63:7`82b>;2?00:j63:7982b>;2?>0:j63:7782b>;2?<0:j63:7582b>;2?:0:j63:7382b>;2?80:j63:7182b>;2>o0:j63:6d82b>;2>m0:j63:6b82b>;2>k0:j63:6`82b>;2>00:j63:6982b>;2>>0:j63:ae82b>;2ij0:j63:ac82b>;2ih0:j63:a882b>;2i10:j63:a682b>;2i?0:j63:a482b>;2i=0:j63:a282b>;2i;0:j63:a082b>;2i90:j63:9g82b>;21l0:j63:ad82b>;01909863890810>;01;0:j63892810>;01=0986389482b>;01?09863896810>;0110:j6s|82`94?4|V1;;70;nf;66?xu?;j0;6?uQ7gc890ga2=>0q~6h50;0xZ2ee34?=578=;|q;05<72;qU;no4=44b>3452z\4g<=:=?h1:?5rs961>5<5sW=h463:6b856>{t0=91<77}Y?j<0188j:708yv>3=3:1>vP8c49>13`=>;1v5:9:181[1d<27>;=492:p<11=838pR:m=;<745?053ty3854?:3y]3f7<5<=96;<4}r:7=?6=:rTj6=4={_5ab>;2?=0=>6s|85`94?4|V>hn70;85;41?xu?34=7>52z\4f2=:=>h1:?5rs971>5<5sW=i:63:7b856>{t0<91<77}Y?k>0189j:708yv>2=3:1>vP8b29>1;1v5;9:181[1e:27>5k492:p<01=838pR:l>;<7b4?053ty3954?:3y]3g6<5;2i:0=>6s|84`94?4|V>n>70;n4;41?xu?=j0;6?uQ7e6890g22?80q~6:d;296~X0l:169l85639~w=3b2909wS9k2:?6e2<1:2wx48h50;0xZ2b634?j478=;|q;25<72;qU;i>4=4c:>3452z\4gc=:=hk1:?5rs941>5<5sW=h?63:ac856>{t0?91<77}Y?hn018ok:708yv>1=3:18vP8f69]<5b<5on1:?525`d906=z{1<=6=4={_5ge>;01;0=>6s|87594?4|574=4ce>0>53z?623<4j27>5i42;;01ko5209>bc<4127:><4=1:?265<5927:=k4=1:?25`<5927:=i4=1:?25f<5927:=o4=1:?25d<5927:=44=1:?25=<5927:=:4=1:?253<5927:=84=1:?251<5927:=>4=1:?257<5927:?o4=1:?27d<5927:?44=1:?27=<5927:?:4=1:?273<5927:?84=1:?271<5927:?>4=1:?277<5927:?<4=1:?275<5927:>k4=1:?26`<5927:>i4=1:?26f<5927:>o4=1:?26d<5927:>44=1:?26=<5927:>:4=1:?263<5927:>84=1:?261<5927?=o4=1:?75d<5927?=44=1:?75=<5927?=:4=1:?753<5927?=84=1:?751<5927?=>4=1:?757<5927?=<4=1:?755<5927?k4=1:?76`<5927?>i4=1:?76f<5927?>o4=1:?76d<5927?>44=1:?76=<5927?>:4=1:?763<5927?>84=1:?761<5927?>>4=1:?767<5927?><4=1:?765<5927?8>4=1:?707<5927?8<4=1:?705<5927??k4=1:?77`<5927??i4=1:?77f<5927??o4=1:?77d<5927??44=1:?77=<5927?9:4=1:?713<5927?984=1:?711<5927?9>4=1:?717<5927?9<4=1:?715<5927?9o4=1:?71d<5927?944=1:?71=<5927mi78=;|q;2d<72;q69>85639>333=<:1v58m:181834=3<9709;6;60?xu?>j0;6?u2526927=:?=218>5rs94g>5<5s4?8?78=;<57e?243ty3:h4?:3y>164=>;16;9m5429~w=0a2909w0;<1;41?813m3>87p}77183>7}:=::1:?52742906=z{1=:6=4={<71b?0534=>>7:<;|q;37<72;q69?k5639>302=<:1v59<:181835l3<9709:6;60?xu??=0;6?u253a927=:?<218>5rs956>5<5s4?9n78=;<56e?243ty3;;4?:3y>17g=>;16;8m5429~w=102909w0;=9;41?812m3>87p}77983>7}:=;21:?52772906=z{1=26=4={<713?0534==87:<;|q;3d<72;q69?85639>36b=<:1v59m:181835=3<97095rs95g>5<5s4?9?78=;<574?243ty3;h4?:3y>174=>;16;9?5429~w=1a2909w0;=1;41?813:3>87p}78183>7}:=;:1:?52751906=z{12:6=4={<72b?0534=?87:<;|q;<7<72;q69313=<:1v56<:181836l3<9709;7;60?xu?0=0;6?u250a927=:?=318>5rs9:6>5<5s4?:n78=;<57f?243ty34;4?:3y>14g=>;16;9j5429~w=>02909w0;>9;41?813n3>87p}78983>7}:=821:?52743906=z{1226=4={<723?0534=>?7:<;|q;303=<:1v56m:181836=3<9709:7;60?xu?0j0;6?u2506927=:?<318>5rs9:g>5<5s4?:?78=;<56f?243ty34h4?:3y>144=>;16;8j5429~w=>a2909w0;>1;41?812n3>87p}79183>7}:=8:1:?52773906=z{13:6=4=8z?6f5<3;27?709>709>709;1;66?813:3>>709;3;66?813<3>>709;5;66?813>3>>709;7;66?81303>>709;9;66?813i3>>709;b;66?813k3>>709;d;66?813m3>>709;f;66?81283>>709:1;66?812:3>>709:3;66?812<3>>709:5;66?812>3>>709:7;66?81203>>709:9;66?812i3>>709:b;66?812k3>>709:d;66?812m3>>709:f;66?81183>>70991;66?81>=3<97p}79283>7}:nj08563i9;41?xu?1=0;6?u2fc80=>;ai3<97p}79483>7}:n008563i7;41?xu?1?0;6?u2f`80=>;a03<97p}79683>7}:n?0=>63>2080=>{t0021<75<5s4l?6;<4=03e>6?52z?e7?0534;:i7=6;|q;=g<72;q6j?492:?25a<412wx44m50;0x9c7=>;16=a;1:?xu?1o0;6?u2ed856>;6900856s|8`294?4|5ln1:?5210:97<=z{1k:6=4={34<58;<6>74}r:b6?6=:r7nn78=;<322?5>3ty3m>4?:3y>ad<1:27:=84<9:p542=;01v5o::1818c?2?801f>3:1>v3j7;41?876:3927p}7a683>7}:k>0=>63>3c80=>{t0h21<75<5s4i>6;<4=01:>6?52z?`0?0534;847=6;|q;eg<72;q6o>492:?272<412wx4lm50;0x9f4=>;16=>85389~w=gc2909w0m>:70894522:30q~6ne;296~;d83<970?<4;1:?xu?io0;6?u2bg856>;6;:0856s|8c294?4|5ko1:?5212097<=z{1h:6=4={<`g>34<589:6>74}r:a6?6=:r7io78=;<304?5>3ty3n>4?:3y>fg<1:27:>k4<9:p57c=;01v5l::1818d>2?801<e>3:1>v3m8;41?875k3927p}7b683>7}:j>0=>63>2c80=>{t0k21<75<5s4h>6;<4=00:>6?52z?a0?0534;947=6;|q;fg<72;q6n>492:?262<412wx4om50;0x9g4=>;16=?85389~w=dc2909w0l>:70894422:30q~6me;296~;e83<970?=4;1:?xu?jo0;6?u28286<>;?93887p}7c183>6}:0<0>46373;00?8>52;90q~6l1;297~;??3?3706::3189=2=::1v5m=:1808>>2<201595229><3<5;2wx4n=50;1x9=d==116444=3:?;7553z?;b?3?342o6?=4=9a966=z{1i=6=4<{<;2>0><51l1>>528d817>{t0j=1<7=t=8191==:1809?6360;00?xu?k10;6>u29486<>;>;388707=:318yv>d13:1?v367;7;?8?22;9014:5229~w=ef2908w076:4:89<1=::165;4=3:p=<<5;27247<<;|q;gf<72:q65i4:8:?:f?44343j6?=4}r:``?6=;r72j7;7;<;g>75<50i1>>5rs9af>5<4s4k:6864=8d966=:1l09?6s|8bd94?5|5h919552a0817>;f83887p}7d183>6}:i<0>463n3;00?8g52;90q~6k1;297~;f?3?370o::3189d2=::1v5j=:1808g>2<201l95229>e3<5;2wx4i=50;1x9dd==116m44=3:?bea<2027jn7<<;7553z?bb?3?34ko6?=4=`a966=z{1n=6=4={6?<5ho1955rs9f4>5<5s4i=6>74=`a91==z{1n36=4={6?<5hk1955rs9f:>5<5s4i?6>74=`:91==z{1nj6=4={6?<5h<1955rs9fa>5<5s4i96>74=`691==z{1nh6=4={6?<5h81955rs9fg>5<5s4i;6>74=`291==z{1nn6=4={<`e>6?<50o1955rs9fe>5<5s4hn6>74=8a91==z{1o;6=4={<`g>6?<50k1955rs9g2>5<5s4hh6>74=8:91==z{1o96=4={<`a>6?<50<1955rs9g0>5<5s4hj6>74=8691==z{1o?6=4={<`:>6?<5081955rs9g6>5<5s4h36>74=8291==z{1o=6=4={<`4>6?<51o1955rs9g4>5<5s4h=6>74=9a91==z{1o36=4={<`6>6?<51k1955rs9g:>5<5s4h?6>74=9:91==z{1oj6=4={<`0>6?<51<1955rs9ga>5<5s4h96>74=9691==z{1oh6=4={<`2>6?<5181955rs9gg>5<5s4h;6>74=9391==z{1on6=4<{32<5hi18o525c`91==z{1om6=4<{32<5hk18o525cd91==z{1l;6=4<{32<5h218o525b291==z{1l:6=4<{32<5h<18o525b391==z{1l96=4<{32<5h>18o525b091==z{1l86=4<{32<5h818o525b191==z{1l?6=4<{32<5h:18o525b691==z{1l>6=4<{<;e>32<50o18o525b791==z{1l=6=4<{<;g>32<50i18o525b491==z{1l<6=4<{<;a>32<50k18o525c391==z{1l36=4<{<;:>32<50218o525c091==z{1l26=4<{<;4>32<50<18o525c191==z{1lj6=4<{<;6>32<50>18o525c691==z{1li6=4<{<;0>32<50818o525c791==z{1lh6=4<{<;2>32<50:18o525c491==z{1lo6=4<{<:e>32<51o18o525c591==z{1ln6=4<{<:g>32<51i18o525c:91==z{1lm6=4<{<:a>32<51k18o525c;91==z{0:;6=4<{<::>32<51218o525cc91==z{0::6=4<{<:4>32<51<18o525ca91==z{0:96=4<{<:6>32<51>18o525cf91==z{0:86=4<{<:0>32<51818o525cg91==z{0:?6=4={0><5j21>>5rs826>5<4s4ih6864=bc966=:k009?6s|91494?5|5jo19552cb817>;dj3887p}60683>6}:l90>463le;00?8ec2;90q~7?8;297~;c:3?370j?:3189f`=::1v4>6:1808b32<201i<5229>`4<5;2wx5=o50;1x9a0==116h94=3:?g7?443ty2`=<2027o:7<<;7553z?ge?3?34n36?=4=e5966=z{0:o6=4<{0><5mk1>>52d8817>{t19o1<7=t=eg91==:lj09?63kb;00?xu>8o0;6>u2e186<>;cm38870jk:318yv?683:1?v3j2;7;?8c72;901ih5229~w<762908w0k;:4:89`4=::16i<4=3:p=44=839p1h85599>a1<5;27n?7<<;|q:56<72;q6j;4<9:?f1?3?3ty2=94?:3y>b0<4127n?7;7;|q:50<72;q6j94<9:?f5?3?3ty2=;4?:3y>b6<4127oj7;7;|q:52<72;q6j?4<9:?g`?3?3ty2=54?:3y>b4<4127on7;7;|q:5<<72;q6j=4<9:?g=?3?3ty2=l4?:3y>ac<4127o;7;7;|q:5g<72;q6ih4<9:?g1?3?3ty2=n4?:3y>aa<4127o?7;7;|q:5a<72;q6in4<9:?g5?3?3ty2=h4?:3y>ag<4127hj7;7;|q:5c<72;q6il4<9:?``?3?3ty2>=4?:3y>a<<4127hn7;7;|q:64<72;q6i54<9:?`=?3?3ty2>?4?:3y>a2<4127h47;7;|q:66<72:q6i9494:?f7?2e34?ho7;7;|q:61<72:q6i?494:?f5?2e34?hh7;7;|q:60<72:q6i=494:?gb?2e34?hi7;7;|q:63<72:q6hh494:?g`?2e34?hj7;7;|q:62<72:q6hn494:?gf?2e34?o<7;7;|q:6=<72:q6hl494:?g=?2e34?o=7;7;|q:6<<72:q6h5494:?g3?2e34?o>7;7;|q:6d<72:q6h;494:?g1?2e34?o?7;7;|q:6g<72:q6h9494:?g7?2e34?o87;7;|q:6f<72:q6h?494:?g5?2e34?h;7;7;|q:6a<72:q6h=494:?`b?2e34?h47;7;|q:6`<72:q6oh494:?``?2e34?h57;7;|q:6c<72:q6on494:?`f?2e34?hm7;7;|q:75<72:q6ol494:?`=?2e34?hn7;7;|q:74<72;q6jn492:?4=3<412wx5><50;0x9cd=>;16;4=5389~w<54290>w0??0;41?875:3927087f;60?80>83>870861;67?xu>;=0;6;u2113927=:9;91?45269d901=:>0:18952683906=:??<18?5rs816>5<5s4;;<7=6;<4;b?3?3ty2?;4?:3y>557=;016;;85599~w<502909w0hj:2;893?72<20q~7<8;296~;al39270861;7;?xu>;00;6?u21df97<=:=mh1955rs81b>5<5s4;no7=6;<7f1?3?3ty2?o4?:3y>5`d=;0169h85599~w<5d2909w0?ja;1:?83b?3?37p}63e83>7}:9l31?4525d:91==z{09n6=4={<3f34?n57;7;|q:7c<72;q6=h95389>1`g==11v4:?:18187b>39270;jb;7;?xu><80;6?u21d797<=:=li1955rs861>5<5s4;n87=6;<7gg?3?3ty28>4?:3y>5`5=;0169ij5599~w<232909w0?j2;1:?83cm3?37p}64483>7}:9l;1?4525ed91==z{0>=6=4={<3f4?5>34?n<7;7;|q:02<72;q6=ih5389>1`7==11v4:7:18187cm39270;j2;7;?xu><00;6?u21ef97<=:=l91955rs86b>5<5s4;oo7=6;<7f0?3?3ty28o4?:3y>5c`=;0169hj5599~w<2d2909w0?ie;1:?83a?3?37p}64e83>7}:9on1?4525g:91==z{0>n6=4={<3eg?5>34?m57;7;|q:0c<72;q6=kl5389>1cg==11v4;?:18187ai39270;ib;7;?xu>=80;6?u21g;97<=:=oi1955rs871>5<5s4;m47=6;<7e`?3?3ty29>4?:3y>5c1=;0169kk5599~w<332909w0?i6;1:?83bm3?37p}65483>7}:9o?1?4525dd91==z{0?=6=4={<3e0?5>34?m<7;7;|q:12<72;q6=k=5389>1c7==11v4;7:18187a:39270;i2;7;?xu>=00;6?u21g397<=:=o91955rs87b>5<5s4;m<7=6;<7e0?3?3ty29o4?:3y>5``=;0169k;5599~w<3d2909w0?je;1:?83a>3?37p}65e83>7}::8;1?4525gd91==z{0?n6=4={<024?5>34<;57;7;|q:1c<72;q6>=h5389>25g==11v48?:181847m392708?b;7;?xu>>80;6?u221f97<=:>9i1955rs841>5<5s48;o7=6;<43`?3?3ty2:>4?:3y>65d=;016:=k5599~w<032909w07}::931?45260291==z{0<=6=4={<0334<;<7;7;|q:22<72;q6>=95389>257==11v487:181847>392708?2;7;?xu>>00;6?u221797<=:>991955rs84b>5<5s48;87=6;<430?3?3ty2:o4?:3y>655=;016:=;5599~w<0d2909w03?37p}66e83>7}::9;1?45261591==z{034<;47;7;|q:2c<72;q6>?=5389>247==11v49?:181845:392708>b;7;?xu>?80;6?u223397<=:>8i1955rs851>5<5s489<7=6;<42`?3?3ty2;>4?:3y>64`=;016:e;1:?806n3?37p}67483>7}::8n1?45263291==z{0==6=4={<02g?5>34<9=7;7;|q:32<72;q6>274==11v497:181846i392708>2;7;?xu>?00;6?u220;97<=:>891955rs85b>5<5s48:47=6;<420?3?3ty2;o4?:3y>641=;016:<;5599~w<1d2909w0<>6;1:?806>3?37p}67e83>7}::8?1?45260591==z{0=n6=4={<020?5>34<:47;7;|q:3c<72;q6><=5389>24?==11v46?:181846:392708>a;7;?xu>080;6?u222497<=:>;91955rs8:1>5<5s48897=6;<41`?3?3ty24>4?:3y>662=;0169i95599~w<>32909w0<<3;1:?805m3?37p}68483>7}:::81?45263d91==z{02=6=4={<005?5>34<8<7;7;|q:<2<72;q6>>>5389>267==11v467:181845n392708<2;7;?xu>000;6?u223g97<=:>:91955rs8:b>5<5s489h7=6;<400?3?3ty24o4?:3y>67e=;016:?:5599~w<>d2909w0<=b;1:?805=3?37p}68e83>7}::;k1?45263491==z{02n6=4={<01=?5>34<9;7;7;|q:?65389>27>==11v47?:181845?392708=9;7;?xu>180;6?u223497<=:>;k1955rs8;1>5<5s48997=6;<41f?3?3ty25>4?:3y>672=;016:?m5599~w7}::=21?45262d91==z{03=6=4={<073?5>34?o47;7;|q:=2<72;q6>985389>216==11v477:181843=392708;1;7;?xu>100;6?u225697<=:>=81955rs8;b>5<5s48??7=6;<477?3?3ty25o4?:3y>614=;016:9:5599~w7}::=:1?45265491==z{03n6=4={<00b?5>34<8:7;7;|q:=c<72;q6>>k5389>261==11v4o?:181844l392708<8;7;?xu>i80;6?u222a97<=:>:31955rs8c1>5<5s488n7=6;<40e?3?3ty2m>4?:3y>66g=;016:>l5599~w7}:::21?45262f91==z{0k=6=4={<003?5>34<8i7;7;|q:e2<72;q6>8m5389>211==11v4o7:181842j392708:1;7;?xu>i00;6?u224c97<=:=m31955rs8cb>5<5s48>57=6;<466?3?3ty2mo4?:3y>60>=;016:8=5599~w7}::<<1?45264791==z{0kn6=4={<061?5>34<>:7;7;|q:ec<72;q6>8:5389>201==11v4l?:181842;392708:8;7;?xu>j80;6?u224097<=:>=21955rs8`1>5<5s48>=7=6;<47=?3?3ty2n>4?:3y>606=;016:9o5599~w7}::=o1?45265a91==z{0h=6=4={<07`?5>349m5389>21c==11v4l7:181843j392708;f;7;?xu>j00;6?u225c97<=:><:1955rs8`b>5<5s48=j7=6;<46=?3?3ty2no4?:3y>63c=;016:;=5599~w7}::?i1?45267691==z{0hn6=4={<05f?5>34<=97;7;|q:fc<72;q6>;o5389>230==11v4m?:181841139270897;7;?xu>k80;6?u227:97<=:>?21955rs8a1>5<5s48=;7=6;<45=?3?3ty2o>4?:3y>630=;016:;o5599~w7}::?>1?45264`91==z{0i=6=4={<057?5>34<>o7;7;|q:g2<72;q6>;<5389>20b==11v4m7:1818419392708:e;7;?xu>k00;6?u227297<=:>5<5s48>j7=6;<454?3?3ty2oo4?:3y>60c=;016:;?5599~w7}::181?45267`91==z{0in6=4={<0;5?5>34<<97;7;|q:gc<72;q6>5>5389>1a0==11v4j?:181840n39270886;7;?xu>l80;6?u226g97<=:>>=1955rs8f1>5<5s484?:3y>62e=;016::75599~w7}::>k1?45266`91==z{0n=6=4={<04=?5>34<:65389>23e==11v4j7:181840?3927089d;7;?xu>l00;6?u226497<=:>?o1955rs8fb>5<5s48<97=6;<45b?3?3ty2ho4?:3y>622=;016::>5599~w7}::>81?45266091==z{0nn6=4={<045?5>34<:>5389>222==11v4k?:18184>=3927088d;7;?xu>m80;6?u228697<=:>1=1955rs8g1>5<5s482?7=6;<7ge?3?3ty2i>4?:3y>6<4=;016:565599~w7}::0:1?45269c91==z{0o=6=4={<0;b?5>34<3n7;7;|q:a2<72;q6>5k5389>2=e==11v4k7:18184?l3927087d;7;?xu>m00;6?u229a97<=:>1o1955rs8gb>5<5s483n7=6;<44a?3?3ty2io4?:3y>6=g=;016::h5599~w7}::121?45269391==z{0on6=4={<0;3?5>34<3>7;7;|q:ac<72;q6>585389>2=5==11v4h?:18184?=39270874;7;?xu>n80;6?u229697<=:>1?1955rs8d1>5<5s483?7=6;<4;2?3?3ty2j>4?:3y>161=;016;;95599~w<`32909w0;<6;1:?81103?37p}6f483>7}:=:?1?45277;91==z{0l=6=4={<700?5>34==m7;7;|q:b2<72;q69>=5389>33d==11v4h7:181834:3927099c;7;?xu>n00;6?u252397<=:??n1955rs8db>5<5s4?8<7=6;<55a?3?3ty2jo4?:3y>17`=;016;;h5599~w<`d2909w0;=e;1:?81083?37p}6fe83>7}:=;n1?45276391==z{0ln6=4={<71g?5>34=<>7;7;|q:bc<72;q69?l5389>325==11vl>?:181835i39270984;7;?xuf880;6?u253;97<=:?>?1955rs`21>5<5s4?947=6;<542?3?3tyj<>4?:3y>171=;016;:95599~wd632909w0;=6;1:?81003?37p}n0483>7}:=;?1?45276;91==z{h:=6=4={<710?5>34=32d==11vl>7:181835:3927098c;7;?xuf800;6?u253397<=:?>n1955rs`2b>5<5s4?9<7=6;<54a?3?3tyj14`=;016;:h5599~wd6d2909w0;>e;1:?81?83?37p}n0e83>7}:=8n1?45279391==z{h:n6=4={<72g?5>34=3>7;7;|qb4c<72;q693=5==11vl??:181836i39270974;7;?xuf980;6?u250;97<=:?1?1955rs`31>5<5s4?:47=6;<5;2?3?3tyj=>4?:3y>141=;016;595599~wd732909w0;>6;1:?81?03?37p}n1483>7}:=8?1?45279;91==z{h;=6=4={<720?5>34=3m7;7;|qb52<72;q69<=5389>3=d==11vl?7:181836:3927097c;7;?xuf900;6?u250397<=:?1n1955rs`3b>5<5s4?:<7=6;<5;a?3?3tyj=o4?:0y>161=>;1vl?l:181837n3<970997;61?xuf9m0;6?u251g927=:??218?5rs`3f>5<5s4?;h78=;<55=?253tyj=k4?:3y>15e=>;16;;o5439~wd472909w0;?b;41?811j3>97p}n2083>7}:=9k1:?5277a907=z{h896=4={<73=?0534==h7:=;|qb66<72;q69=65639>33c=<;1vl<;:181837?3<97099f;61?xuf:<0;6?u2514927=:?>:18?5rs`05>5<5s4?;978=;<545?253tyj>:4?:3y>152=>;16;:<5439~wd4?2909w0;?3;41?810;3>97p}n2883>7}:=981:?52766907=z{h8j6=4={<735?0534=<97:=;|qb6g<72;q69=>5639>320=<;1vl218?5rs`0f>5<5s4>mh78=;<54=?253tyj>k4?:3y>0ce=>;16;:o5439~wd572909w0:ib;41?810j3>97p}n3083>7}:32c=<;1vl=;:18182a?3<97098f;61?xuf;<0;6?u24g4927=:?1:18?5rs`15>5<5s4>m978=;<5;5?253tyj?:4?:3y>0c2=>;16;5<5439~wd5?2909w0:i3;41?81?;3>97p}n3883>7}:5639>3=0=<;1vl=l:18182bn3<970977;61?xuf;m0;6?u24dg927=:?1218?5rs`1f>5<5s4>nh78=;<5;=?253tyj?k4?:3y>0`e=>;16;5o5439~wd272909w0:jb;41?81?j3>97p}n4083>7}:96=4={<6f=?0534=3h7:=;|qb06<72;q68h65639>3=c=<;1vl:;:181837k39270=ja;41?xuf<<0;6>u23dc97<=:=9n1?4523d`927=z{h>=6=4<{<1ff?5>34?;i7=6;<1fg?053tyj8:4?:3y>15d=;0168h95639~wd2?2909w0;?a;1:?82b>3<97p}n4883>7}:=931?4524d7927=z{h>j6=4={<7334>n878=;|qb0g<72;q69=95389>0`5=>;1vl:l:181837>39270:j2;41?xuf5<5s4?;87=6;<6f4?053tyj8k4?:3y>155=;0168ih5639~wd372909w0;?2;1:?82cm3<97p}n5083>7}:=9;1?4524ef927=z{h?96=4={<734?5>34>oo78=;|qb16<72;q68kh5389>0ad=>;1vl;;:18182am39270:ka;41?xuf=<0;6?u24gf97<=:5<5s4>mo7=6;<6g0cd=;0168i95639~wd3?2909w0:ia;1:?82c>3<97p}n5883>7}:34>o878=;|qb1g<72;q68k95389>0a5=>;1vl;l:18182a>39270:k2;41?xuf=m0;6?u24g797<=:5<5s4>m87=6;<6g4?053tyj9k4?:3y>0c5=;0168nh5639~wd072909w0:i2;1:?82dm3<97p}n6083>7}:34>ho78=;|qb26<72;q68hh5389>0fd=>;1vl8;:18182bm39270:la;41?xuf><0;6?u24df97<=:5<5s4>no7=6;<6`0`d=;0168n95639~wd0?2909w0:ja;1:?82d>3<97p}n6883>7}:34>h878=;|qb2g<727`e=;0169=h5389>1ad=<=169h;5459~wd0d2909w0=j8;7;?83b>3>87p}n6e83>7}:;m=195525d5901=z{h1`?=<=1vl9?:18185c<3?370;ja;67?xuf?80;6?u23e191==:=lh1895rs`51>5<5s49o>7;7;<7fg?233tyj;>4?:3y>7a7==1169im5459~wd132909w0=k0;7;?83cl3>?7p}n7483>7}:;jl195525eg901=z{h==6=4={<1`a?3?34?oj7:;;|qb32<72;q6?nj5599>1`6=<=1vl97:18185dk3?370;j1;67?xuf?00;6?u23b`91==:=l81895rs`5b>5<5s49hm7;7;<7f7?233tyj;o4?:3y>7f?==1169h:5459~wd1d2908w0=j9;00?85b038870?jd;41?xuf?m0;6<34<5>8i69:4=60`>13<5>8o69;4=60f>13<5>8m69;4=613>13<5>9:69;4=611>12<5>9869;4=617>13<5>9>69;4=615>13<5>9<69;4=61;>13<5>9269;4=61b>13<5>9i69;4}rc4a?6=;r78i;44;3:pe2`=839p1>k::2`894cf2?801:=;:518yvg?83:1?v3;6m00=>63834877>{ti1;1<7=t=2g0>6d<58o36;<4=615>157>53z?0a7<4j27:i:492:?472<3;2wxm5=50;1x96c62:h01e4856>;0;00??6s|a9794?5|5:nm6>l4=0g7>34<5>9j69=4}rc;2?6=;r78hh4jk:2`894c52?801:;6m80=>6382e877>{ti131<7=t=2fa>6d<58o;6;<4=60f>1553z?0`d<4j27:hk492:?46c<3;2wxm5l50;1x96b>2:h01de856>;0;80??6s|a9f94?5|5:o<6>l4=0f`>34<5>9969=4}rc;a?6=:r7:8o492:?46g<3;2wxm5h50;0x942f2?801:=<:568yvg>83:1>v3>48856>;0;=0?86s|a8394?4|58>36;<4=616>127>52z?202<1:270q~o64;296~;6<<0=>63839870>{ti0?1<734<5>9269:4}rc:2?6=:r7:8>492:?47d<3<2wxm4950;0x94252?801:=m:568yvg>03:1>v3>40856>;0:j0?86s|a8;94?4|58>;6;<4=60g>1252z?27c<1:27<>h4;4:pe0q~o6c;296~;6;m0=>63831870>{ti0n1<734<5>9:69:4}rc:a?6=:r7?i94<9:?0aa<1:2wxm4h50;1x96cc2:3019k::2;896cb2?80q~on0;297~;4ml08563;e780=>;4mo0=>6s|a`394?4|5=o86>74=5a0>347>52z?7a7<4127?o?492:ped5=838p19k>:2;891e62?80q~on4;296~;3m908563;c1856>{tih?1<76?<5=hm6;<4}rcb2?6=:r7?hh4<9:?7f`<1:2wxml950;0x91bc2:3019lk:708yvgf03:1>v3;db80=>;3jj0=>6s|a`;94?4|5=ni6>74=5`a>3452z?7`d<4127?nl492:pedd=838p19j6:2;891d>2?80q~onc;296~;3l108563;b9856>{tihn1<76?<5=h<6;<4}rcba?6=:r7?h;4<9:?7f3<1:2wxmlh50;0x91b22:3019l::708yvge83:1>v3;d580=>;3j=0=>6s|ac394?4|5=n86>74=5`0>347>52z?7`7<4127?n?492:peg5=838p19j>:2;891d62?80q~om4;296~;3l908563;b1856>{tik?1<76?<5=km6;<4}rca2?6=:r7?oh4<9:?7e`<1:2wxmo950;0x91ec2:3019ok:708yvge03:1>v3;cb80=>;3ij0=>6s|ac;94?4|5=ii6>74=5ca>3452z?7gd<4127?ml492:pegd=838p19m6:2;891g>2?80q~omc;296~;3k108563;a9856>{tikn1<76?<5=k<6;<4}rcaa?6=:r7?o;4<9:?7e3<1:2wxmoh50;0x91e22:3019o::708yvgd83:1>v3;c580=>;3i=0=>6s|ab394?1|5:k=6864=2ge>6?<5=o<6>74=4gg>13<513<569;4}rc`6?6=;r78o;4:8:?6a3<3<27>j54;3:pef5=839p1>l::4:890`>2=?018k8:578yvgd<3:1?v3;2nh0?963:e9871>{tij?1<7=t=2`0>0><51353z?0f7<2027>jn4;5:?6ad<3=2wxmn950;1x96d62<2018hk:57890ce2=?0q~ol8;297~;4j90>463:fd871>;2mj0?96s|ab;94?5|5:km6864=4gf>13<5hi4;5:pefd=839p1>ok:4:890`72=?018jj:578yvgdk3:1?v3;2n80?963:dg871>{tijn1<7=t=2ca>0><51353z?0ed<2027>j>4;5:?6a4<3=2wxmnh50;1x96g>2<2018h;:57890c52=?0q~ok0;297~;4i10>463:f4871>;2m:0?96s|ae394?5|5:k<6864=4d5>13<5?709>b;66?816k3>>709>d;66?816m3>>709>f;66?81583>>709=1;67?815:3>>709=3;66?815<3>>709=5;66?815>3>>709=7;66?81503>>709=9;66?815i3>>7p}nd583>6}:;j>1?o521gf927=:?;818>5rs`f6>5<4s49h?7=m;<3eg?0534=9?7:<;|qb`3<72:q6?n<53c9>5cd=>;16;?:5429~wdb02908w0=l1;1a?87ai3<9709=5;60?xufl10;6>u23b297g=:9o31:?52734906=z{hn26=4<{<1ab?5e34;m478=;<513?243tyjhl4?:2y>7gc=;k16=k95639>37>=<:1vljm:18085el39i70?i6;41?81513>87p}ndb83>6}:;ki1?o521g7927=:?;k18>5rs`fg>5<4s49in7=m;<3e0?0534=:n7:<;|qb``<72:q6?oo53c9>5c5=>;16;d;60?xufm90;6>u23c:97g=:9o;1:?5270g906=z{ho:6=4<{<1a3?5e34;m<78=;<52b?243tyji?4?:2y>7g0=;k16=hh5639>376=<:1vlk<:18085d=39i70?je;41?81593>87p}ne583>6}:9=h1?45214`927=:?8k18>5rs`g6>5<4s4;?m7=6;<36e?0534=9>7:;;|qba3<72:q6=975389>50?=>;16;?=5459~wdc02908w0?;8;1:?87203<9709=4;67?xufm10;6>u215597<=:9<=1:?52737901=z{ho26=4<{<372?5>34;>:78=;<512?233tyjil4?:2y>513=;016=8;5639>371=<=1vlkm:180873<39270?:4;41?81503>?7p}neb83>6}:9=91?452141927=:?;31895rs`gg>5<4s4;?>7=6;<366?0534=9m7:;;|qba`<72:q6=9?5389>507=>;16;c;67?xufn90;6>u212d97<=:9=l1:?5270f901=z{hl:6=4<{<30a?5>34;?i78=;<52a?233tyjj?4?:2y>56b=;016=9j5639>34`=<=1vlh<:180874k39270?;c;41?81583>?7p}nf583>7}:6=4<{<1e4?5>34>h=7=6;<1e5?053tyjj;4?:2y>7c7=;0168n<5389>7c4=>;1vlh8:18182en39270:n3;41?xufn10;6?u24cg97<=:5<5s4>ih7=6;<6b5?053tyjjl4?:3y>0ge=;0168l>5639~wd`e2909w0:mb;1:?82>n3<97p}nfb83>7}:34>2h78=;|qbb`<72;q68o65389>0;1vlhi:18182e?39270:6b;41?xue890;6?u24c497<=:<0k1:?5rsc22>5<5s4>i97=6;<6:=?053tyi0g2=;0168465639~wg642909w0:m3;1:?82>?3<97p}m0583>7}:6=4={<6a5?5>34>2978=;|qa43<72;q68o>5389>0<2=>;1vo>8:18182fn39270:63;41?xue810;6?u24`g97<=:<081:?5rsc2:>5<5s4>jh7=6;<6:5?053tyi0de=;01684>5639~wg6e2909w0:nb;1:?82?n3<97p}m0b83>7}:34>3h78=;|qa4`<72;q68l65389>0=e=>;1vo>i:18182f?39270:7b;41?xue990;6?u24`497<=:<1k1:?5rsc32>5<5s4>j97=6;<6;=?053tyi=?4?:3y>0d2=;0168565639~wg74290?70;i7;67?83an3>>708?9;66?xue9=0;6>u23`691==:=o21895261c906=z{k;>6=4<{<1:7?3?34?m57:;;<43f?223tyi=;4?:2y>7<4==1169ko5459>25e=<<1vo?8:18085>93?370;ib;67?807l3>>7p}m1983>6}:;0:195525ga901=:>9o1885rsc3:>5<4s493j7;7;<7e`?2334<;j7::;|qa5d<72:q6?5k5599>1cc=<=16:<>5449~wg7e2908w0=7d;7;?83bm3>?708?0;66?xue9j0;6>u239a91==:=ll18952613900=z{k;o6=4<{<1;f?3?34?m<7:;;<436?223tyi=h4?:2y>7=g==1169k?5459>255=<<1vo?i:18085?13?370;i2;67?807<3>>7p}m2183>6}:;12195525g1901=:>9?1885rsc02>5<4s493;7;7;<7e0?2334<;:7::;|qa67<72:q6?585599>1c3=<=16:=95449~wg442908w0=75;7;?83a>3>?708?8;66?xue:=0;6>u23`7966=:;h>1>>52203927=z{k8>6=4>2z?155<1:27<<44;4:?44d<3=27<4;5:?451<3=27<=84;5:?453<3=27<=:4;5:?45=<3=27<=44;5:pf70=839p1>o=:2`8976a2?801:?>:518yvd5?3:1?v3;58l0=>63813877>{tj;21<7=t=2c3>6d<5;:o6;<4=630>1553z?0=c<4j279m:70892722=90q~l=b;297~;41m08n63=0`856>;09?0??6s|b3a94?5|5:3h6>l4=32:>34<5>;<69=4}r`1`?6=;r785o47n:2`897602?801:?6:518yvd5n3:1?v3<9880f>;58?0=>6380`877>{tj::1<7=t=2;;>6d<5;:>6;<4=62a>1553z?0=2<4j279<9492:?44f<3;2wxn><50;1x96?12:h01?><:708926c2=90q~l<3;297~;41<08n63=03856>;08l0??6s|b2694?5|5:3?6>l4=322>34<5>:m69=4}r`01?6=;r78m>46:518yvd4?3:1?v3>5`80=>;6>h0=>63810870>{tj:21<7=t=07:>6?<58<26;<4=631>1253z?21=<4127::5492:?456<3<2wxn>o50;1x94302:301<88:70892732=>0q~l67856>;09<0?86s|b2a94?5|58?>6>74=046>34<5>;=69:4}r`0`?6=;r7:994<9:?221<1:27<=:4;4:pf6c=839p1<;<:2;894042?801:?7:568yvd4n3:1?v3>5380=>;6>;0=>63818870>{tj=:1<7=t=072>6?<58<:6;<4=62b>1253z?215<4127::=492:?44g<3<2wxn9<50;1x942a2:301<;i:708926d2=>0q~l;3;297~;65d856>;08m0?86s|b5694?5|58>o6>74=07g>34<5>:n69:4}r`71?6=;r7:8n4<9:?21f<1:27<;4n=0=>6s|b5:94?5|5:l?6>74=5c1>6?<5:l>6;<4}r`7=?6=:r7?5k4<9:?7<2<1:2wxn9o50;0x91?b2:301969:708yvd3j3:1>v3;9e80=>;30<0=>6s|b5a94?4|5=3h6>74=5:7>3452z?7=g<4127?4>492:pf1c=838p197n:2;891>52?80q~l;f;296~;31008563;80856>{tj<:1<76?<5=2;6;<4}r`65?6=:r7?5:4<9:?73c<1:2wxn8<50;0x91?12:30199j:708yvd2;3:1>v3;9480=>;3?m0=>6s|b4694?4|5=3?6>74=55`>3497>52z?7=6<4127?;o492:pf00=838p197=:2;8911f2?80q~l:7;296~;31808563;78856>{tj<21<76?<5==36;<4}r`6=?6=:r7?4k4<9:?732<1:2wxn8o50;0x91>b2:301999:708yvd2j3:1>v3;8e80=>;3?<0=>6s|b4a94?4|5=2h6>74=557>34h7>52z?7492:pf0c=838p196n:2;891152?80q~l:f;296~;30008563;70856>{tj?:1<76?<5==;6;<4}r`55?6=?r78:?4:8:?0b0<4127?m>4<9:?6bc<3<27=<44;4:?554<3=27==o4;5:pf34=839p1>6=:4:8936f2=>01;?l:518yvd1;3:1?v3<7086<>;18k0?86391e871>{tj?>1<7=t=253>0><5?:h69:4=73f>1353z?02c<2027=j:56893472=?0q~l97;297~;4>m0>46390g870>;1:80?96s|b7:94?5|5:12<5?8969;4}r`5=?6=;r78:o4:8:?545<3<27==?4;5:pf3g=839p1>8n:4:893662=>01;?<:578yvd1j3:1?v3<6886<>;18;0?863915871>{tj?i1<7=t=24;>0><5?:869:4=736>1353z?022<2027=<94;4:?553<3=2wxn;k50;1x96012<201;>::56893702=?0q~l9f;297~;4><0>463907870>;1910?96s|b6294?5|5:12<5?;269;4}r`45?6=;r78:>4:8:?54=<3<27==l4;5:pf24=839p1>6<:31896>52;901?<<:708yvd0;3:1=?u2230927=:>o2189526g;900=:>ok188526g`900=:>oi188526gf900=:>oo188526gd901=:?9:18852713900=:?9818852711900=:?9>18852717900=:?9<18852715900=:?921885rsc57>5<18r784>416n=7S9k9:?bb?4434kn6?=4=`f97g=:ik08n63n9;1a?8g02:h01l;53c9>e6<4j27j=7=m;<;e>6d<50n1?o529c80f>;>139i7078:2`89<3=;k165>4l4=9f97g=:0k08n6379;1a?8>02:h015;53c9><6<4j27n:7<<;75<5l>1?o52e380f>;b839i70jj:2`89ae=;k16hl4l4=e697g=:l;08n63k0;1a?8eb2:h01nm53c9>gd<4j27>:;4=3:?620<5;27>:94:=49n49549949=48n48548948=4?n45i4=3:?6=f<5;27>5o45:45>44k44o44:44>47=6=;k16>??5639>356=<:1vo99:180850n39i70<=0;41?81793>87p}m7683>6}:;>o1?o5220d927=:?9818>5rsc5;>5<4s4964b=>;16;=:5429~wg1f2908w0=8b;1a?846k3<9709?5;60?xue?k0;6>u236c97g=::8h1:?52714906=z{k=h6=4<{<14=?5e348:m78=;<533?243tyi;i4?:2y>72>=;k16><75639>35>=<:1vo9j:180850?39i70<>8;41?80a13>87p}m7g83>6}:;><1?o52205927=:>ok18>5rsc:3>5<4s49<97=m;<022?0534643=>;16:km5429~wg>52908w0=83;1a?846<3<9708id;60?xue0:0;6>u236097g=::891:?526gg906=z{k2?6=4<{<1;5?5e348:>78=;<4eb?243tyi484?:2y>53d=;016=:l5639>2c>=<:1vo69:180871i39270?8a;41?81783>?7p}m8683>6}:9?31?45216;927=:?9;1895rsc:;>5<4s4;=47=6;<347:;;|qa<<<72:q6=;95389>521=>;16;==5459~wg>f2908w0?96;1:?870>3<9709?4;67?xue0k0;6>u217797<=:9>?1:?52717901=z{k2h6=4<{<350?5>34;<878=;<532?233tyi4i4?:2y>535=;016=:=5639>351=<=1vo6j:180871:39270?82;41?81703>?7p}m8g83>6}:9?;1?452163927=:>o31895rsc;3>5<4s4;=<7=6;<344?053453`=>;16:kl5459~wg?52908w0?:e;1:?871m3<9708ic;67?xue1:0;6>u214f97<=:9?n1:?526gf901=z{k3?6=4<{<36g?5>34;=o78=;<4ea?233tyi584?:3y>0=2=;016?k85639~wg?12908w0=i6;1:?82?=39270=i7;41?xue1>0;6>u23g597<=:<1<1?4523g:927=z{k336=4={<6;7?5>34>=j78=;|qa=<<72;q685<5389>03c=>;1vo7n:18182?939270:9d;41?xue1k0;6?u249297<=:5<5s4>02c=;0168;o5639~wg?b2909w0:8d;1:?82113<97p}m9g83>7}:<>i1?45247:927=z{kk;6=4={<64f?5>34>=;78=;|qae4<72;q68:o5389>030=>;1voo=:181820139270:95;41?xuei:0;6?u246:97<=:1:?5rscc7>5<5s4><;7=6;<657?053tyim84?:3y>020=;0168;<5639~wgg12909w0:85;1:?82193<97p}ma683>7}:<>>1?452472927=z{kk36=4={<647?5>34>>j78=;|qae<<72;q68:<5389>00c=>;1voon:181820939270::d;41?xueik0;6?u246297<=:<5<0s49?<7;7;<1e34>3;7=6;<425?2334<:n7:;;<417?2234<9h7::;|qaea<72:q6?;>5599>24e=<=16:?k5429~wggb2908w0=;f;7;?806l3>?708=f;66?xueio0;6>u235g91==:>8o18952622900=z{kh;6=4<{<17`?3?34<:j7:;;<405?223tyin<4?:2y>71e==116:?>5459>264=<<1vol=:180853j3?3708=1;67?804;3>>7p}mb283>6}:;=k19552630901=:>:>1885rsc`7>5<4s49?57;7;<426?2334<987::;|qaf0<72:q6?965599>245=<=16:?;5449~wgd12908w0=;7;7;?806<3>?708=6;66?xuej>0;6>u235491==:>8?18952635900=z{kh36=4<{<171?3?34<::7:;;<41712==116:<95459>27?=<<1voln:180853;3?3708>8;67?805i3>>7p}mbc83>6}:;=81955260;901=:>;h1885rsc``>5<4s49?=7;7;<42e?2334<9o7::;|qafa<72:q6?;?5229>736=::16>>85639~wgdb290:>v3=34856>;1m>0?9639e9871>;1m00?9639e`871>;1mk0?9639eb871>;1mm0?9639ed870>;1mo0?9639f1871>;1n80?9639f3871>;1n:0?9639f5871>;1n<0?9639f7871>;1n>0?96s|bcd94?5|5:<:6>l4=317>34<5?o<69=4}r``4?6=;r789h4;k:2`897552?801;h?:518yvdd:3:1?v3<5b80f>;5;80=>639f0877>{tjj91<7=t=27a>6d<5;9;6;<4=7d1>1553z?01d<4j279>k492:?5b6<3;2wxnn;50;1x963>2:h01?;1n<0??6s|bb594?5|5:?<6>l4=30`>34<5?l=69=4}r``;::2`8974f2?801;k7:518yvddi3:1?v3<5580f>;5:00=>639e8877>{tjjh1<7=t=270>6d<5;836;<4=7gb>1553z?017<4j279>:492:?5ag<3;2wxnnj50;1x96362:h01?<9:70893cd2=90q~lle;297~;4=908n63=24856>;1mm0??6s|bbd94?5|5:?m6>l4=307>34<5?on69=4}r`g4?6=;r7:;o4<9:?2f2?801;ki:568yvdc:3:1?v3>7880=>;6000=>639f1870>{tjm91<7=t=05;>6?<58236;<4=7d2>1253z?232<4127:4:492:?5b7<3<2wxni;50;1x94112:301<69:70893`42=>0q~lk6;297~;6?<08563>84856>;1n=0?86s|be594?5|58=?6>74=0:7>34<5?l>69:4}r`g4<9:?2<6<1:27=j;4;4:pfa?=839p1<9=:2;894>52?801;h8:568yvdci3:1?v3>7080=>;6080=>639e9870>{tjmh1<7=t=053>6?<582;6;<4=7g:>1253z?22c<4127:;k492:?5ad<3<2wxnij50;1x940b2:301<9j:70893ce2=>0q~lke;297~;6>m08563>7e856>;1mj0?86s|bed94?5|58
74=05`>34<5?oo69:4}r`f4?6=:r7?9o492:?6`2<3>2wxnh?50;0x913f2?8018j8:558yvdb:3:1>v3;58856>;2l>0?96s|bd194?4|5=?36;<4=4f4>1>52z?72f<41278j4492:pf`3=839p1>h6:2;8910c2:301>hn:708yvdb>3:1?v3;3>l08563{tjl=1<76?<58;:6;<4}r`f2:301<>i:708yvdbi3:1>v3;6980=>;68l0=>6s|bd`94?4|5=<<6>74=02g>3452z?723<4127:=08563>0`856>{tjll1<76?<58:26;<4}r`e4?6=:r7?:?4<9:?24=<1:2wxnk?50;0x91062:301<>8:708yvda:3:1>v3;6180=>;68?0=>6s|bg194?4|5=?m6>74=026>3452z?71`<4127:<9492:pfc3=838p19;k:2;894642?80q~li6;296~;3=j08563>03856>{tjo=1<79t=23f>0><5:li6>74=54e>6?<5?8869:4=70g>12<5?9>69;4=71e>1353z?07`<2027=>h4;4:?505<3;2wxnk750;1x964c2<201;463931870>;1<;0?96s|bg`94?5|5:8i6864=712>12<5?>869;4}r`eg?6=;r78>l4:8:?577<3<27=894;5:pfcb=839p1><6:4:893542=>01;:::578yvdam3:1?v3<2986<>;1;=0?863947871>{tjol1<7=t=204>0><5?8?69:4=715>1353z?063<2027=>84;4:?572<3=2wxo=?50;1x96422<201;<9:568935?2=?0q~m?2;297~;4:=0>463926870>;1;00?96s|c1194?5|5:886864=70;>12<5?9j69;4}ra30?6=;r78>?4:8:?56<<3<27=?o4;5:pg53=839p1><>:4:8934f2=>01;=l:578yve7>3:1?v3<2186<>;1:k0?86393e871>{tk9=1<7=t=23e>0><5?8h69:4=71f>1353z?07c<5;278?h4=3:?10<<1:2wxo=750;3184303<9708k6;66?80c?3>>708k8;66?80c13>>708ka;66?80cj3>>708kc;66?80cl3>?708ke;66?80cn3>>708j0;66?80b93>>708j2;66?80b;3>>708j4;66?80b=3>>708j6;66?xud8h0;6>u232d97g=::==1:?526e4906=z{j:i6=4<{<10g?5e348?:78=;<4ga?243tyh76d=;k16>9;5639>2a`=<:1vn>k:180854i39i70<;4;41?80b83>87p}l0d83>6}:;:31?o52251927=:>l;18>5rsb2e>5<4s49847=m;<076?05347:<;|q`55<72:q6?>953c9>617=>;16:h=5429~wf762908w0=<6;1a?84383<9708j4;60?xud9;0;6>u232797g=:::l1:?526d7906=z{j;86=4<{<100?5e3488i78=;<4f2?243tyh=94?:2y>765=;k16>>j5639>2a1=<:1vn?::180854:39i70<87p}l1783>6}:;:;1?o5222`927=:>m318>5rsb34>5<4s498<7=m;<00e?053466?=>;16:il5429~wf7>2908w0==e;1a?84403<9708kc;60?xud9h0;6>u232f97g=:::=1:?526ef906=z{j;i6=4<{<3;f?5>34;2n78=;<4g2?233tyh=n4?:2y>5=g=;016=4o5639>2ac=<=1vn?k:18087?139270?69;41?80cn3>?7p}l1d83>6}:9121?45218:927=:>l:1895rsb3e>5<4s4;3;7=6;<3:3?05345<0=>;16:h<5459~wf462908w0?75;1:?87>=3<9708j3;67?xud:;0;6>u219697<=:90>1:?526d6901=z{j886=4<{<3;7?5>34;2?78=;<4f1?233tyh>94?:2y>5=4=;016=4<5639>2`0=<=1vn<::18087?939270?61;41?80c?3>?7p}l2783>6}:91:1?452182927=:>m21895rsb04>5<4s4;5=c=>;16:io5459~wf4>2908w0?8d;1:?87?l3<9708kb;67?xud:h0;6>u216a97<=:91i1:?526ea901=z{j8i6=4={<66f?5>34>>;78=;|q`6f<72;q688o5389>000=>;1vn1:?5rsb0e>5<5s4>>?78=;<7g004=>;169i65469~wf562909w0::1;41?83c03>>7p}l3383>7}:<<:1:?525e:90==z{j986=4={<33a?5>349mo78=;|q`71<72:q6==h5389>7ce=;016?kj5639~wf522908w0?>0;1:?85al39270=ie;41?xud;?0;6?u211f97<=:<=l1:?5rsb14>5<5s4;;o7=6;<67a?053tyh?54?:3y>55d=;01689j5639~wf5>2909w0??a;1:?823k3<97p}l3`83>7}:9931?45245`927=z{j9i6=4={<3334>?m78=;|q`7f<72;q6==95389>01?=>;1vn=k:181877>39270:;8;41?xud;l0;6?u211797<=:<==1:?5rsb1e>5<5s4;;87=6;<672?053tyh8=4?:3y>555=;01689;5639~wf262909w0??2;1:?823<3<97p}l4383>2}:98;1?4522ga91==:;oo1?452627901=:>:l18952655900=:><;1885rsb60>5<4s49:o7;7;<474?2334<>>7:<;|q`01<72:q6?=l5599>217=<=16:8=5449~wf222908w0=?a;7;?803:3>?708:4;66?xudu231;91==:>=918952647900=z{j><6=4<{<13751==116:9;5459>201=<<1vn:6:180857>3?3708;6;67?80203>>7p}l4`83>6}:;9?19552624901=:>=21885rsb6a>5<4s49;87;7;<403?233426>=<=16:9o5449~wf2c2908w0=?2;7;?80413>?708;b;66?xudu231391==:>:k1895265a900=z{j>m6=4<{<134?3?34<8n7:;;<47`?223tyh9=4?:2y>6c`==116:>m5459>21c=<<1vn;>:18084am3?3708>7p}l5383>6}::on1955262g901=:><:1885rsb70>5<4s49:h7<<;<12g?44348>o78=;|q`11<7288p1?;m:70893e22=?01;m9:57893e02=?01;m7:57893e>2=?01;mn:57893ee2=?01;ml:56893ec2=?01;mj:57893ea2=?01;j?:57893b62=?01;j=:57893b42=?01;j;:57893b22=?0q~m:5;297~;49m08n63=5`856>;1k<0??6s|c4494?5|5:;j6>l4=37:>34<5?io69=4}ra63?6=;r78=44=839p1>?7:2`897302?801;mi:518yve213:1?v3<1680f>;5=?0=>639d1877>{tk6d<5;?>6;<4=7f2>15n7>53z?050<4j27999492:?5`7<3;2wxo8m50;1x96732:h01?;<:70893b42=90q~m:d;297~;49:08n63=53856>;1l=0??6s|c4g94?5|5:;96>l4=372>34<5?n>69=4}ra6b?6=;r78=<4??:2`8972a2?801;m8:518yve193:1?v3<0g80f>;5639c9877>{tk?81<7=t=22f>6d<5;>o6;<4=7a:>1553z?04a<4j2798n492:?5gd<3;2wxo;:50;1x966d2:h01?:m:70893ee2=90q~m95;297~;49k08n63=4`856>;1kj0??6s|c7494?5|583i6>74=0ca>34<5?i>69:4}ra53?6=;r7:5l4<9:?2ed<1:27=oi4;4:pg3>=839p1<76:2;894g>2?801;mj:568yve113:1?v3>9980=>;6i10=>639cg870>{tk?k1<7=t=0;4>6?<58k<6;<4=7f3>1253z?2=3<4127:m;492:?5`4<3<2wxo;m50;1x94?22:3010q~m9d;297~;61=08563>a5856>;1l:0?86s|c7g94?5|58386>74=0c0>34<5?n?69:4}ra5b?6=;r7:5?4<9:?2e7<1:27=h84;4:pg26=839p1<7>:2;894g62?801;m9:568yve093:1?v3>9180=>;6i90=>639c6870>{tk>81<7=t=0:e>6?<583m6;<4=7a;>1253z?2<`<4127:5h492:?5g<<3<2wxo::50;1x94>c2:301<7k:70893ef2=>0q~m85;297~;60j08563>9b856>;1kk0?86s|c6494?4|5=?<6>74=560>3452z?713<4127?8?492:pg2>=838p19;::2;891262?80q~m89;296~;3==08563;41856>{tk>k1<76?<5=9m6;<4}ra4f?6=:r7?9?4<9:?77`<1:2wxo:m50;0x91362:3019=k:708yve0l3:1>v3;5180=>;3;j0=>6s|c6g94?4|5=9i6;<4=4f:>1052z?77d<1:27>h44;7:pg=6=838p19=6:70890b>2=?0q~m71;296~;3;10=>63:d887<>{tk181<76?<5:lm6;<4}ra;7?6=;r78jk4<9:?70a<4127?<=492:pg=2=839p19>?:2;8912b2:3019>>:708yve?=3:1>v3;4c80=>;3;>0=>6s|c9494?4|5=>j6>74=515>3452z?70<<4127??8492:pg=>=838p19:7:2;891532?80q~m79;296~;3<>08563;32856>{tk1k1<76?<5=996;<4}ra;f?6=:r7?884<9:?774<1:2wxo5m50;0x91232:3019=?:708yve?l3:1;v3=d`86<>;38808563;4g80=>;1<>0?863950870>;1=00?963962871>{tk1o1<7=t=3db>0><5??969:4=747>1553z?1a<<2027=9>4;4:?520<3=2wxo4>50;1x97c?2<201;;;:56893012=?0q~m61;297~;5m>0>463954870>;1>>0?96s|c8094?5|5;o=6864=775>12<5?<369;4}ra:7?6=;r79i84:8:?512<3<27=:44;5:pg<2=839p1?k;:4:8933?2=>01;8n:578yve>=3:1?v3=e286<>;1<10?86395`871>{tk0<1<7=t=3g1>0><5?>269:4=77a>1353z?1a4<2027=8l4;4:?51f<3=2wxo4650;1x97c72<201;:m:568933c2=?0q~m69;297~;5lo0>46394b870>;1=l0?96s|c8c94?5|5;nn6864=76g>12<5??m69;4}ra:f?6=;r79hi4:8:?50`<3<27=:=4;5:pg01;8>:578yve>l3:1?v3=dc86<>;1=90?863963871>{tk0o1<7=t=3da>75<5;lj6?=4=34e>34513y>63c=>;16:o:5449>2g3=<<16:o85449>2g1=<<16:o65449>2g?=<<16:oo5449>2gd=<=16:om5449>2gb=<<16:ok5449>2g`=<<16:n>5449>2f7=<<16:n<5449>2f5=<<16:n:5449~wfg72908w0u22g:97g=::?i1:?526ca906=z{jk96=4<{<0e3?5e348=n78=;<4a`?243tyhm>4?:2y>6c0=;k16>;o5639>2gc=<:1vno;:18084a=39i70<99;41?80en3>87p}la483>6}::o>1?o5227:927=:>j:18>5rsbc5>5<4s48m?7=m;<053?0534k<53c9>630=>;16:n<5429~wfg?2908w0u22g297g=::?>1:?526b6906=z{jkj6=4<{<0fb?5e348=?78=;<4a1?243tyhmo4?:2y>6`c=;k16>;<5639>2g0=<:1vnol:18084bl39i70<91;41?80e?3>87p}lae83>6}::li1?o52272927=:>k218>5rsbcf>5<4s48nn7=m;<06b?0534ho53c9>60c=>;16:oo5429~wfd72908w0u21``97<=:9kh1:?526c6901=z{jh96=4<{<3be?5>34;im78=;<4ag?233tyhn>4?:2y>5d?=;016=o75639>2gb=<=1vnl;:18087f039270?m8;41?80em3>?7p}lb483>6}:9h=1?4521c5927=:>kl1895rsb`5>5<4s4;j:7=6;<3a2?05345g3=>;16:n?5459~wfd?2908w0?n4;1:?87e<3<9708l2;67?xudj00;6>u21`197<=:9k91:?526b1901=z{jhj6=4<{<3b6?5>34;i>78=;<4`0?233tyhno4?:2y>5d7=;016=o?5639>2g3=<=1vnll:18087f839270?m0;41?80e>3>?7p}lbe83>6}:90l1?4521`d927=:>k=1895rsb`f>5<4s4;2i7=6;<3ba?05345db=>;16:o75459~wfe72908w0?6c;1:?87fk3<9708ma;67?xudk80;6?u245197<=:<;l1:?5rsba1>5<5s4>?>7=6;<61a?053tyho>4?:3y>017=;0168?j5639~wfe32909w0:;0;1:?825k3<97p}lc483>7}:<:l1?45243`927=z{ji=6=4={<60a?5>34>9m78=;|q`g2<72;q68>j5389>07?=>;1vnm7:181824k39270:=8;41?xudk00;6?u242`97<=:<;=1:?5rsbab>5<5s4>8m7=6;<612?053tyhoo4?:3y>06?=;0168?;5639~wfed2909w0:<8;1:?825<3<97p}lce83>7}:<;91:?525e7903=z{jin6=4={<616?0534?o97:8;|q`gc<72;q68??5639>1a3=<<1vnj?:18182583<970;k5;6;?xudl80;6?u242697<=:<981:?5rsbf1>5<4s4>;>7=6;<601?5>34>;?78=;|q``6<72:q68==5389>060=;0168=:5639~wfb32909w0:<3;1:?826n3<97p}ld483>7}:<:81?45240g927=z{jn=6=4={<605?5>34>:h78=;|q``2<72;q68>>5389>04e=>;1vnj7:18484e03?370:?4;1:?824?392708:9;67?801;3>?7089b;66?800=3>>7p}ld883>6}::m219552676901=:>><18>5rsbfb>5<4s48h;7;7;<451?2334<<;7::;|q``g<72:q6>n85599>230=<=16::65449~wfbd2908w0?70889;66?xudlm0;6>u22b691==:>?21895266c900=z{jnn6=4<{<0`7?3?34<=57:;;<44f?223tyhhk4?:2y>6f4==116:;o5459>22e=<<1vnk?:18084d93?3708:a;67?801k3>>7p}le083>6}::j:1955264`901=:>?n1885rsbg1>5<4s48ij7;7;<46g?2334<=i7::;|q`a6<72:q6>ok5599>20b=<=16:;h5449~wfc32908w0?70880;66?xudm<0;6>u22ca91==:>6gg==116:;?5459>225=<<1vnk7:18084e13?370892;67?800<3>>7p}le883>6}::m31>>522e:966=::181:?5rsbgb>5<6:r794<492:?5e6<3=27=m94;5:?5e0<3=27=m;4;5:?5e2<3=27=m54;5:?5e<<3=27=ml4;4:?5eg<3=27=mn4;5:?5ea<3=27=mh4;5:?5ec<3=27=n=4;5:?5f4<3=27=n?4;5:?5f6<3=2wxohl50;1x97b>2:h01?6?:70893g42=90q~mjc;297~;5l?08n63=7g856>;1ik0??6s|cdf94?5|5;n>6>l4=35f>34<5?kh69=4}rafa?6=;r79h94;5?k0=>639ag877>{tko;1<7=t=3f2>6d<5;=j6;<4=7`3>157>53z?1`5<4j279;4492:?5f4<3;2wxok=50;1x97ea2:h01?97:70893d52=90q~mi4;297~;5kl08n63=76856>;1j:0??6s|cg794?5|5;io6>l4=355>34<5?k?69=4}rae2?6=;r79on4;5?:0=>639a6877>{tko31<7=t=3a:>6d<5;=96;<4=7c;>1553z?1g=<4j279;<492:?5e<<3;2wxokl50;1x97b02:h01?9?:70893gf2=90q~mic;297~;6jk08563>cc856>;1i:0?86s|cgf94?5|58hj6>74=0ab>34<5?ki69:4}raea?6=;r7:n44<9:?2g<<1:27=mn4;4:pgc`=839p1b680=>;6k>0=>639ad870>{tl9;1<7=t=0`5>6?<58i=6;<4=7ce>127>53z?2f0<4127:o8492:?5f5<3<2wxh==50;1x94d32:3010q~j?4;297~;6j:08563>c2856>;1j;0?86s|d1794?5|58h96>74=0a1>34<5?h869:4}rf32?6=;r7:n<4<9:?2g4<1:27=m94;4:p`51=839p1ag80=>;6jo0=>639a7870>{tl931<7=t=0cf>6?<58hn6;<4=7c4>1253z?2ea<4127:ni492:?5e=<3<2wxh=l50;1x94gd2:3012=>0q~j?c;296~;3:o08563;1c856>{tl9n1<76?<5=;j6;<4}rf3a?6=:r7?>i4<9:?75<<1:2wxh=h50;0x914d2:3019?7:708yvb683:1>v3;2c80=>;39>0=>6s|d0394?4|5=8j6>74=535>347>52z?76<<4127?=8492:p`45=838p19<7:2;891732?80q~j>4;296~;3:>08563;12856>{tl8?1<76?<5=;96;<4}rf22?6=:r7?>84<9:?754<1:2wxh<950;0x91432:3019??:708yvb603:1>v3;2280=>;38o0=>6s|d0;94?4|5=896>74=52f>3452z?764<4127?c;296~;38k0=>63:d7872>{tl8n1<734<5v3;1b80=>;38<0=>6s|d3394?5|5=:>6>74=53g>6?<5=:=6;<4}rf16?6=;r7?<;4<9:?75`<4127?<:492:p`75=83=p1?79:4:891602:3019?i:2;8930e2=>01;9::56893>02=>01;9k:568yvb5<3:1?v3=b786<>;1??0?863989877>{tl;?1<7=t=3c6>0><5?=<69:4=7::>1253z?1e1<2027=;54;4:?5e2=>0q~j=8;297~;5i;0>46397`870>;10j0?86s|d3;94?5|5;k:6864=75a>12<5?2o69:4}rf1e?6=;r79m=4:8:?53f<3<27=4h4;4:p`7d=839p1?7i:4:8930d2=>01;9j:568yvb5k3:1?v3=9d86<>;1>m0?86397g870>{tl;n1<7=t=3;g>0><5?1253z?1=f<2027=:k4;4:?5<4<3<2wxh?h50;1x97?e2<201;9?:56893>52=>0q~j<0;297~;51h0>463970870>;10:0?86s|d2394?5|5;326864=751>12<5?2?69:4}rf06?6=;r79554:8:?536<3<27=484;4:p`65=839p1?78:4:893132=>01;69:568yvb4<3:1?v3=b6817>;5j?09?63=94856>{tl:?1<7?={<0:0?0534<2>7::;<4:7?2234<287::;<4:1?2234<2:7::;<4:3?2234<247::;<4:=?2334<2m7::;<4:f?2234<2o7::;<4:`?2234<2i7::;<4:b?22347::;|qg73<72:q6>o953c9>6<5=>;16:4<5429~wa502908w0:3<97086a;60?xuc;10;6>u22c197g=::0;1:?5268`906=z{m926=4<{<0a6?5e3482<78=;<4:g?243tyo?l4?:2y>6g7=;k16>5h5639>2m3>87p}k3b83>6}::hl1?o5229f927=:>0l18>5rse1g>5<4s48ji7=m;<0;g?0534lj53c9>6=d=>;16:l?5429~wa5a2908w0u22``97g=::131:?52681906=z{m>:6=4<{<0be?5e3483478=;<4:0?243tyo8?4?:2y>6d?=;k16>595639>2<3=<:1vi:<:18084f039i70<76;41?80>>3>87p}k4583>6}::h=1?o52297927=:>0=18>5rse66>5<4s48j:7=m;<0;0?0534<247:<;|qg03<72:q6>o;53c9>6=5=>;16:475429~wa202908w0?lb;1:?87cj3<970862;67?xuc<10;6>u21bc97<=:9mk1:?5268c901=z{m>26=4<{<3`=?5>34;o578=;<4:f?233tyo8l4?:2y>5f>=;016=i65639>2l3>?7p}k4b83>6}:9j<1?4521e4927=:>0o1895rse6g>5<4s4;h97=6;<3g1?0534<2j7:;;|qg0`<72:q6=n:5389>5a2=>;16:l>5459~wa2a2908w0?l3;1:?87c;3<9708n1;67?xuc=90;6>u21b097<=:9m81:?526`0901=z{m?:6=4<{<3`5?5>34;o=78=;<4:7?233tyo9?4?:2y>5f6=;016=i>5639>2<2=<=1vi;<:18087en39270?lf;41?80>=3>?7p}k5583>6}:9ko1?4521bg927=:>0<1895rse76>5<4s4;ih7=6;<3``?0534<2;7:;;|qg13<72:q6=om5389>5fe=>;16:465459~wa302909w0:>b;1:?874j3<97p}k5983>7}:<8k1?45212c927=z{m?26=4={<62=?5>34;8578=;|qg1d<72;q68<65389>56>=>;1vi;m:181826?39270?<7;41?xuc=j0;6?u240497<=:9:<1:?5rse7g>5<5s4>:97=6;<301?053tyo9h4?:3y>042=;016=>:5639~wa3a2909w0:>3;1:?874;3<97p}k6183>7}:<881?452120927=z{m<:6=4={<625?5>34;8=78=;|qg27<72;q68<>5389>566=>;1vi8<:181827n39270?=f;41?xuc>=0;6?u241g97<=:9;o1:?5rse46>5<5s4>;h7=6;<31`?053tyo:;4?:3y>05e=;016=?m5639~wa002909w0:?b;1:?875j3<97p}k6983>7}:<9k1?45213c927=z{m<26=4={<63=?5>34;9578=;|qg2d<72;q68=65389>57>=>;1vi8m:181875?3<970;ka;65?xuc>j0;6?u2134927=:=mk18:5rse4g>5<5s4;9978=;<7ge?223tyo:h4?:3y>572=>;169io5499~wa0a290870;k6;60?83c?3>870;k8;60?83c13>870;ka;60?xuc?90;6:u2130927=:=m?189525e4901=:=m=189525e:901=:=m3189525ec901=z{m=:6=4=30y>547=:816=<>5209>55`=:816==k5209>55b=:816==m5209>55d=:816==o5209>55?=:816==65209>551=:816==85209>553=:816==:5209>555=:816==<5209>51d=:816=9o5209>51?=:816=965209>511=:816=985209>513=:816=9:5209>515=:816=9<5209>517=:816=9>5209>56`=:816=>k5209>56b=:816=>m5209>50d=:816=8o5209>50?=:816=865209>501=:816=885209>503=:816=8:5209>505=:816=8<5209>507=:816=8>5209>51`=:816=9k5209>51b=:816=9m5209>53d=:816=;o5209>53?=:816=;65209>531=:816=;85209>533=:816=;:5209>535=:816=;<5209>537=:816=;>5209>50`=:816=8k5209>50b=:816=8m5209>52d=:816=:o5209>52?=:816=:65209>521=:816=:85209>523=:816=::5209>525=:816=:<5209>527=:816=:>5209>53`=:816=;k5209>53b=:816=;m5209>5=d=:816=5o5209>5=?=:816=565209>5=1=:816=585209>5=3=:816=5:5209>5=5=:816=5<5209>5=7=:816=5>5209>52`=:816=:k5209>52b=:816=:m5209>555<1=:816=485209>5<3=:816=4:5209>5<5=:816=4<5209>5<7=:816=4>5209>5=`=:816=5k5209>5=b=:816=5m5209>5dd=:816=lo5209>5d?=:816=l65209>5d1=:816=l85209>5d3=:816=l:5209>5d5=:816=l<5209>5d7=:816=l>5209>5<`=:816=4k5209>55gd=:816=oo5209>5g?=:816=o65209>5g1=:816=o85209>5g3=:816=o:5209>5g5=:816=o<5209>5g7=:816=o>5209>5d`=:816=lk5209>5db=:816=lm5209>5fd=:816=no5209>5f?=:816=n65209>5f1=:816=n85209>5f3=:816=n:5209>5f5=:816=n<5209>5f7=:816=n>5209>5g`=:816=ok5209>5gb=:816=om5209>5ad=:816=io5209>5a?=:816=i65209>5a1=:816=i85209>5a3=:816=i:5209>5a5=:816=i<5209>5a7=:816=i>5209>5f`=:816=nk5209>5fb=:816=nm5209>04`=:816804b=:8168061=:8168>85209>063=:8168>:5209>065=:8168><5209>067=:8168>>5209>01`=:81689k5209>01b=:81689m5209>01d=:81689o5209>01?=:8168965209>011=:8168985209>013=:81689:5209>03`=:8168;k5209>03b=:8168;m5209>03d=:8168;o5209>03?=:8168;65209>031=:8168;85209>033=:8168;:5209>035=:8168;<5209>037=:8168;>5209>00`=:81688k5209>00b=:81688m5209>0=1=:8168585209>0=3=:81685:5209>0=5=:81685<5209>0=7=:81685>5209>02`=:8168:k5209>02b=:8168:m5209>02d=:8168:o5209>02?=:8168:65209>021=:8168:85209>023=:8168::5209>025=:8168:<5209>027=:8168:>5209>0d5=:8168l<5209>0d7=:8168l>5209>0<`=:81684k5209>0000<1=:8168485209>0<3=:81684:5209>0<5=:81684<5209>0<7=:81684>5209>0=`=:81685k5209>0=b=:81685m5209>0=d=:81685o5209>0=?=:8168565209>0f5=:8168n<5209>0f7=:8168n>5209>0g`=:8168ok5209>0gb=:8168om5209>0gd=:8168oo5209>0g?=:8168o65209>0g1=:8168o85209>0g3=:8168o:5209>0g5=:8168o<5209>0g7=:8168o>5209>0d`=:8168lk5209>0db=:8168lm5209>0dd=:8168lo5209>0d?=:8168l65209>0d1=:8168l85209>0d3=:8168l:5209>0`1=:8168h85209>0`3=:8168h:5209>0`5=:8168h<5209>0`7=:8168h>5209>0a`=:8168ik5209>0ab=:8168im5209>0ad=:8168io5209>0a?=:8168i65209>0a1=:8168i85209>0a3=:8168i:5209>0a5=:8168i<5209>0a7=:8168i>5209>0f`=:8168nk5209>0fb=:8168nm5209>0fd=:8168no5209>0f?=:8168n65209>0f1=:8168n85209>0f3=:8168n:5209>15`=:8169=k5209>15b=:8169=m5209>15d=:8169=o5209>15?=:8169=65209>151=:8169=85209>153=:8169=:5209>155=:8169=<5209>157=:8169=>5209>0c`=:8168kk5209>0cb=:8168km5209>0cd=:8168ko5209>0c?=:8168k65209>0c1=:8168k85209>0c3=:8168k:5209>0c5=:8168k<5209>0c7=:8168k>5209>0``=:8168hk5209>0`b=:8168hm5209>0`d=:8168ho5209>0`?=:8168h65209>bc<1:27>ho4;3:?6`f<3;27>hi4;3:?6``<3;27>hk4;3:?6a5<3;27>i<4;3:?6a7<3;27>i>4;3:?6a1<3;27>i84;3:?6a2<3;27>i54;3:?6a<<3;27>il4;3:?6ag<3;27>in4;3:?6aa<3;27>ih4;3:?6ac<3;27>j=4;3:?6b4<3;27>j?4;3:?6b6<3;27>j94;3:?6b0<3;27>j;4;3:?6b2<3;27>j44;3:?6bd<3;27>jo4;3:?6bf<3;27>ji4;3:?6b`<3;27>jk4;3:?545<3;27=<<4;3:?547<3;27=<>4;3:?541<3;27=<84;3:?543<3;27=<:4;3:?54=<3;27=<44;3:?54g<3;27=<4;3:?567<3;27=>>4;3:?561<3;27=>84;3:?563<3;27=>:4;3:?56=<3;27=>44;3:?56d<3;27=>o4;3:?56f<3;27=>i4;3:?56c<3;27=?=4;3:?574<3;27=??4;3:?576<3;27=?94;3:?570<3;27=?;4;3:?572<3;27=?54;3:?57<<3;27=?l4;3:?57g<3;27=?n4;3:?57a<3;27=?h4;3:?57c<3;27=8<4;3:?507<3;27=8>4;3:?501<3;27=884;3:?503<3;27=8:4;3:?50=<3;27=844;3:?50d<3;27=8o4;3:?50f<3;27=8i4;3:?50`<3;27=8k4;3:?515<3;27=9<4;3:?516<3;27=994;3:?510<3;27=9;4;3:?512<3;27=954;3:?51<<3;27=9l4;3:?51g<3;27=9n4;3:?51a<3;27=9h4;3:?51c<3;27=:=4;3:?524<3;27=:?4;3:?526<3;27=:84;3:?523<3;27=::4;3:?52=<3;27=:44;3:?52d<3;27=:o4;3:?52f<3;27=:i4;3:?52`<3;27=:k4;3:?535<3;27=;<4;3:?537<3;27=;>4;3:?531<3;27=;84;3:?532<3;27=;54;3:?53<<3;27=;l4;3:?53g<3;27=;n4;3:?53`<3;27=;k4;3:?5<5<3;27=4<4;3:?5<7<3;27=4>4;3:?5<1<3;27=484;3:?5<3<3;27=4:4;3:?5<<<3;27=4l4;3:?5j54;5:?54d<3=27==n4;5:?56`<3=27=8=4;5:?517<3=27=:94;5:?533<3=27=;i4;3:?5<=<3<2wxh:<50;0x94be2:301<<>:708yvb0;3:1>v3>d`80=>;6:90=>6s|d6694?4|58n26>74=03e>3452z?2`=<4127:=h492:p`20=838p11b856>{tl>21<76?<58;i6;<4}rf4=?6=:r7:h94<9:?25d<1:2wxh:o50;0x94b42:301v3>d380=>;6910=>6s|d6a94?4|58n:6>74=034>3452z?2`5<4127:=;492:p`2c=838p115856>{tl1:1<76?<58;86;<4}rf;5?6=:r7:on4<9:?257<1:2wxh5<50;1x97g12?>01?78:5`893??2<20q~j73;297~;5i>0=863=9987f>;11>0>46s|d9694?5|5;k36;:4=3;:>1d<5?3=6864}rf;1?6=;r79m4494:?1=d<3j27=584:8:p`=0=839p1?on:76897?e2=h01;7;:4:8yvb??3:1?v3=ac850>;51j0?n6399286<>{tl121<7=t=3c`>32<5;3o69l4=7c1>0>53z?1ea<1<2795h4;b:?5e4<202wxh5o50;1x97gb2?>01?7i:5`893g72<20q~j7b;297~;5io0=863=a187f>;11o0>46s|d9a94?5|5;h;6;:4=3c2>1d<5?3n6864}rf;`?6=;r79n<494:?1e7<3j27=5i4:8:p`=c=839p1?l=:76897g42=h01;7l:4:8yvb?n3:1?v3=b2850>;5i=0?n6399c86<>{tl0:1<7=t=3`7>32<5;k>69l4=7;b>0>53z?1f0<1<2795;4;b:?5=<<202wxh4<50;1x97d02?>01?l9:5`893?52<20q~j63;297~;5j<09?63=a786<>;51?09?6s|d8694?5|5;k<6864=3c5>75<5;3<6?=4}rf:1?6=;r79m54:8:?1e2<5;279554=3:p`<0=839p1?o6:4:897g?2;901?76:318yvb>?3:1?v3=a`86<>;5i009?63=9`817>{tl021<7=t=3ca>0><5;kj6?=4=3;a>7553z?1ef<20279mo4=3:?1=f<5;2wxh4o50;1x97gc2<201?ol:31897?c2;90q~j6b;297~;5il0>463=ae817>;51l09?6s|d8a94?5|5;km6864=3cf>75<5;3m6?=4}rf:`?6=;r79n=4:8:?1ec<5;279m=4=3:p`:4:897d72;901?o>:318yvb>n3:1?v3=b386<>;5j809?63=a3817>{tlh:1<7=t=3`0>0><5;h96?=4=3c0>7553z?1f1<20279n>4=3:?1e1<5;2wxhl<50;1x97d02<201?l;:31897g22;90q~jn3;297~;5k10=863=b887f>;1i00>46s|d`694?5|5;i26;:4=3`b>1d<5?k36864}rfb1?6=;r79ol494:?1fg<3j27=m:4:8:p`d0=839p1?mm:76897dd2=h01;o9:4:8yvbf?3:1?v3=cb850>;5jm0?n639a486<>{tlh21<7=t=3ag>32<5;hn69l4=7c7>0>53z?1g`<1<279nk4;b:?5f6<202wxhlo50;1x97ea2?>01?m?:5`893d52<20q~jnb;297~;5l90=863=c087f>;1j80>46s|d`a94?5|5;n:6;:4=3a1>1d<5?h;6864}rfb`?6=;r79h?494:?1g6<3j27=mk4:8:p`dc=839p1?j<:76897e32=h01;oj:4:8yvbfn3:1?v3=d5850>;5k<0?n639ae86<>{tlk:1<7=t=3f6>32<5;i=69l4=7c`>0>53z?1`3<1<279o:4;b:?5eg<202wxho<50;1x97b02?>01?l7:5`893gf2<20q~jm3;297~;5l00=863=d987f>;1i:0>46s|dc694?5|5;n<6?=4=3a;>0><5;h36?=4}rfa1?6=;r79o44:8:?1g=<5;279n44=3:p`g0=839p1?mn:4:897e>2;901?ln:318yvbe?3:1?v3=cc86<>;5kh09?63=bc817>{tlk21<7=t=3a`>0><5;ii6?=4=3``>7553z?1ga<20279on4=3:?1fa<5;2wxhoo50;1x97eb2<201?mk:31897db2;90q~jmb;297~;5ko0>463=cd817>;5jo09?6s|dca94?5|5;n;6864=3ae>75<5;i;6?=4}rfa`?6=;r79h<4:8:?1`5<5;279o<4=3:p`gc=839p1?j=:4:897b62;901?m=:318yvben3:1?v3=d286<>;5l;09?63=c2817>{tlj:1<7=t=3f7>0><5;n86?=4=3a7>7553z?1`0<20279h94=3:?1g0<5;2wxhn<50;1x97b12<201?j::31897e12;90q~jl3;297~;5l00>463=d7817>;5k>09?6s|db694?5|5;oj6;:4=3fa>1d<5?hj6864}rf`1?6=;r79io494:?1`f<3j27=n44:8:p`f0=839p1?kl:76897bc2=h01;l7:4:8yvbd?3:1?v3=ee850>;5ll0?n639b686<>{tlj21<7=t=3gf>32<5;nm69l4=7`5>0>53z?1ac<1<279i=4;b:?5f0<202wxhno50;1x97`72?>01?k>:5`893e32<20q~jlb;297~;5n80=863=e387f>;1k:0>46s|dba94?5|5;l96;:4=3g0>1d<5?i96864}rf``?6=;r79j>494:?1a1<3j27=o<4:8:p`fc=839p1?h;:76897c22=h01;m?:4:8yvbdn3:1?v3=f4850>;5m?0?n639bg86<>{tlm:1<7=t=3d5>32<5;o<69l4=7`f>0>53z?1b2<1<279i54;b:?5fa<202wxhi<50;1x97`?2?>01?k6:5`893dd2<20q~jk3;297~;5n00=863=d`87f>;1jk0>46s|de694?5|5;li6;:4=3db>1d<5?h?6864}rfg1?6=;r79j44=3:?1ad<20279hl4=3:p`a0=839p1?km:4:897cf2;901?jm:318yvbc?3:1?v3=eb86<>;5mk09?63=db817>{tlm21<7=t=3gg>0><5;oh6?=4=3fg>7553z?1a`<20279ii4=3:?1``<5;2wxhio50;1x97ca2<201?kj:31897ba2;90q~jkb;297~;5n90>463=eg817>;5m909?6s|dea94?5|5;l:6864=3d3>75<5;o:6?=4}rfg`?6=;r79j?4:8:?1b4<5;279i?4=3:p`ac=839p1?h<:4:897`52;901?k<:318yvbcn3:1?v3=f586<>;5n:09?63=e5817>{tll:1<7=t=3d6>0><5;l?6?=4=3g6>7553z?1b3<20279j84=3:?1a3<5;2wxhh<50;1x97`02<201?h9:31897c02;90q~jj3;297~;5n10>463=f6817>;5m109?6s|dd694?5|5;li6864=3d;>75<5;o26?=4}rff1?6=;r78>k:76897`b2=h01;mn:4:8yvbb?3:1?v3<0d850>;5no0?n639c886<>{tll21<7=t=22e>32<5::;69l4=7a;>0>53z?055<1<278<<4;b:?5g2<202wxhho50;1x96762?>01>>=:5`893e12<20q~jjb;297~;49;0=863<0287f>;1l<0>46s|dda94?5|5:;86;:4=227>1d<5?n?6864}rff`?6=;r78=9494:?040<3j27=h>4:8:p``c=839p1>?::76896612=h01;j=:4:8yvbbn3:1?v3<17850>;48>0?n639d086<>{tlo:1<7=t=234>32<5::369l4=7f3>0>53z?05=<1<278<44;b:?5gc<202wxhk<50;1x967>2?>01>>n:5`893eb2<20q~ji3;297~;49h0=863<0c87f>;1km0>46s|dg694?5|5:;i6;:4=3d`>1d<5?ih6864}rfe1?6=;r78=i494:?05f<3j27=o84:8:p`c0=839p1>?m:318966d2<201?hl:318yvba?3:1?v3<0e86<>;48j09?63=fe817>{tlo21<7=t=22f>0><5::o6?=4=3df>7553z?04c<20278>i:31896672;90q~jib;297~;4980>463<11817>;48809?6s|dga94?5|5:;96864=232>75<5::96?=4}rfe`?6=;r78=>4:8:?057<5;278<>4=3:p`cc=839p1>?;:4:896742;901>>;:318yvban3:1?v3<1486<>;49=09?63<04817>{tm9:1<7=t=235>0><5:;>6?=4=225>7553z?052<20278=;4=3:?042<5;2wxi=<50;1x967?2<201>?8:318966?2;90q~k?3;297~;4900>463<19817>;48009?6s|e1694?5|5:;j6864=23:>75<5::j6?=4}rg31?6=;r78=i4:8:?05d<5;278;4:90?n639dc86<>{tm921<7=t=213>32<5:8:69l4=7fb>0>53z?074<1<278>?4;b:?5`<<202wxi=o50;1x96552?>01><<:5`893b?2<20q~k?b;297~;4;:0=863<2587f>;1l>0>46s|e1a94?5|5:9?6;:4=206>1d<5?o=6864}rg3`?6=;r78?8494:?063<3j27=i84:8:pa5c=839p1>=9:76896402=h01;k;:4:8yvc7n3:1?v3<36850>;4:10?n639e286<>{tm8:1<7=t=21;>32<5:8269l4=7g1>0>53z?07<<1<278>l4;b:?5a4<202wxi<<50;1x965f2?>01>3;297~;4;k0=863<2b87f>;1lo0>46s|e0694?5|5:9h6;:4=20g>1d<5?nn6864}rg21?6=;r78?i494:?05`<3j27=hi4:8:pa40=839p1>=i:768965b2=h01;j9:4:8yvc6?3:1?v3<3e817>;4:l0>463<1d817>{tm821<7=t=20e>0><5:8n6?=4=23e>7553z?075<20278>k4=3:?065<5;2wxi=?:31896462;90q~k>b;297~;4;;0>463<30817>;4:;09?6s|e0a94?5|5:986864=211>75<5:886?=4}rg2`?6=;r78?94:8:?076<5;278>94=3:pa4c=839p1>=::4:896532;901><::318yvc6n3:1?v3<3786<>;4;<09?63<27817>{tm;:1<7=t=214>0><5:9=6?=4=204>7553z?07=<20278?:4=3:?06=<5;2wxi?<50;1x965>2<201>=7:318964>2;90q~k=3;297~;4;h0>463<38817>;4:h09?6s|e3694?5|5:9i6864=21b>75<5:8i6?=4}rg11?6=;r78?n4:8:?07g<5;278>n4=3:pa70=839p1>=i:4:8965d2;901>;4<80?n639ee86<>{tm;21<7=t=272>32<5:>969l4=7g`>0>53z?017<1<2788>4;b:?5ag<202wxi?o50;1x96342?>01>:;:5`893cf2<20q~k=b;297~;4==0=863<4487f>;1m00>46s|e3a94?5|5:?>6;:4=265>1d<5?o36864}rg1`?6=;r789;494:?002<3j27=j:4:8:pa7c=839p1>;8:768962?2=h01;h9:4:8yvc5n3:1?v3<59850>;4<00?n639f486<>{tm::1<7=t=27:>32<5:>j69l4=7d7>0>53z?01d<1<2788o4;b:?5b6<202wxi><50;1x963e2?>01>:l:5`893`52<20q~k<3;297~;4=j0=863<4e87f>;1n80>46s|e2694?5|5:?o6;:4=26f>1d<5?l;6864}rg01?6=;r789h494:?00c<3j27=ik4:8:pa60=839p1>;i:76896272=h01;kj:4:8yvc4?3:1?v3<60850>;4>90?n639e686<>{tm:21<7=t=27e>75<5:?;6864=263>7553z?014<202789=4=3:?004<5;2wxi>o50;1x96352<201>;>:31896252;90q~k463<53817>;4<:09?6s|e2a94?5|5:??6864=270>75<5:>?6?=4}rg0`?6=;r78984:8:?011<5;278884=3:pa6c=839p1>;9:4:896322;901>:9:318yvc4n3:1?v3<5686<>;4=?09?63<46817>{tm=:1<7=t=27;>0><5:?<6?=4=26;>7553z?01<<20278954=3:?00<<5;2wxi9<50;1x963f2<201>;6:318962f2;90q~k;3;297~;4=k0>463<5`817>;475<5:>h6?=4}rg71?6=;r789i4:8:?01f<5;2788i4=3:pa10=839p1>;j:4:8963c2;901>:j:318yvc3?3:1?v3<6086<>;4=l09?63<4g817>{tm=21<7=t=251>32<5:<869l4=7df>0>53z?036<1<278:94;b:?5ba<202wxi9o50;1x96132?>01>8::5`893`d2<20q~k;b;297~;4?<0=863<6787f>;1nk0>46s|e5a94?5|5:==6;:4=244>1d<5?lj6864}rg7`?6=;r78;:494:?02=<3j27=j44:8:pa1c=839p1>97:768960>2=h01:>7:4:8yvc3n3:1?v3<78850>;4>h0?n6380686<>{tm<:1<7=t=25b>32<5:0>=7>53z?03g<1<278:n4;b:?440<202wxi8<50;1x961d2?>01>8k:5`892632<20q~k:3;297~;4?m0=863<6d87f>;08:0>46s|e4694?5|5:=n6;:4=24e>1d<5>:96864}rg61?6=;r78;k494:?035<3j27<<<4:8:pa00=839p1>6?:76896162=h01:>?:4:8yvc2?3:1?v3<80850>;4>;0?n639fg86<>{tm<21<7=t=2:0>32<5:2969l4=7d;>0>57>53z?0<4<5;278;?4:8:?027<5;2wxi8o50;1x96142<201>9=:31896042;90q~k:b;297~;4?=0>463<72817>;4>=09?6s|e4a94?5|5:=>6864=257>75<5:<>6?=4}rg6`?6=;r78;;4:8:?030<5;278:;4=3:pa0c=839p1>98:4:896112;901>88:318yvc2n3:1?v3<7986<>;4?>09?63<69817>{tm?:1<7=t=25:>0><5:=36?=4=24:>7553z?03d<20278;44=3:?02d<5;2wxi;<50;1x961e2<201>9n:318960e2;90q~k93;297~;4?j0>463<7c817>;4>j09?6s|e7694?5|5:=o6864=25`>75<5:9i:4:8961b2;901>8i:318yvc1?3:1?v3<8186<>;4?o09?63<71817>{tm?21<7=t=2:0>0><5:2;6?=4=252>7553z?0=1<1<278484;b:?44c<202wxi;o50;1x96?22?>01>69:5`8926b2<20q~k9b;297~;41?0=863<8687f>;08m0>46s|e7a94?5|5:3<6;:4=2:;>1d<5>:h6864}rg5`?6=;r7855494:?0<<<3j27<76:76896>f2=h01:>n:4:8yvc1n3:1?v3<9`850>;40k0?n6381886<>{tm>:1<7=t=2;a>32<5:2h69l4=63;>0>53z?0=f<1<2784i4;b:?452<202wxi:<50;1x96?c2?>01>6j:5`892712<20q~k83;297~;41l0=863<8g87f>;09<0>46s|e6694?5|5:3m6;:4=2;3>1d<5>;?6864}rg41?6=;r78m=494:?0=4<3j27<=>4:8:pa20=839p1>o>:76896?52=h01:?=:4:8yvc0?3:1?v3;41:0?n6381086<>{tm>21<7=t=2c0>32<5:2?69l4=633>0>53z?0e0<1<278m94;b:?44<<202wxi:o50;1x96g42;901>7;:4:896>32;90q~k8b;297~;41<0>463<95817>;40<09?6s|e6a94?5|5:3=6864=2;6>75<5:2=6?=4}rg4`?6=;r785:4:8:?0=3<5;2784:4=3:pa2c=839p1>77:4:896?02;901>67:318yvc0n3:1?v3<9886<>;41109?63<88817>{tm1:1<7=t=2;b>0><5:326?=4=2:b>7553z?0=g<202785l4=3:?07m:31896>d2;90q~k73;297~;41m0>463<9b817>;40m09?6s|e9694?5|5:3n6864=2;g>75<5:2n6?=4}rg;1?6=;r785k4:8:?0=`<5;2784k4=3:pa=0=839p1>o?:4:896?a2;901>7?:318yvc??3:1?v3;4i909?63<90817>{tm121<7=t=2c1>0><5:k:6?=4=2;1>7553z?0e0<20278m?4=3:?0=6<5;2wxi5o50;1x96d12?>01>o8:5`892472<20q~k7b;297~;4j>0=863;09o0>46s|e9a94?5|5:h36;:4=2c:>1d<5>;n6864}rg;`?6=;r78n4494:?0ed<3j27<=i4:8:pa=c=839p1>ln:76896ge2=h01:?l:4:8yvc?n3:1?v3;4ij0?n6381c86<>{tm0:1<7=t=2``>32<5:ko69l4=60b>0>53z?0fa<1<278mh4;b:?46<<202wxi4<50;1x96db2?>01>oi:5`8924?2<20q~k63;297~;4jo0=863;0:>0>46s|e8694?5|5:i;6;:4=2`2>1d<5>8=6864}rg:1?6=;r78o<494:?0f7<3j27<>84:8:pa<0=839p1>m=:76896d42=h01:<;:4:8yvc>?3:1?v3;4j=0?n6382286<>{tm021<7=t=2a7>32<5:h>69l4=601>0>53z?0g0<1<278m;4;b:?464<202wxi4o50;1x96e02?>01>m9:5`8927f2<20q~k6b;297~;4k<09?63;4i?09?6s|e8a94?5|5:h<6864=2`5>75<5:k<6?=4}rg:`?6=;r78n54:8:?0f2<5;278m54=3:pal6:4:896d?2;901>o6:318yvc>n3:1?v3;4j009?63{tmh:1<7=t=2`a>0><5:hj6?=4=2ca>7553z?0ff<20278no4=3:?0ef<5;2wxil<50;1x96dc2<201>ll:31896gc2;90q~kn3;297~;4jl0>463;4il09?6s|e`694?5|5:hm6864=2`f>75<5:km6?=4}rgb1?6=;r78o=4:8:?0fc<5;278n=4=3:pad0=839p1>m>:4:896e72;901>l>:318yvcf?3:1?v3;4k809?63{tmh21<7=t=2a0>0><5:i96?=4=2`0>7553z?0g1<20278o>4=3:?0f1<5;2wxilo50;1x96e02<201>m;:31896d22;90q~knb;297~;4l10=863;0;80>46s|e`a94?5|5:n26;:4=2ab>1d<5>9;6864}rgb`?6=;r78hl494:?0gg<3j27<>k4:8:padc=839p1>jm:76896ed2=h01:;4km0?n6382e86<>{tmk:1<7=t=2fg>32<5:in69l4=60`>0>53z?0``<1<278ok4;b:?47g<202wxio<50;1x96ba2?>01>j?:5`8925f2<20q~km3;297~;4m90=863;0;00>46s|ec694?5|5:o:6;:4=2f1>1d<5>936864}rga1?6=;r78i?494:?0`6<3j27k<:76896b32=h01:=9:4:8yvce?3:1?v3;4l<0?n6383486<>{tmk21<7=t=2g6>32<5:n=69l4=617>0>53z?0a3<1<278h:4;b:?476<202wxioo50;1x96c02?>01>m7:5`892552<20q~kmb;297~;4m00=863;0:k0>46s|eca94?5|5:o<6?=4=2f;>0><5:i36?=4}rga`?6=;r78h44:8:?0`=<5;278o44=3:pagc=839p1>jn:4:896b>2;901>mn:318yvcen3:1?v3;4lh09?63{tmj:1<7=t=2f`>0><5:ni6?=4=2a`>7553z?0`a<20278hn4=3:?0ga<5;2wxin<50;1x96bb2<201>jk:31896eb2;90q~kl3;297~;4lo0>463;4ko09?6s|eb694?5|5:o;6864=2fe>75<5:n;6?=4}rg`1?6=;r78i<4:8:?0a5<5;278h<4=3:paf0=839p1>k=:4:896c62;901>j=:318yvcd?3:1?v3;4m;09?63{tmj21<7=t=2g7>0><5:o86?=4=2f7>7553z?0a0<20278i94=3:?0`0<5;2wxino50;1x96c12<201>k::31896b12;90q~klb;297~;4m00>463;4l>09?6s|eba94?4|5<9j6864=41;>7553z?67f<2027>?l4=3:?67<<5;2wxink50;1x905b2<2018=l:318905e2;90q~klf;297~;2<90>463:3d817>;2;m09?6s|ee294?5|5<>96864=463>75<5<9m6?=4}rgg5?6=;r7>894:8:?607<5;27>8<4=3:paa4=839p18:9:4:890232;9018:<:318yvcc;3:1?v3:4986<>;2{tmm>1<7=t=46b>0><5<>36?=4=464>7553z?60f<2027>8l4=3:?60<<5;2wxii850;1x902b2<2018:l:318902e2;90q~kk7;297~;2=90>463:4d817>;275<5<>m6?=4}rgg=?6=;r7>994:8:?617<5;27>9<4=3:paag=839p18;9:4:890332;9018;<:318yvccj3:1?v3:5986<>;2=?09?63:54817>{tmmi1<7=t=47b>0><57553z?61f<2027>9l4=3:?61<<5;2wxiik50;1x903b2<2018;l:318903e2;90q~kkf;297~;2>90>463:5d817>;2=m09?6s|ed294?5|5<<96864=443>75<5:94:8:?627<5;27>:<4=3:pa`4=839p1889:4:890032;90188<:318yvcb;3:1>v3:7d80=>;2><0>46s|ed694?4|5<=o6>74=440>0>52z?63f<4127>:<4:8:pa`0=838p189m:2;8903a2<20q~kj7;296~;2?h08563:5e86<>{tml21<76?<5;54<9:?61<<202wxiho50;0x90102:3018;8:4:8yvcbj3:1>v3:7780=>;2=<0>46s|eda94?4|5<=>6>74=470>0>52z?631<4127>9<4:8:pa`c=838p189<:2;8902a2<20q~kjf;296~;2?;08563:4e86<>{tmo:1<76?<5<>i6864}rge5?6=:r7>;=4<9:?60<<202wxik<50;0x900a2:3018:8:4:8yvca;3:1>v3:6d80=>;2<<0>46s|eg694?4|5<74=460>0>52z?62f<4127>8<4:8:pac0=838p188m:2;8905a2<20q~ki7;296~;2>h08563:3e86<>{tmo21<76?<5<9i6864}rge=?6=:r7>:54<9:?67<<202wxiko50;0x90002:3018=7:4:8yvcaj3:1?v3:65850>;2>:0?n6383e86<>{tmoi1<7=t=441>32<5<<:69l4=61f>0>53z?625<1<27>9k4;b:?47c<202wxikk50;1x903b2?>018;k:5`892272<20q~kif;297~;2=j0=863:5c87f>;0<80>46s|f1294?5|51d<5>>96864}rd35?6=;r7>95494:?612<3j27<8>4:8:pb54=839p18;9:76890322=h01::;:4:8yv`7;3:1?v3:55850>;2=:0?n6384486<>{tn9>1<7=t=471>32<50>53z?615<1<27>8k4;b:?40<<202wxj=850;1x902b2?>018:k:5`8922e2<20q~h?7;297~;2;046s|f1:94?5|5<>j6;:4=46:>1d<5>>m6864}rd3=?6=;r7>85494:?602<3j27<9<4:8:pb5g=839p18:9:76890222=h01:;<:4:8yv`7j3:1?v3:45850>;2<:0?n6385486<>{tn9i1<7=t=461>32<5<>:69l4=674>0>53z?605<1<27>?k4;b:?41<<202wxj=k50;1x905b2?>018=k:5`8923e2<20q~h?f;297~;2;j0=863:3c87f>;0=m0>46s|f0294?5|5<9j6;:4=41:>1d<5>?m6864}rd25?6=:r7>?54;b:?424<202wxj<<50;0x90>62<20189i:318yv`6;3:1?v3:8286<>;20809?63:81817>{tn8>1<7=t=4:6>0><5<286?=4=4:1>7553z?6<2<2027>484=3:?6<1<5;2wxj<850;1x90>>2<201868:31890>12;90q~h>7;297~;20k0>463:88817>;20109?6s|f0:94?5|5<2o6864=4:a>75<5<2j6?=4}rd2=?6=;r7>4k4:8:?64n4=3:pb4g=839p187>:4:890>a2;90186j:318yv`6j3:1?v3:9286<>;21809?63:91817>{tn8i1<7=t=4;6>0><5<386?=4=4;1>7553z?6=2<2027>584=3:?6=1<5;2wxj2<201878:31890?12;90q~h>f;297~;21k0>463:98817>;21109?6s|f3294?5|5<3o6864=4;a>75<5<3j6?=4}rd15?6=:r7>mi4<9:?6=f<202wxj?<50;0x90gd2:30187n:4:8yv`5;3:1>v3:ac80=>;2110>46s|f3694?4|574=4;5>0>52z?6e<<4127>594:8:pb70=838p18o7:2;890?52<20q~h=7;296~;2i>08563:9186<>{tn;21<76?<5<2n6864}rd1=?6=:r7>m84<9:?6v3:a280=>;2010>46s|f3a94?4|574=4:5>0>52z?6e4<4127>494:8:pb7c=838p18o?:2;890>52<20q~h=f;296~;21o08563:8186<>{tn::1<76?<5<=m6864}rd05?6=;r7>5o494:?6=d<3j27<8;4:8:pb64=839p1876:76890??2=h01::7:4:8yv`4;3:1?v3:96850>;21?0?n6384`86<>{tn:>1<7=t=4;6>32<5<3?69l4=66`>0>53z?6=6<1<27>5?4;b:?40`<202wxj>850;1x90?62?>0187?:5`892372<20q~h<7;297~;20o0=863:8d87f>;0=;0>46s|f2:94?5|5<2o6;:4=4:`>1d<5>??6864}rd0=?6=;r7>4o494:?6?2=h01:;7:4:8yv`4j3:1?v3:86850>;20?0?n6385`86<>{tn:i1<7=t=4:6>32<5<2?69l4=67`>0>53z?6<6<1<27>4?4;b:?41`<202wxj>k50;1x90>62?>0186?:5`892072<20q~h6389180=>{tn=:1<70><5<=m69l4}rd75?6=;r7<:?4:8:?bb?0334kn69l4}rd76?6=;r7<:>4:8:?f2?0334o>69l4}rd77?6=;r7<:94:8:?623<1<27>:84;b:pb12=839p1:8::4:890?c2?>0187l:5`8yv`3=3:1><52782952=:?0:1=55278295<=:?0:1=l5278295f=:?0;1><5278395==:?0;1=l52780964=:?091><52781952=:?091=55278195<=:?091=l5278195f=:?0>1><52786952=:?0>1=55278695<=:?0?1><52784964=:?0<1=:5278495==:?0<1=45278495d=:?0<1=n52785964=:?0=1=:5278595==:?0=1=45278:964=z{o>=6=4={<5:4?0434=2=7=6;|qe02<72;q6;4?5639>3<4=;01vk:7:18181>;3<870964;1:?xua<00;6?u2786927=:?0?1?45rsg6b>5<5s4=2:78<;<5:3?5>3tym8o4?:3y>3<1=>;16;465389~yv>7:3:1>vP7039>3c?:181[>78272`a3tyl1;kk4}r5e`?6=:rTlh6=4={_5eg>;0n3=mo6s|81`94?4|V1:i709i:92a?xu?8h0;6?uQ81c892`=09k0q~6?9;296~X?8016;k47089~w=6?2909wS6?8:?4b?>702wx4=950;0xZ=6034=m65>8;|q;43<72;qU4=84=6d9<5052z\;40=:?o03<85rs927>5<5sW2;8638f;:30>{t0991<77}Y?oh01:h57g`8yv1bl3:1>vP8ee9>3c<0mm1v:km:181[1bj272cf3tyl1;h74}r5f3?6=:rTo=6=4={_5f2>;0n3=n:6s|7d794?4|V>o>709i:6g6?xu0m=0;6?uQ7d6892`=?l>0q~9j3;296~X0m:16;k48e29~w2c52909wS9j2:?4b?1b:2wx;h?50;0xZ2c634=m6:k>;|q4a5<72;qU;h>4=6d93`652z\4`c=:?o05<5sW=oi638f;5ga>{t?o?1<7l>7p}8f583>7}Y?o>01:h57g68yv1a;3:1>vP8f29>3c<0n:1v:h=:181[1a:27;<5e>2`63tyl1;k>4}r5fb?6=:rTon6=4={_5fa>;0n3=ni6s|7d:94?4|V>o3709i:6g;?xu0lm0;6?uQ7ef892`=?mn0q~9n:181[1f34=m6:o4}r:24?6=:rT3==527g8;55=z{>lj6=4={_5ee>;0n3=mm6s|7bg94?4|V>in709i:6af?xu0kj0;6?uQ7ba892`=?ji0q~9lb;296~X0kk16;k48cc9~w2ef2909wS9la:?4b?1di2wx;n750;0xZ2e>34=m6:m6;|q4g=<72;qU;n64=6d93f>52z\4g2=:?o05<5sW=h:638f;5`2>{t?j?1<7i>7p}8c583>7}Y?j>01:h57b68yv1d:3:1>vP8c39>3c<0k;1v:m>:181[1d9272e73tyl1;oh4}r5aa?6=:rTho6=4={_5a`>;0n3=ih6s|7ca94?4|V>hh709i:6``?xu0jk0;6?uQ7c`892`=?kh0q~9ma;296~X0jh16;k48b`9~w2d>2909wS9m9:?4b?1e12wx;o950;0xZ2d034=m6:l8;|q4f3<72;qU;o84=6d93g052z\4f0=:?o05<5sW=i8638f;5a0>{t?k91<7h87p}8b383>7}Y?k801:h57c08yv1e93:1>vP8b09>3c<0j81v:l?:181[1e8272ga3tyl1;lk4}r5g1?6=:rTn?6=4={_5g0>;0n3=o86s|7e194?4|V>n8709i:6f0?xu0l;0;6?uQ7e0892`=?m80q~9k1;296~X0l816;k48d09~w2b72909wS9k0:?4b?1c82wx;nh50;0xZ2ea34=m6:mi;|q4g6<72;qU;n=4=6d93f552z\4f==:?o05<5sW=jh638f;5b`>{t09n1<77}Y?o=01:h57g58yv1ci3:1>vP8d`9>3c<0lh1vqc<7b083>7}O>k1vb?6m2;296~N1j2we>5l<:181M0e3td94o:50;0xL3d52zJ5f>{i:1h<6=4={I4a?xh50k21<7ei3:1>vF9b:m6=de2909wE8m;|l15<5sA7}O>k1vb?6l2;296~N1j2we>5m<:181M0e3td94n:50;0xL3d52zJ5f>{i:1i<6=4={I4a?xh50j21<7di3:1>vF9b:m6=ee2909wE8m;|l15<5sA7}O>k1vb?6k2;296~N1j2we>5j<:181M0e3td94i:50;0xL3d52zJ5f>{i:1n<6=4={I4a?xh50m21<7ci3:1>vF9b:m6=be2909wE8m;|l15<5sA7}O>k1vb?6j2;296~N1j2we>5k<:181M0e3td94h:50;0xL3d52zJ5f>{i:1o<6=4={I4a?xh50l21<7bi3:1>vF9b:m6=ce2909wE8m;|l1<`e=838pD;l4}o0;aa<72;qC:o5rn3:fa?6=:rB=n6sa29ge>5<5sA7}O>k1vb?6i2;296~N1j2we>5h<:181M0e3td94k:50;0xL3d52zJ5f>{i:1l<6=4={I4a?xh50o21<7ai3:1>vF9b:m6=`e2909wE8m;|l15<5sA7}O>k1vb?7?2;296~N1j2we>4><:181M0e3td95=;50;1xL01<@?h0qc<60783>7}O>k1vb??lc;295~N1j2we>cg83>4}O=>1C:o5rn33g4?6=9rB>;6F9b:m64b6290:wE;8;I4a?xh59m81<7?tH458L3d4?:0yK12=O>k1vb??k4;295~N2?2B=n6sa20f6>5<6sA?<7E8m;|l15a0=83;pD894H7`8yk46l>0;651zJ63>N1j2we>{i:8no6=4>{I74?M0e3td9=ik50;3xL01<@?h0qc<>dg83>4}O=>1C:o5rn33f4?6=9rB>;6F9b:m64c6290:wE;8;I4a?xh59l81<7?tH458L3d4?:0yK12=O>k1vb??j4;295~N2?2B=n6sa20g6>5<6sA?<7E8m;|l15`0=83;pD894H7`8yk46m>0;651zJ63>N1j2we>{i:8oo6=4>{I74?M0e3td9=hk50;3xL01<@?h0qc<>eg83>4}O=>1C:o5rn33e4?6=9rB>;6F9b:m64`6290:wE;8;I4a?xh59o81<7?tH458L3d4?:0yK12=O>k1vb??i4;295~N2?2B=n6sa20d6>5<6sA?<7E8m;|l15c0=83;pD;l4}o02b2<728qC:o5rn33e;6F9b:m64`>290:wE;8;I4a?xh59ok1<7?tH458L3dk1vb??ic;295~N1j2we>51zJ5f>{i:;::6=4>{I4a?xh5:981<7?tH7`8yk458:0;65<6sA4}O>k1vb??>k:182M0e3td9>=k50;3xL3d51zJ5f>{i:;;:6=4>{I4a?xh5:881<7?tH7`8yk459:0;65<6sA4}O>k1vb?<>c;295~N1j2we>??k:182M0e3td9>51zJ5f>{i:;8:6=4>{I4a?xh5:;81<7?tH7`8yk45::0;65<6sA4}O>k1vb?<=c;295~N1j2we>??k50;3xL3dk4?:0yK2g=zf;88<7>51zJ5f>{i:;9:6=4>{I4a?xh5::81<7?tH7`8yk45;:0;65<6sA4}O>k1vb?<?=k:182M0e3td9>>k50;3xL3d51zJ5f>{i:;>:6=4>{I4a?xh5:=81<7?tH7`8yk45<:0;65<6sA4}O>k1vb?<;c;295~N1j2we>?:k:182M0e3td9>9k50;3xL3d<7>51zJ5f>{i:;?:6=4>{I4a?xh5:<81<7?tH7`8yk45=:0;65<6sA4}O>k1vb?<:c;295~N1j2we>?;k:182M0e3td9>8k50;3xL3d51zJ5f>{i:;<:6=4>{I4a?xh5:?81<7?tH7`8yk45>:0;65<6sA4}O>k1vb?<9c;295~N1j2we>?8k:182M0e3td9>;k50;3xL3d51zJ5f>{i:;=:6=4>{I4a?xh5:>81<7?tH7`8yk45?:0;65<6sA4}O>k1vb?<8c;295~N1j2we>?9k:182M0e3td9>:k50;3xL3d51zJ5f>{i:;2:6=4>{I4a?xh5:181<7?tH7`8yk450:0;62290:wE8m;|l16=0=83;pD;l4}o01<2<728qC:o5rn30;5<6sA4}O>k1vb?<7c;295~N1j2we>?6k:182M0e3td9>5k50;3xL3d51zJ5f>{i:;3:6=4>{I4a?xh5:081<7?tH7`8yk451:0;6<3:1=vF9b:m67?2290:wE8m;|l16<0=83;pD894H7`8yk451>0;651zJ5f>{i:;326=4>{I4a?xh5:0k1<7?tH7`8yk451k0;6k3:1=vF9b:m67?c290:wE8m;|l165<6sA4}O>k1vb??o::182M0e3td9>l850;3xL3d51zJ5f>{i:;k26=4>{I4a?xh5:hk1<7?tH7`8yk45ik0;65<6sA4}O>k1vb??l::182M0e3td9>o850;3xL3d51zJ5f>{i:;h26=4>{I4a?xh5:kk1<7?tH7`8yk45jk0;65<6sA4}O>k1vb??m::182M0e3td9>n850;3xL3d51zJ5f>{i:;i26=4>{I4a?xh5:jk1<7?tH7`8yk45kk0;65<6sA4}O>k1vb??j::182M0e3td9>i850;3xL3d51zJ5f>{i:;n26=4>{I4a?xh5:mk1<7?tH7`8yk45lk0;65<6sA4}O>k1vb??k::182M0e3td9>h850;3xL3d51zJ5f>{i:;o26=4>{I4a?xh5:lk1<7?tH7`8yk45mk0;65<6sA4}O>k1vb??h::182M0e3td9>k850;3xL3d51zJ5f>{i:;l26=4>{I4a?xh5:ok1<7?tH7`8yk45nk0;65<6sA4}O>k1vb?=?4;295~N1j2we>>>::182M0e3td9?=850;3xL3d51zJ5f>{i:::26=4>{I4a?xh5;9k1<7?tH7`8yk448k0;65<6sA4}O>k1vb?=>4;295~N1j2we>>?::182M0e3td9?<850;3xL3d51zJ5f>{i::;26=4>{I4a?xh5;8k1<7?tH7`8yk449k0;65<6sA4}O>k1vb?==4;295~N1j2we>><::182M0e3td9??850;3xL3d:4?:0yK2g=zf;9947>51zJ5f>{i::826=4>{I4a?xh5;;k1<7?tH7`8yk44:k0;65<6sA4}O>k1vb?=<4;295~N1j2we>>=::182M0e3td9?>850;3xL3d51zJ5f>{i::926=4>{I4a?xh5;:k1<7?tH7`8yk44;k0;65<6sA4}O>k1vb?=;4;295~N1j2we>>:::182M0e3td9?9850;3xL3d51zJ5f>{i::>26=4>{I4a?xh5;=k1<7?tH7`8yk445<6sA4}O>k1vb?=:4;295~N1j2we>>;::182M0e3td9?8850;3xL3d47>51zJ5f>{i::?26=4>{I4a?xh5;5<6sA4}O>k1vb?=94;295~N1j2we>>8::182M0e3td9?;850;3xL3d51zJ5f>{i::<26=4>{I4a?xh5;?k1<7?tH7`8yk44>k0;65<6sA4}O>k1vb?=84;295~N1j2we>>9::182M0e3td9?:850;3xL3d51zJ5f>{i::=26=4>{I4a?xh5;>k1<7?tH7`8yk44?k0;6;6F9b:m66>6290:wE;8;I4a?xh5;181<7?tH458L3d4?:0yK12=O>k1vb?=74;295~N2?2B=n6sa22:6>5<6sA?<7E8m;|l17=0=83;pD894H7`8yk440>0;651zJ63>N1j2we>>66:182M303A{i::2o6=4>{I74?M0e3td9?5k50;3xL01<@?h0qc<<8g83>4}O=>1C:o5rn31:4?6=9rB>;6F9b:m66?6290:wE;8;I4a?xh5;081<7?tH458L3d4?:0yK12=O>k1vb?=64;295~N2?2B=n6sa22;6>5<6sA?<7E8m;|l17<0=83;pD894H7`8yk441>0;651zJ63>N1j2we>>76:182M303Ak3:1=vF:7:J5f>{i::3o6=4>{I74?M0e3td9?4k50;3xL01<@?h0qc<<9g83>4}O=>1C:o5rn31b4?6=9rB>;6F9b:m66g6290:wE;8;I4a?xh5;h81<7?tH458L3d4?:0yK12=O>k1vb?=n4;295~N2?2B=n6sa22c6>5<6sA?<7E8m;|l17d0=83;pD894H7`8yk44i>0;651zJ63>N1j2we>>o6:182M303A{i::ko6=4>{I74?M0e3td9?lk50;3xL01<@?h0qc<4}O=>1C:o5rn31a4?6=9rB>;6F9b:m66d6290:wE;8;I4a?xh5;k81<7?tH458L3d4?:0yK12=O>k1vb?=m4;295~N2?2B=n6sa22`6>5<6sA?<7E8m;|l17g0=83;pD894H7`8yk44j>0;651zJ63>N1j2we>>l6:182M303A{i::ho6=4>{I74?M0e3td9?ok50;3xL01<@?h0qc<4}O=>1C:o5rn31`4?6=9rB>;6F9b:m66e6290:wE;8;I4a?xh5;j81<7?tH458L3d4?:0yK12=O>k1vb?=l4;295~N2?2B=n6sa22a6>5<6sA?<7E8m;|l17f0=83;pD894H7`8yk44k>0;651zJ63>N1j2we>>m6:182M303A{i::io6=4>{I74?M0e3td9?nk50;3xL01<@?h0qc<4}O=>1C:o5rn31g4?6=9rB=n6sa22f2>5<6sA4}O>k1vb?=k4;295~N1j2we>>j::182M0e3td9?i850;3xL3d51zJ5f>{i::n26=4>{I4a?xh5;mk1<7?tH7`8yk44lk0;65<6sA?<7E8m;|l17`4=83;pD894H7`8yk44m:0;651zJ63>N1j2we>>k::182M303A{i::o26=4>{I74?M0e3td9?ho50;3xL01<@?h0qc<4}O=>1C:o5rn31fg?6=9rB>;6F9b:m66cc290:wE;8;I4a?xh5;lo1<7?tH458L3dk1vb?=i0;295~N2?2B=n6sa22d2>5<6sA?<7E8m;|l17c4=83;pD894H7`8yk44n:0;651zJ63>N1j2we>>h::182M303A{i::l26=4>{I74?M0e3td9?ko50;3xL01<@?h0qc<4}O=>1C:o5rn31eg?6=9rB>;6F9b:m66`c290:wE;8;I4a?xh5;oo1<7?tH458L3dk1vb?:?0;295~N2?2B=n6sa2522>5<6sA?<7E8m;|l1054=83;pD894H7`8yk438:0;6;87>51zJ63>N1j2we>9>::182M303A{i:=:26=4>{I74?M0e3td98=o50;3xL01<@?h0qc<;0c83>4}O=>1C:o5rn363g?6=9rB>;6F9b:m616c290:wE;8;I4a?xh5<9o1<7?tH458L3dk1vb?:>0;295~N2?2B=n6sa2532>5<6sA?<7E8m;|l1044=83;pD894H7`8yk439:0;6:87>51zJ63>N1j2we>9?::182M303A{i:=;26=4>{I74?M0e3td984}O=>1C:o5rn362g?6=9rB>;6F9b:m617c290:wE;8;I4a?xh5<8o1<7?tH458L3dk1vb?:=0;295~N2?2B=n6sa2502>5<6sA?<7E8m;|l1074=83;pD894H7`8yk43::0;6987>51zJ63>N1j2we>9<::182M303A4}O>k1vb?:=8;295~N1j2we>9<6:182M0e3td98?o50;3xL3do4?:0yK2g=zf;>9o7>51zJ5f>{i:=8o6=4>{I4a?xh5<;o1<7?tH7`8yk43:o0;65<6sA4}O=>1C:o5rn360;6F9b:m615>290:wE;8;I4a?xh5<:k1<7?tH458L3dk1vb?:5<6sA?<7E8m;|l106c=83;pD894H7`8yk43;o0;6?<7>51zJ63>N1j2we>9:>:182M303A{i:=>>6=4>{I74?M0e3td989850;3xL01<@?h0qc<;4683>4}O=>1C:o5rn367;6F9b:m612>290:wE;8;I4a?xh5<=k1<7?tH458L3dk1vb?:;c;295~N2?2B=n6sa256g>5<6sA?<7E8m;|l101c=83;pD894H7`8yk43><7>51zJ63>N1j2we>9;>:182M303A{i:=?>6=4>{I74?M0e3td988850;3xL01<@?h0qc<;5683>4}O=>1C:o5rn366;6F9b:m613>290:wE;8;I4a?xh5<k1vb?::c;295~N2?2B=n6sa257g>5<6sA?<7E8m;|l100c=83;pD894H7`8yk43=o0;6=<7>51zJ63>N1j2we>98>:182M303A{i:=<>6=4>{I74?M0e3td98;850;3xL01<@?h0qc<;6683>4}O=>1C:o5rn365;6F9b:m610>290:wE;8;I4a?xh5k1vb?:9c;295~N2?2B=n6sa254g>5<6sA?<7E8m;|l103c=83;pD894H7`8yk43>o0;6<<7>51zJ63>N1j2we>99>:182M303A{i:==>6=4>{I74?M0e3td98:850;3xL01<@?h0qc<;7683>4}O=>1C:o5rn3645<6sA4}O>k1vb?:8c;295~N1j2we>99k:182M0e3td98:k50;3xL3d3<7>51zJ5f>{i:=2:6=4>{I4a?xh5<181<7?tH7`8yk430:0;62290:wE8m;|l10=0=83;pD;l4}o07<2<728qC:o5rn36;5<6sA?<7E8m;|l10=g=83;pD894H7`8yk430k0;63o7>51zJ63>N1j2we>96k:182M303A83:1=vF:7:J5f>{i:=3:6=4>{I74?M0e3td984<50;3xL01<@?h0qc<;9283>4}O=>1C:o5rn36:0?6=9rB>;6F9b:m61?2290:wE;8;I4a?xh5<0<1<7?tH458L3dk1vb?:68;295~N2?2B=n6sa25;:>5<6sA?<7E8m;|l102o7>51zJ63>N1j2we>97k:182M303A{i:=k:6=4>{I74?M0e3td98l<50;3xL01<@?h0qc<;a283>4}O=>1C:o5rn36b0?6=9rB>;6F9b:m61g2290:wE;8;I4a?xh5k1vb?:n8;295~N2?2B=n6sa25c:>5<6sA?<7E8m;|l10dg=83;pD894H7`8yk43ik0;6jo7>51zJ63>N1j2we>9ok:182M303A{i:=h:6=4>{I74?M0e3td98o<50;3xL01<@?h0qc<;b283>4}O=>1C:o5rn36a0?6=9rB>;6F9b:m61d2290:wE;8;I4a?xh5k1vb?:m8;295~N2?2B=n6sa25`:>5<6sA?<7E8m;|l10gg=83;pD894H7`8yk43jk0;6io7>51zJ63>N1j2we>9lk:182M303A{i:=i:6=4>{I74?M0e3td98n<50;3xL01<@?h0qc<;c283>4}O=>1C:o5rn36`0?6=9rB>;6F9b:m61e2290:wE;8;I4a?xh50;6290:wE8m;|l10fg=83;pD;l4}o07gg<728qC:o5rn36`g?6=9rB=n6sa25ag>5<6sA4}O>k1vb?:k0;295~N1j2we>9j>:182M0e3td98i<50;3xL3d4?:0yK2g=zf;>o87>51zJ5f>{i:=n>6=4>{I4a?xh50;6o47>51zJ63>N1j2we>9j6:182M303A{i:=no6=4>{I74?M0e3td98ik50;3xL01<@?h0qc<;dg83>4}O=>1C:o5rn36f4?6=9rB>;6F9b:m61c6290:wE;8;I4a?xh54?:0yK12=O>k1vb?:j4;295~N2?2B=n6sa25g6>5<6sA?<7E8m;|l10`0=83;pD894H7`8yk43m>0;6n47>51zJ63>N1j2we>9k6:182M303A{i:=oo6=4>{I74?M0e3td98hk50;3xL01<@?h0qc<;eg83>4}O=>1C:o5rn36e4?6=9rB>;6F9b:m61`6290:wE;8;I4a?xh54?:0yK12=O>k1vb?:i4;295~N2?2B=n6sa25d6>5<6sA?<7E8m;|l10c0=83;pD894H7`8yk43n>0;6m47>51zJ63>N1j2we>9h6:182M303A{i:=lo6=4>{I74?M0e3td98kk50;3xL01<@?h0qc<;fg83>4}O=>1C:o5rn3734?6=9rB>;6F9b:m6066290:wE;8;I4a?xh5=981<7?tH458L3d<>4?:0yK12=O>k1vb?;?4;295~N2?2B=n6sa2426>5<6sA?<7E8m;|l1150=83;pD894H7`8yk428>0;651zJ63>N1j2we>8>6:182M303A{i:<:o6=4>{I74?M0e3td99=k50;3xL01<@?h0qc<:0g83>4}O=>1C:o5rn3724?6=9rB>;6F9b:m6076290:wE8m;|l1144=83;pD;l4}o0656<728qC:o5rn3720?6=9rB=n6sa2436>5<6sA4}O>k1vb?;>8;295~N1j2we>8?6:182M0e3td99=o4?:0yK2g=zf;?:o7>51zJ5f>{i:<;o6=4>{I4a?xh5=8o1<7?tH7`8yk429o0;651zJ63>N1j2we>8<::182M303A{i:<826=4>{I74?M0e3td99?o50;3xL01<@?h0qc<:2c83>4}O=>1C:o5rn371g?6=9rB>;6F9b:m604c290:wE;8;I4a?xh5=;o1<7?tH458L3d>k4?:0yK12=O>k1vb?;<0;295~N2?2B=n6sa2412>5<6sA?<7E8m;|l1164=83;pD894H7`8yk42;:0;651zJ63>N1j2we>8=::182M303A{i:<926=4>{I74?M0e3td99>o50;3xL01<@?h0qc<:3c83>4}O=>1C:o5rn370g?6=9rB>;6F9b:m605c290:wE;8;I4a?xh5=:o1<7?tH458L3d?k4?:0yK12=O>k1vb?;;0;295~N2?2B=n6sa2462>5<6sA?<7E8m;|l1114=83;pD894H7`8yk42<:0;651zJ63>N1j2we>8:::182M303A{i:<>26=4>{I74?M0e3td999o50;3xL01<@?h0qc<:4c83>4}O=>1C:o5rn377g?6=9rB>;6F9b:m602c290:wE;8;I4a?xh5==o1<7?tH458L3d8k4?:0yK12=O>k1vb?;:0;295~N2?2B=n6sa2472>5<6sA?<7E8m;|l1104=83;pD894H7`8yk42=:0;687>51zJ63>N1j2we>8;::182M303A{i:{I74?M0e3td998o50;3xL01<@?h0qc<:5c83>4}O=>1C:o5rn376g?6=9rB=n6sa247g>5<6sA4}O>k1vb?;90;295~N1j2we>88>:182M0e3td99;<50;3xL3d:>4?:0yK2g=zf;?=87>51zJ5f>{i:<<>6=4>{I4a?xh5=?<1<7?tH7`8yk42>>0;6290:wE8m;|l113g=83;pD;l4}o062g<728qC:o5rn375g?6=9rB=n6sa244g>5<6sA?<7E8m;|l113c=83;pD894H7`8yk42>o0;651zJ63>N1j2we>89>:182M303A{i:<=>6=4>{I74?M0e3td99:850;3xL01<@?h0qc<:7683>4}O=>1C:o5rn374;6F9b:m601>290:wE;8;I4a?xh5=>k1<7?tH458L3d;o4?:0yK12=O>k1vb?;8c;295~N2?2B=n6sa245g>5<6sA?<7E8m;|l112c=83;pD894H7`8yk42?o0;651zJ63>N1j2we>86>:182M303A{i:<2>6=4>{I74?M0e3td995850;3xL01<@?h0qc<:8683>4}O=>1C:o5rn37;;6F9b:m60>>290:wE;8;I4a?xh5=1k1<7?tH458L3d4o4?:0yK12=O>k1vb?;7c;295~N2?2B=n6sa24:g>5<6sA?<7E8m;|l11=c=83;pD894H7`8yk420o0;651zJ63>N1j2we>87>:182M303A<3:1=vF:7:J5f>{i:<3>6=4>{I74?M0e3td994850;3xL01<@?h0qc<:9683>4}O=>1C:o5rn37:;6F9b:m60?>290:wE;8;I4a?xh5=0k1<7?tH458L3d5o4?:0yK12=O>k1vb?;6c;295~N2?2B=n6sa24;g>5<6sA?<7E8m;|l1151zJ63>N1j2we>8o>:182M303A{i:6=4>{I74?M0e3td99l850;3xL01<@?h0qc<:a683>4}O>k1vb?;n8;295~N1j2we>8o6:182M0e3td99lo50;3xL3dmo4?:0yK2g=zf;?jo7>51zJ5f>{i:{I4a?xh5=ho1<7?tH7`8yk42io0;65<6sA4}O>k1vb?;m8;295~N2?2B=n6sa24`:>5<6sA?<7E8m;|l11gg=83;pD894H7`8yk42jk0;651zJ63>N1j2we>8lk:182M303A{i:{I74?M0e3td99n<50;3xL01<@?h0qc<:c283>4}O=>1C:o5rn37`0?6=9rB>;6F9b:m60e2290:wE;8;I4a?xh5=j<1<7?tH458L3do:4?:0yK12=O>k1vb?;l8;295~N2?2B=n6sa24a:>5<6sA?<7E8m;|l11fg=83;pD894H7`8yk42kk0;651zJ63>N1j2we>8mk:182M303A{i:{I74?M0e3td99i<50;3xL01<@?h0qc<:d283>4}O=>1C:o5rn37g0?6=9rB>;6F9b:m60b2290:wE;8;I4a?xh5=m<1<7?tH458L3dh:4?:0yK12=O>k1vb?;k8;295~N2?2B=n6sa24f:>5<6sA?<7E8m;|l11ag=83;pD894H7`8yk42lk0;651zJ63>N1j2we>8jk:182M303A{i:{I74?M0e3td99h<50;3xL01<@?h0qc<:e283>4}O=>1C:o5rn37f0?6=9rB>;6F9b:m60c2290:wE;8;I4a?xh5=l<1<7?tH458L3di:4?:0yK12=O>k1vb?;j8;295~N2?2B=n6sa24g:>5<6sA?<7E8m;|l11`g=83;pD894H7`8yk42mk0;651zJ63>N1j2we>8kk:182M303A{i:{I74?M0e3td99k<50;3xL3dj>4?:0yK2g=zf;?m87>51zJ5f>{i:6=4>{I4a?xh5=o<1<7?tH7`8yk42n>0;6290:wE8m;|l11cg=83;pD;l4}o06bg<728qC:o5rn37eg?6=9rB=n6sa24dg>5<6sA4}O>k1vb?8?0;295~N1j2we>;>>:182M0e3td9:=<50;3xL3d4?:0yK12=O>k1vb?8?4;295~N2?2B=n6sa2726>5<6sA?<7E8m;|l1250=83;pD894H7`8yk418>0;651zJ63>N1j2we>;>6:182M303A{i:?:o6=4>{I74?M0e3td9:=k50;3xL01<@?h0qc<90g83>4}O=>1C:o5rn3424?6=9rB>;6F9b:m6376290:wE;8;I4a?xh5>881<7?tH458L3d4?:0yK12=O>k1vb?8>4;295~N2?2B=n6sa2736>5<6sA?<7E8m;|l1240=83;pD894H7`8yk419>0;651zJ63>N1j2we>;?6:182M303A{i:?;o6=4>{I74?M0e3td9:4}O=>1C:o5rn3414?6=9rB>;6F9b:m6346290:wE;8;I4a?xh5>;81<7?tH458L3d>4?:0yK12=O>k1vb?8=4;295~N2?2B=n6sa2706>5<6sA?<7E8m;|l1270=83;pD894H7`8yk41:>0;651zJ63>N1j2we>;<6:182M303A{i:?8o6=4>{I74?M0e3td9:?k50;3xL01<@?h0qc<92g83>4}O=>1C:o5rn3404?6=9rB>;6F9b:m6356290:wE;8;I4a?xh5>:81<7?tH458L3d4?:0yK12=O>k1vb?8<4;295~N2?2B=n6sa2716>5<6sA?<7E8m;|l1260=83;pD894H7`8yk41;>0;651zJ63>N1j2we>;=6:182M303A{i:?9o6=4>{I4a?xh5>:o1<7?tH7`8yk41;o0;65<6sA4}O>k1vb?8;8;295~N1j2we>;:6:182M0e3td9:9o50;3xL3d51zJ5f>{i:?>o6=4>{I4a?xh5>=o1<7?tH458L3dk1vb?8:0;295~N2?2B=n6sa2772>5<6sA?<7E8m;|l1204=83;pD894H7`8yk41=:0;687>51zJ63>N1j2we>;;::182M303A{i:??26=4>{I74?M0e3td9:8o50;3xL01<@?h0qc<95c83>4}O=>1C:o5rn346g?6=9rB>;6F9b:m633c290:wE;8;I4a?xh5>k1vb?890;295~N2?2B=n6sa2742>5<6sA?<7E8m;|l1234=83;pD894H7`8yk41>:0;651zJ63>N1j2we>;8::182M303A{i:?<26=4>{I74?M0e3td9:;o50;3xL01<@?h0qc<96c83>4}O=>1C:o5rn345g?6=9rB>;6F9b:m630c290:wE;8;I4a?xh5>?o1<7?tH458L3dk1vb?880;295~N2?2B=n6sa2752>5<6sA?<7E8m;|l1224=83;pD894H7`8yk41?:0;651zJ63>N1j2we>;9::182M303A{i:?=26=4>{I74?M0e3td9::o50;3xL01<@?h0qc<97c83>4}O=>1C:o5rn344g?6=9rB>;6F9b:m631c290:wE;8;I4a?xh5>>o1<7?tH458L3dk1vb?870;295~N2?2B=n6sa27:2>5<6sA?<7E8m;|l12=4=83;pD894H7`8yk410:0;651zJ63>N1j2we>;6::182M303A>290:wE8m;|l12=g=83;pD;l4}o055<6sA4}O>k1vb?860;295~N1j2we>;7>:182M0e3td9:4<50;3xL3d4?:0yK2g=zf;<287>51zJ5f>{i:?3>6=4>{I4a?xh5>0<1<7?tH7`8yk411>0;603:1=vF9b:m63?>290:wE;8;I4a?xh5>0k1<7?tH458L3dk1vb?86c;295~N2?2B=n6sa27;g>5<6sA?<7E8m;|l1251zJ63>N1j2we>;o>:182M303A{i:?k>6=4>{I74?M0e3td9:l850;3xL01<@?h0qc<9a683>4}O=>1C:o5rn34b;6F9b:m63g>290:wE;8;I4a?xh5>hk1<7?tH458L3dk1vb?8nc;295~N2?2B=n6sa27cg>5<6sA?<7E8m;|l12dc=83;pD894H7`8yk41io0;651zJ63>N1j2we>;l>:182M303A{i:?h>6=4>{I74?M0e3td9:o850;3xL01<@?h0qc<9b683>4}O=>1C:o5rn34a;6F9b:m63d>290:wE;8;I4a?xh5>kk1<7?tH458L3dk1vb?8mc;295~N2?2B=n6sa27`g>5<6sA?<7E8m;|l12gc=83;pD894H7`8yk41jo0;651zJ63>N1j2we>;m>:182M303A{i:?i>6=4>{I74?M0e3td9:n850;3xL01<@?h0qc<9c683>4}O=>1C:o5rn34`;6F9b:m63e>290:wE;8;I4a?xh5>jk1<7?tH458L3dk1vb?8lc;295~N2?2B=n6sa27ag>5<6sA?<7E8m;|l12fc=83;pD894H7`8yk41ko0;651zJ63>N1j2we>;j>:182M303A{i:?n>6=4>{I74?M0e3td9:i850;3xL01<@?h0qc<9d683>4}O=>1C:o5rn34g;6F9b:m63b>290:wE;8;I4a?xh5>mk1<7?tH458L3dk1vb?8kc;295~N2?2B=n6sa27fg>5<6sA?<7E8m;|l12ac=83;pD894H7`8yk41lo0;651zJ63>N1j2we>;k>:182M303A{i:?o>6=4>{I74?M0e3td9:h850;3xL01<@?h0qc<9e683>4}O>k1vb?8j8;295~N1j2we>;k6:182M0e3td9:ho50;3xL3d51zJ5f>{i:?oo6=4>{I4a?xh5>lo1<7?tH7`8yk41mo0;65<6sA4}O>k1vb?8i8;295~N1j2we>;h6:182M0e3td9:ko50;3xL3d51zJ5f>{i:?lo6=4>{I4a?xh5>oo1<7?tH7`8yk41no0;65<6sA4}O>k1vb?9?8;295~N1j2we>:>6:182M0e3td9;=o50;3xL3d51zJ5f>{i:>:o6=4>{I4a?xh5?9o1<7?tH7`8yk408o0;65<6sA4}O>k1vb?9>8;295~N1j2we>:?6:182M0e3td9;51zJ5f>{i:>;o6=4>{I4a?xh5?8o1<7?tH7`8yk409o0;65<6sA4}O>k1vb?9=8;295~N1j2we>:<6:182M0e3td9;?o50;3xL3do4?:0yK2g=zf;=9o7>51zJ5f>{i:>8o6=4>{I4a?xh5?;o1<7?tH7`8yk40:o0;65<6sA4}O>k1vb?9<8;295~N1j2we>:=6:182M0e3td9;>o50;3xL3d51zJ5f>{i:>9o6=4>{I4a?xh5?:o1<7?tH7`8yk40;o0;65<6sA4}O>k1vb?9;8;295~N1j2we>::6:182M0e3td9;9o50;3xL3d51zJ5f>{i:>>o6=4>{I4a?xh5?=o1<7?tH7`8yk405<6sA4}O>k1vb?9:8;295~N1j2we>:;6:182M0e3td9;8o50;3xL3do7>51zJ5f>{i:>?o6=4>{I4a?xh5?5<6sA4}O>k1vb?998;295~N1j2we>:86:182M0e3td9;;o50;3xL3d51zJ5f>{i:>{I4a?xh5??o1<7?tH7`8yk40>o0;65<6sA4}O>k1vb?988;295~N1j2we>:96:182M0e3td9;:o50;3xL3d51zJ5f>{i:>=o6=4>{I4a?xh5?>o1<7?tH7`8yk40?o0;66290:wE8m;|l13=4=83;pD;l4}o04<6<728qC:o5rn35;0?6=9rB=n6sa26:6>5<6sA4}O>k1vb?978;295~N1j2we>:66:182M0e3td9;5o50;3xL3d51zJ5f>{i:>2o6=4>{I4a?xh5?1o1<7?tH7`8yk400o0;683:1=vF9b:m62?6290:wE8m;|l13<4=83;pD;l4}o04=6<728qC:o5rn35:0?6=9rB=n6sa26;6>5<6sA4}O>k1vb?968;295~N1j2we>:76:182M0e3td9;4o50;3xL3d51zJ5f>{i:>3o6=4>{I4a?xh5?0o1<7?tH7`8yk401o0;65<6sA4}O>k1vb?9n8;295~N1j2we>:o6:182M0e3td9;lo50;3xL3d51zJ5f>{i:>ko6=4>{I4a?xh5?ho1<7?tH7`8yk40io0;65<6sA4}O>k1vb?9m8;295~N1j2we>:l6:182M0e3td9;oo50;3xL3d51zJ5f>{i:>ho6=4>{I4a?xh5?ko1<7?tH7`8yk40jo0;65<6sA4}O>k1vb?9l8;295~N1j2we>:m6:182M0e3td9;no50;3xL3d51zJ5f>{i:>io6=4>{I4a?xh5?jo1<7?tH7`8yk40ko0;65<6sA4}O>k1vb?9k8;295~N1j2we>:j6:182M0e3td9;io50;3xL3d51zJ5f>{i:>no6=4>{I4a?xh5?mo1<7?tH7`8yk40lo0;65<6sA4}O>k1vb?9j8;295~N1j2we>:k6:182M0e3td9;ho50;3xL3d51zJ5f>{i:>oo6=4>{I4a?xh5?lo1<7?tH7`8yk40mo0;65<6sA4}O>k1vb?9i8;295~N1j2we>:h6:182M0e3td9;ko50;3xL3d51zJ5f>{i:>lo6=4>{I4a?xh5?oo1<7?tH7`8yk40no0;6783:1=vF9b:m6=66290:wE8m;|l1<54=83;pD;l4}o0;46<728qC:o5rn3:30?6=9rB=n6sa2926>5<6sA4}O>k1vb?6?8;295~N1j2we>5>6:182M0e3td94=o50;3xL3d51zJ5f>{i:1:o6=4>{I4a?xh509o1<7?tH7`8yk4?8o0;6683:1=vF9b:m6=76290:wE8m;|l1<44=83;pD;l4}o0;56<728qC:o5rn3:20?6=9rB=n6sa2936>5<6sA4}O>k1vb?6>8;295~N1j2we>5?6:182M0e3td9451zJ5f>{i:1;o6=4>{I4a?xh508o1<7?tH7`8yk4?9o0;6583:1=vF9b:m6=46290:wE8m;|l1<74=83;pD;l4}o0;66<728qC:o5rn3:10?6=9rB=n6sa2906>5<6sA4}O>k1vb?6=8;295~N1j2we>5<6:182M0e3td94?o50;3xL3do4?:0yK2g=zf;29o7>51zJ5f>{i:18o6=4>{I4a?xh50;o1<7?tH7`8yk4?:o0;6483:1=vF9b:m6=56290:wE8m;|l1<64=83;pD;l4}o0;76<728qC:o5rn3:00?6=9rB=n6sa2916>5<6sA4}O>k1vb?6<8;295~N1j2we>5=6:182M0e3td94>o50;3xL3d51zJ5f>{i:19o6=4>{I4a?xh50:o1<7?tH7`8yk4?;o0;6383:1=vF9b:m6=26290:wE8m;|l1<14=83;pD;l4}o0;06<728qC:o5rn3:70?6=9rB=n6sa2966>5<6sA4}O>k1vb?6;8;295~N1j2we>5:6:182M0e3td949o50;3xL3d51zJ5f>{i:1>o6=4>{I4a?xh50=o1<7?tH7`8yk4?283:1=vF9b:m6=36290:wE8m;|l1<04=83;pD;l4}o0;16<728qC:o5rn3:60?6=9rB=n6sa2976>5<6sA4}O>k1vb?6:8;295~N1j2we>5;6:182M0e3td948o50;3xL3do7>51zJ5f>{i:1?o6=4>{I4a?xh50183:1=vF9b:m6=06290:wE8m;|l1<34=83;pD;l4}o0;26<728qC:o5rn3:50?6=9rB=n6sa2946>5<6sA4}O>k1vb?698;295~N1j2we>586:182M0e3td94;o50;3xL3d51zJ5f>{i:1{I4a?xh50?o1<7?tH7`8yk4?>o0;6083:1=vF9b:m6=16290:wE8m;|l1<24=83;pD;l4}o0;36<728qC:o5rn3:40?6=9rB=n6sa2956>5<6sA4}O>k1vb?688;295~N1j2we>596:182M0e3td94:o50;3xL3d51zJ5f>{i:1=o6=4>{I4a?xh50>o1<7?tH7`8yk4??o0;6?83:1=vF9b:m6=>6290:wE8m;|l1<=4=83;pD;l4}o0;<6<728qC:o5rn3:;0?6=9rB=n6sa29:6>5<6sA4}O>k1vb?678;295~N1j2we>566:182M0e3td945o50;3xL3d51zJ5f>{i:12o6=4>{I4a?xh501o1<7?tH7`8yk4?0o0;6>83:1=vF9b:m6=?6290:wE8m;|l1<<4=83;pD;l4}o0;=6<728qC:o5rn3::0?6=9rB=n6sa29;6>5<6sA4}O>k1vb?668;295~N1j2we>576:182M0e3td944o50;3xL3d51zJ5f>{i:13o6=4>{I4a?xh500o1<7?tH7`8yk4?1o0;6f83:1=vF9b:m6=g6290:wE8m;|l1;6F9b:m6=g2290:wE8m;|l15<6sA4}O>k1vb?6nc;295~N1j2we>5ok:182M0e3td94lk50;3xL3d51zJ5f>{zutJKOv=?408egd7a>h?vLMLt0|BCT~{GH \ No newline at end of file diff --git a/ipcore_dir/div_8_dot_8_nodsp.v b/ipcore_dir/div_8_dot_8_nodsp.v new file mode 100644 index 0000000..2c1cd76 --- /dev/null +++ b/ipcore_dir/div_8_dot_8_nodsp.v @@ -0,0 +1,14635 @@ +//////////////////////////////////////////////////////////////////////////////// +// Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. +//////////////////////////////////////////////////////////////////////////////// +// ____ ____ +// / /\/ / +// /___/ \ / Vendor: Xilinx +// \ \ \/ Version: P.20131013 +// \ \ Application: netgen +// / / Filename: div_8_dot_8_nodsp.v +// /___/ /\ Timestamp: Thu Nov 29 22:48:08 2018 +// \ \ / \ +// \___\/\___\ +// +// Command : -w -sim -ofmt verilog /home/dormando/p/mojo/hello-world-v/ipcore_dir/tmp/_cg/div_8_dot_8_nodsp.ngc /home/dormando/p/mojo/hello-world-v/ipcore_dir/tmp/_cg/div_8_dot_8_nodsp.v +// Device : 6slx9tqg144-2 +// Input file : /home/dormando/p/mojo/hello-world-v/ipcore_dir/tmp/_cg/div_8_dot_8_nodsp.ngc +// Output file : /home/dormando/p/mojo/hello-world-v/ipcore_dir/tmp/_cg/div_8_dot_8_nodsp.v +// # of Modules : 1 +// Design Name : div_8_dot_8_nodsp +// Xilinx : /opt/Xilinx/14.7/ISE_DS/ISE/ +// +// Purpose: +// This verilog netlist is a verification model and uses simulation +// primitives which may not represent the true implementation of the +// device, however the netlist is functionally correct and should not +// be modified. This file cannot be synthesized and should only be used +// with supported simulation tools. +// +// Reference: +// Command Line Tools User Guide, Chapter 23 and Synthesis and Simulation Design Guide, Chapter 6 +// +//////////////////////////////////////////////////////////////////////////////// + +`timescale 1 ns/1 ps + +module div_8_dot_8_nodsp ( + aclk, s_axis_divisor_tvalid, s_axis_dividend_tvalid, s_axis_divisor_tready, s_axis_dividend_tready, m_axis_dout_tvalid, s_axis_divisor_tdata, +s_axis_dividend_tdata, m_axis_dout_tdata +)/* synthesis syn_black_box syn_noprune=1 */; + input aclk; + input s_axis_divisor_tvalid; + input s_axis_dividend_tvalid; + output s_axis_divisor_tready; + output s_axis_dividend_tready; + output m_axis_dout_tvalid; + input [15 : 0] s_axis_divisor_tdata; + input [23 : 0] s_axis_dividend_tdata; + output [39 : 0] m_axis_dout_tdata; + + // synthesis translate_off + + wire NlwRenamedSig_OI_s_axis_dividend_tready; + wire \blk00000001/sig0000073a ; + wire \blk00000001/sig00000739 ; + wire \blk00000001/sig00000738 ; + wire \blk00000001/sig00000737 ; + wire \blk00000001/sig00000736 ; + wire \blk00000001/sig00000735 ; + wire \blk00000001/sig00000734 ; + wire \blk00000001/sig00000733 ; + wire \blk00000001/sig00000732 ; + wire \blk00000001/sig00000731 ; + wire \blk00000001/sig00000730 ; + wire \blk00000001/sig0000072f ; + wire \blk00000001/sig0000072e ; + wire \blk00000001/sig0000072d ; + wire \blk00000001/sig0000072c ; + wire \blk00000001/sig0000072b ; + wire \blk00000001/sig0000072a ; + wire \blk00000001/sig00000729 ; + wire \blk00000001/sig00000728 ; + wire \blk00000001/sig00000727 ; + wire \blk00000001/sig00000726 ; + wire \blk00000001/sig00000725 ; + wire \blk00000001/sig00000724 ; + wire \blk00000001/sig00000723 ; + wire \blk00000001/sig00000722 ; + wire \blk00000001/sig00000721 ; + wire \blk00000001/sig00000720 ; + wire \blk00000001/sig0000071f ; + wire \blk00000001/sig0000071e ; + wire \blk00000001/sig0000071d ; + wire \blk00000001/sig0000071c ; + wire \blk00000001/sig0000071b ; + wire \blk00000001/sig0000071a ; + wire \blk00000001/sig00000719 ; + wire \blk00000001/sig00000718 ; + wire \blk00000001/sig00000717 ; + wire \blk00000001/sig00000716 ; + wire \blk00000001/sig00000715 ; + wire \blk00000001/sig00000714 ; + wire \blk00000001/sig00000713 ; + wire \blk00000001/sig00000712 ; + wire \blk00000001/sig00000711 ; + wire \blk00000001/sig00000710 ; + wire \blk00000001/sig0000070f ; + wire \blk00000001/sig0000070e ; + wire \blk00000001/sig0000070d ; + wire \blk00000001/sig0000070c ; + wire \blk00000001/sig0000070b ; + wire \blk00000001/sig0000070a ; + wire \blk00000001/sig00000709 ; + wire \blk00000001/sig00000708 ; + wire \blk00000001/sig00000707 ; + wire \blk00000001/sig00000706 ; + wire \blk00000001/sig00000705 ; + wire \blk00000001/sig00000704 ; + wire \blk00000001/sig00000703 ; + wire \blk00000001/sig00000702 ; + wire \blk00000001/sig00000701 ; + wire \blk00000001/sig00000700 ; + wire \blk00000001/sig000006ff ; + wire \blk00000001/sig000006fe ; + wire \blk00000001/sig000006fd ; + wire \blk00000001/sig000006fc ; + wire \blk00000001/sig000006fb ; + wire \blk00000001/sig000006fa ; + wire \blk00000001/sig000006f9 ; + wire \blk00000001/sig000006f8 ; + wire \blk00000001/sig000006f7 ; + wire \blk00000001/sig000006f6 ; + wire \blk00000001/sig000006f5 ; + wire \blk00000001/sig000006f4 ; + wire \blk00000001/sig000006f3 ; + wire \blk00000001/sig000006f2 ; + wire \blk00000001/sig000006f1 ; + wire \blk00000001/sig000006f0 ; + wire \blk00000001/sig000006ef ; + wire \blk00000001/sig000006ee ; + wire \blk00000001/sig000006ed ; + wire \blk00000001/sig000006ec ; + wire \blk00000001/sig000006eb ; + wire \blk00000001/sig000006ea ; + wire \blk00000001/sig000006e9 ; + wire \blk00000001/sig000006e8 ; + wire \blk00000001/sig000006e7 ; + wire \blk00000001/sig000006e6 ; + wire \blk00000001/sig000006e5 ; + wire \blk00000001/sig000006e4 ; + wire \blk00000001/sig000006e3 ; + wire \blk00000001/sig000006e2 ; + wire \blk00000001/sig000006e1 ; + wire \blk00000001/sig000006e0 ; + wire \blk00000001/sig000006df ; + wire \blk00000001/sig000006de ; + wire \blk00000001/sig000006dd ; + wire \blk00000001/sig000006dc ; + wire \blk00000001/sig000006db ; + wire \blk00000001/sig000006da ; + wire \blk00000001/sig000006d9 ; + wire \blk00000001/sig000006d8 ; + wire \blk00000001/sig000006d7 ; + wire \blk00000001/sig000006d6 ; + wire \blk00000001/sig000006d5 ; + wire \blk00000001/sig000006d4 ; + wire \blk00000001/sig000006d3 ; + wire \blk00000001/sig000006d2 ; + wire \blk00000001/sig000006d1 ; + wire \blk00000001/sig000006d0 ; + wire \blk00000001/sig000006cf ; + wire \blk00000001/sig000006ce ; + wire \blk00000001/sig000006cd ; + wire \blk00000001/sig000006cc ; + wire \blk00000001/sig000006cb ; + wire \blk00000001/sig000006ca ; + wire \blk00000001/sig000006c9 ; + wire \blk00000001/sig000006c8 ; + wire \blk00000001/sig000006c7 ; + wire \blk00000001/sig000006c6 ; + wire \blk00000001/sig000006c5 ; + wire \blk00000001/sig000006c4 ; + wire \blk00000001/sig000006c3 ; + wire \blk00000001/sig000006c2 ; + wire \blk00000001/sig000006c1 ; + wire \blk00000001/sig000006c0 ; + wire \blk00000001/sig000006bf ; + wire \blk00000001/sig000006be ; + wire \blk00000001/sig000006bd ; + wire \blk00000001/sig000006bc ; + wire \blk00000001/sig000006bb ; + wire \blk00000001/sig000006ba ; + wire \blk00000001/sig000006b9 ; + wire \blk00000001/sig000006b8 ; + wire \blk00000001/sig000006b7 ; + wire \blk00000001/sig000006b6 ; + wire \blk00000001/sig000006b5 ; + wire \blk00000001/sig000006b4 ; + wire \blk00000001/sig000006b3 ; + wire \blk00000001/sig000006b2 ; + wire \blk00000001/sig000006b1 ; + wire \blk00000001/sig000006b0 ; + wire \blk00000001/sig000006af ; + wire \blk00000001/sig000006ae ; + wire \blk00000001/sig000006ad ; + wire \blk00000001/sig000006ac ; + wire \blk00000001/sig000006ab ; + wire \blk00000001/sig000006aa ; + wire \blk00000001/sig000006a9 ; + wire \blk00000001/sig000006a8 ; + wire \blk00000001/sig000006a7 ; + wire \blk00000001/sig000006a6 ; + wire \blk00000001/sig000006a5 ; + wire \blk00000001/sig000006a4 ; + wire \blk00000001/sig000006a3 ; + wire \blk00000001/sig000006a2 ; + wire \blk00000001/sig000006a1 ; + wire \blk00000001/sig000006a0 ; + wire \blk00000001/sig0000069f ; + wire \blk00000001/sig0000069e ; + wire \blk00000001/sig0000069d ; + wire \blk00000001/sig0000069c ; + wire \blk00000001/sig0000069b ; + wire \blk00000001/sig0000069a ; + wire \blk00000001/sig00000699 ; + wire \blk00000001/sig00000698 ; + wire \blk00000001/sig00000697 ; + wire \blk00000001/sig00000696 ; + wire \blk00000001/sig00000695 ; + wire \blk00000001/sig00000694 ; + wire \blk00000001/sig00000693 ; + wire \blk00000001/sig00000692 ; + wire \blk00000001/sig00000691 ; + wire \blk00000001/sig00000690 ; + wire \blk00000001/sig0000068f ; + wire \blk00000001/sig0000068e ; + wire \blk00000001/sig0000068d ; + wire \blk00000001/sig0000068c ; + wire \blk00000001/sig0000068b ; + wire \blk00000001/sig0000068a ; + wire \blk00000001/sig00000689 ; + wire \blk00000001/sig00000688 ; + wire \blk00000001/sig00000687 ; + wire \blk00000001/sig00000686 ; + wire \blk00000001/sig00000685 ; + wire \blk00000001/sig00000684 ; + wire \blk00000001/sig00000683 ; + wire \blk00000001/sig00000682 ; + wire \blk00000001/sig00000681 ; + wire \blk00000001/sig00000680 ; + wire \blk00000001/sig0000067f ; + wire \blk00000001/sig0000067e ; + wire \blk00000001/sig0000067d ; + wire \blk00000001/sig0000067c ; + wire \blk00000001/sig0000067b ; + wire \blk00000001/sig0000067a ; + wire \blk00000001/sig00000679 ; + wire \blk00000001/sig00000678 ; + wire \blk00000001/sig00000677 ; + wire \blk00000001/sig00000676 ; + wire \blk00000001/sig00000675 ; + wire \blk00000001/sig00000674 ; + wire \blk00000001/sig00000673 ; + wire \blk00000001/sig00000672 ; + wire \blk00000001/sig00000671 ; + wire \blk00000001/sig00000670 ; + wire \blk00000001/sig0000066f ; + wire \blk00000001/sig0000066e ; + wire \blk00000001/sig0000066d ; + wire \blk00000001/sig0000066c ; + wire \blk00000001/sig0000066b ; + wire \blk00000001/sig0000066a ; + wire \blk00000001/sig00000669 ; + wire \blk00000001/sig00000668 ; + wire \blk00000001/sig00000667 ; + wire \blk00000001/sig00000666 ; + wire \blk00000001/sig00000665 ; + wire \blk00000001/sig00000664 ; + wire \blk00000001/sig00000663 ; + wire \blk00000001/sig00000662 ; + wire \blk00000001/sig00000661 ; + wire \blk00000001/sig00000660 ; + wire \blk00000001/sig0000065f ; + wire \blk00000001/sig0000065e ; + wire \blk00000001/sig0000065d ; + wire \blk00000001/sig0000065c ; + wire \blk00000001/sig0000065b ; + wire \blk00000001/sig0000065a ; + wire \blk00000001/sig00000659 ; + wire \blk00000001/sig00000658 ; + wire \blk00000001/sig00000657 ; + wire \blk00000001/sig00000656 ; + wire \blk00000001/sig00000655 ; + wire \blk00000001/sig00000654 ; + wire \blk00000001/sig00000653 ; + wire \blk00000001/sig00000652 ; + wire \blk00000001/sig00000651 ; + wire \blk00000001/sig00000650 ; + wire \blk00000001/sig0000064f ; + wire \blk00000001/sig0000064e ; + wire \blk00000001/sig0000064d ; + wire \blk00000001/sig0000064c ; + wire \blk00000001/sig0000064b ; + wire \blk00000001/sig0000064a ; + wire \blk00000001/sig00000649 ; + wire \blk00000001/sig00000648 ; + wire \blk00000001/sig00000647 ; + wire \blk00000001/sig00000646 ; + wire \blk00000001/sig00000645 ; + wire \blk00000001/sig00000644 ; + wire \blk00000001/sig00000643 ; + wire \blk00000001/sig00000642 ; + wire \blk00000001/sig00000641 ; + wire \blk00000001/sig00000640 ; + wire \blk00000001/sig0000063f ; + wire \blk00000001/sig0000063e ; + wire \blk00000001/sig0000063d ; + wire \blk00000001/sig0000063c ; + wire \blk00000001/sig0000063b ; + wire \blk00000001/sig0000063a ; + wire \blk00000001/sig00000639 ; + wire \blk00000001/sig00000638 ; + wire \blk00000001/sig00000637 ; + wire \blk00000001/sig00000636 ; + wire \blk00000001/sig00000635 ; + wire \blk00000001/sig00000634 ; + wire \blk00000001/sig00000633 ; + wire \blk00000001/sig00000632 ; + wire \blk00000001/sig00000631 ; + wire \blk00000001/sig00000630 ; + wire \blk00000001/sig0000062f ; + wire \blk00000001/sig0000062e ; + wire \blk00000001/sig0000062d ; + wire \blk00000001/sig0000062c ; + wire \blk00000001/sig0000062b ; + wire \blk00000001/sig0000062a ; + wire \blk00000001/sig00000629 ; + wire \blk00000001/sig00000628 ; + wire \blk00000001/sig00000627 ; + wire \blk00000001/sig00000626 ; + wire \blk00000001/sig00000625 ; + wire \blk00000001/sig00000624 ; + wire \blk00000001/sig00000623 ; + wire \blk00000001/sig00000622 ; + wire \blk00000001/sig00000621 ; + wire \blk00000001/sig00000620 ; + wire \blk00000001/sig0000061f ; + wire \blk00000001/sig0000061e ; + wire \blk00000001/sig0000061d ; + wire \blk00000001/sig0000061c ; + wire \blk00000001/sig0000061b ; + wire \blk00000001/sig0000061a ; + wire \blk00000001/sig00000619 ; + wire \blk00000001/sig00000618 ; + wire \blk00000001/sig00000617 ; + wire \blk00000001/sig00000616 ; + wire \blk00000001/sig00000615 ; + wire \blk00000001/sig00000614 ; + wire \blk00000001/sig00000613 ; + wire \blk00000001/sig00000612 ; + wire \blk00000001/sig00000611 ; + wire \blk00000001/sig00000610 ; + wire \blk00000001/sig0000060f ; + wire \blk00000001/sig0000060e ; + wire \blk00000001/sig0000060d ; + wire \blk00000001/sig0000060c ; + wire \blk00000001/sig0000060b ; + wire \blk00000001/sig0000060a ; + wire \blk00000001/sig00000609 ; + wire \blk00000001/sig00000608 ; + wire \blk00000001/sig00000607 ; + wire \blk00000001/sig00000606 ; + wire \blk00000001/sig00000605 ; + wire \blk00000001/sig00000604 ; + wire \blk00000001/sig00000603 ; + wire \blk00000001/sig00000602 ; + wire \blk00000001/sig00000601 ; + wire \blk00000001/sig00000600 ; + wire \blk00000001/sig000005ff ; + wire \blk00000001/sig000005fe ; + wire \blk00000001/sig000005fd ; + wire \blk00000001/sig000005fc ; + wire \blk00000001/sig000005fb ; + wire \blk00000001/sig000005fa ; + wire \blk00000001/sig000005f9 ; + wire \blk00000001/sig000005f8 ; + wire \blk00000001/sig000005f7 ; + wire \blk00000001/sig000005f6 ; + wire \blk00000001/sig000005f5 ; + wire \blk00000001/sig000005f4 ; + wire \blk00000001/sig000005f3 ; + wire \blk00000001/sig000005f2 ; + wire \blk00000001/sig000005f1 ; + wire \blk00000001/sig000005f0 ; + wire \blk00000001/sig000005ef ; + wire \blk00000001/sig000005ee ; + wire \blk00000001/sig000005ed ; + wire \blk00000001/sig000005ec ; + wire \blk00000001/sig000005eb ; + wire \blk00000001/sig000005ea ; + wire \blk00000001/sig000005e9 ; + wire \blk00000001/sig000005e8 ; + wire \blk00000001/sig000005e7 ; + wire \blk00000001/sig000005e6 ; + wire \blk00000001/sig000005e5 ; + wire \blk00000001/sig000005e4 ; + wire \blk00000001/sig000005e3 ; + wire \blk00000001/sig000005e2 ; + wire \blk00000001/sig000005e1 ; + wire \blk00000001/sig000005e0 ; + wire \blk00000001/sig000005df ; + wire \blk00000001/sig000005de ; + wire \blk00000001/sig000005dd ; + wire \blk00000001/sig000005dc ; + wire \blk00000001/sig000005db ; + wire \blk00000001/sig000005da ; + wire \blk00000001/sig000005d9 ; + wire \blk00000001/sig000005d8 ; + wire \blk00000001/sig000005d7 ; + wire \blk00000001/sig000005d6 ; + wire \blk00000001/sig000005d5 ; + wire \blk00000001/sig000005d4 ; + wire \blk00000001/sig000005d3 ; + wire \blk00000001/sig000005d2 ; + wire \blk00000001/sig000005d1 ; + wire \blk00000001/sig000005d0 ; + wire \blk00000001/sig000005cf ; + wire \blk00000001/sig000005ce ; + wire \blk00000001/sig000005cd ; + wire \blk00000001/sig000005cc ; + wire \blk00000001/sig000005cb ; + wire \blk00000001/sig000005ca ; + wire \blk00000001/sig000005c9 ; + wire \blk00000001/sig000005c8 ; + wire \blk00000001/sig000005c7 ; + wire \blk00000001/sig000005c6 ; + wire \blk00000001/sig000005c5 ; + wire \blk00000001/sig000005c4 ; + wire \blk00000001/sig000005c3 ; + wire \blk00000001/sig000005c2 ; + wire \blk00000001/sig000005c1 ; + wire \blk00000001/sig000005c0 ; + wire \blk00000001/sig000005bf ; + wire \blk00000001/sig000005be ; + wire \blk00000001/sig000005bd ; + wire \blk00000001/sig000005bc ; + wire \blk00000001/sig000005bb ; + wire \blk00000001/sig000005ba ; + wire \blk00000001/sig000005b9 ; + wire \blk00000001/sig000005b8 ; + wire \blk00000001/sig000005b7 ; + wire \blk00000001/sig000005b6 ; + wire \blk00000001/sig000005b5 ; + wire \blk00000001/sig000005b4 ; + wire \blk00000001/sig000005b3 ; + wire \blk00000001/sig000005b2 ; + wire \blk00000001/sig000005b1 ; + wire \blk00000001/sig000005b0 ; + wire \blk00000001/sig000005af ; + wire \blk00000001/sig000005ae ; + wire \blk00000001/sig000005ad ; + wire \blk00000001/sig000005ac ; + wire \blk00000001/sig000005ab ; + wire \blk00000001/sig000005aa ; + wire \blk00000001/sig000005a9 ; + wire \blk00000001/sig000005a8 ; + wire \blk00000001/sig000005a7 ; + wire \blk00000001/sig000005a6 ; + wire \blk00000001/sig000005a5 ; + wire \blk00000001/sig000005a4 ; + wire \blk00000001/sig000005a3 ; + wire \blk00000001/sig000005a2 ; + wire \blk00000001/sig000005a1 ; + wire \blk00000001/sig000005a0 ; + wire \blk00000001/sig0000059f ; + wire \blk00000001/sig0000059e ; + wire \blk00000001/sig0000059d ; + wire \blk00000001/sig0000059c ; + wire \blk00000001/sig0000059b ; + wire \blk00000001/sig0000059a ; + wire \blk00000001/sig00000599 ; + wire \blk00000001/sig00000598 ; + wire \blk00000001/sig00000597 ; + wire \blk00000001/sig00000596 ; + wire \blk00000001/sig00000595 ; + wire \blk00000001/sig00000594 ; + wire \blk00000001/sig00000593 ; + wire \blk00000001/sig00000592 ; + wire \blk00000001/sig00000591 ; + wire \blk00000001/sig00000590 ; + wire \blk00000001/sig0000058f ; + wire \blk00000001/sig0000058e ; + wire \blk00000001/sig0000058d ; + wire \blk00000001/sig0000058c ; + wire \blk00000001/sig0000058b ; + wire \blk00000001/sig0000058a ; + wire \blk00000001/sig00000589 ; + wire \blk00000001/sig00000588 ; + wire \blk00000001/sig00000587 ; + wire \blk00000001/sig00000586 ; + wire \blk00000001/sig00000585 ; + wire \blk00000001/sig00000584 ; + wire \blk00000001/sig00000583 ; + wire \blk00000001/sig00000582 ; + wire \blk00000001/sig00000581 ; + wire \blk00000001/sig00000580 ; + wire \blk00000001/sig0000057f ; + wire \blk00000001/sig0000057e ; + wire \blk00000001/sig0000057d ; + wire \blk00000001/sig0000057c ; + wire \blk00000001/sig0000057b ; + wire \blk00000001/sig0000057a ; + wire \blk00000001/sig00000579 ; + wire \blk00000001/sig00000578 ; + wire \blk00000001/sig00000577 ; + wire \blk00000001/sig00000576 ; + wire \blk00000001/sig00000575 ; + wire \blk00000001/sig00000574 ; + wire \blk00000001/sig00000573 ; + wire \blk00000001/sig00000572 ; + wire \blk00000001/sig00000571 ; + wire \blk00000001/sig00000570 ; + wire \blk00000001/sig0000056f ; + wire \blk00000001/sig0000056e ; + wire \blk00000001/sig0000056d ; + wire \blk00000001/sig0000056c ; + wire \blk00000001/sig0000056b ; + wire \blk00000001/sig0000056a ; + wire \blk00000001/sig00000569 ; + wire \blk00000001/sig00000568 ; + wire \blk00000001/sig00000567 ; + wire \blk00000001/sig00000566 ; + wire \blk00000001/sig00000565 ; + wire \blk00000001/sig00000564 ; + wire \blk00000001/sig00000563 ; + wire \blk00000001/sig00000562 ; + wire \blk00000001/sig00000561 ; + wire \blk00000001/sig00000560 ; + wire \blk00000001/sig0000055f ; + wire \blk00000001/sig0000055e ; + wire \blk00000001/sig0000055d ; + wire \blk00000001/sig0000055c ; + wire \blk00000001/sig0000055b ; + wire \blk00000001/sig0000055a ; + wire \blk00000001/sig00000559 ; + wire \blk00000001/sig00000558 ; + wire \blk00000001/sig00000557 ; + wire \blk00000001/sig00000556 ; + wire \blk00000001/sig00000555 ; + wire \blk00000001/sig00000554 ; + wire \blk00000001/sig00000553 ; + wire \blk00000001/sig00000552 ; + wire \blk00000001/sig00000551 ; + wire \blk00000001/sig00000550 ; + wire \blk00000001/sig0000054f ; + wire \blk00000001/sig0000054e ; + wire \blk00000001/sig0000054d ; + wire \blk00000001/sig0000054c ; + wire \blk00000001/sig0000054b ; + wire \blk00000001/sig0000054a ; + wire \blk00000001/sig00000549 ; + wire \blk00000001/sig00000548 ; + wire \blk00000001/sig00000547 ; + wire \blk00000001/sig00000546 ; + wire \blk00000001/sig00000545 ; + wire \blk00000001/sig00000544 ; + wire \blk00000001/sig00000543 ; + wire \blk00000001/sig00000542 ; + wire \blk00000001/sig00000541 ; + wire \blk00000001/sig00000540 ; + wire \blk00000001/sig0000053f ; + wire \blk00000001/sig0000053e ; + wire \blk00000001/sig0000053d ; + wire \blk00000001/sig0000053c ; + wire \blk00000001/sig0000053b ; + wire \blk00000001/sig0000053a ; + wire \blk00000001/sig00000539 ; + wire \blk00000001/sig00000538 ; + wire \blk00000001/sig00000537 ; + wire \blk00000001/sig00000536 ; + wire \blk00000001/sig00000535 ; + wire \blk00000001/sig00000534 ; + wire \blk00000001/sig00000533 ; + wire \blk00000001/sig00000532 ; + wire \blk00000001/sig00000531 ; + wire \blk00000001/sig00000530 ; + wire \blk00000001/sig0000052f ; + wire \blk00000001/sig0000052e ; + wire \blk00000001/sig0000052d ; + wire \blk00000001/sig0000052c ; + wire \blk00000001/sig0000052b ; + wire \blk00000001/sig0000052a ; + wire \blk00000001/sig00000529 ; + wire \blk00000001/sig00000528 ; + wire \blk00000001/sig00000527 ; + wire \blk00000001/sig00000526 ; + wire \blk00000001/sig00000525 ; + wire \blk00000001/sig00000524 ; + wire \blk00000001/sig00000523 ; + wire \blk00000001/sig00000522 ; + wire \blk00000001/sig00000521 ; + wire \blk00000001/sig00000520 ; + wire \blk00000001/sig0000051f ; + wire \blk00000001/sig0000051e ; + wire \blk00000001/sig0000051d ; + wire \blk00000001/sig0000051c ; + wire \blk00000001/sig0000051b ; + wire \blk00000001/sig0000051a ; + wire \blk00000001/sig00000519 ; + wire \blk00000001/sig00000518 ; + wire \blk00000001/sig00000517 ; + wire \blk00000001/sig00000516 ; + wire \blk00000001/sig00000515 ; + wire \blk00000001/sig00000514 ; + wire \blk00000001/sig00000513 ; + wire \blk00000001/sig00000512 ; + wire \blk00000001/sig00000511 ; + wire \blk00000001/sig00000510 ; + wire \blk00000001/sig0000050f ; + wire \blk00000001/sig0000050e ; + wire \blk00000001/sig0000050d ; + wire \blk00000001/sig0000050c ; + wire \blk00000001/sig0000050b ; + wire \blk00000001/sig0000050a ; + wire \blk00000001/sig00000509 ; + wire \blk00000001/sig00000508 ; + wire \blk00000001/sig00000507 ; + wire \blk00000001/sig00000506 ; + wire \blk00000001/sig00000505 ; + wire \blk00000001/sig00000504 ; + wire \blk00000001/sig00000503 ; + wire \blk00000001/sig00000502 ; + wire \blk00000001/sig00000501 ; + wire \blk00000001/sig00000500 ; + wire \blk00000001/sig000004ff ; + wire \blk00000001/sig000004fe ; + wire \blk00000001/sig000004fd ; + wire \blk00000001/sig000004fc ; + wire \blk00000001/sig000004fb ; + wire \blk00000001/sig000004fa ; + wire \blk00000001/sig000004f9 ; + wire \blk00000001/sig000004f8 ; + wire \blk00000001/sig000004f7 ; + wire \blk00000001/sig000004f6 ; + wire \blk00000001/sig000004f5 ; + wire \blk00000001/sig000004f4 ; + wire \blk00000001/sig000004f3 ; + wire \blk00000001/sig000004f2 ; + wire \blk00000001/sig000004f1 ; + wire \blk00000001/sig000004f0 ; + wire \blk00000001/sig000004ef ; + wire \blk00000001/sig000004ee ; + wire \blk00000001/sig000004ed ; + wire \blk00000001/sig000004ec ; + wire \blk00000001/sig000004eb ; + wire \blk00000001/sig000004ea ; + wire \blk00000001/sig000004e9 ; + wire \blk00000001/sig000004e8 ; + wire \blk00000001/sig000004e7 ; + wire \blk00000001/sig000004e6 ; + wire \blk00000001/sig000004e5 ; + wire \blk00000001/sig000004e4 ; + wire \blk00000001/sig000004e3 ; + wire \blk00000001/sig000004e2 ; + wire \blk00000001/sig000004e1 ; + wire \blk00000001/sig000004e0 ; + wire \blk00000001/sig000004df ; + wire \blk00000001/sig000004de ; + wire \blk00000001/sig000004dd ; + wire \blk00000001/sig000004dc ; + wire \blk00000001/sig000004db ; + wire \blk00000001/sig000004da ; + wire \blk00000001/sig000004d9 ; + wire \blk00000001/sig000004d8 ; + wire \blk00000001/sig000004d7 ; + wire \blk00000001/sig000004d6 ; + wire \blk00000001/sig000004d5 ; + wire \blk00000001/sig000004d4 ; + wire \blk00000001/sig000004d3 ; + wire \blk00000001/sig000004d2 ; + wire \blk00000001/sig000004d1 ; + wire \blk00000001/sig000004d0 ; + wire \blk00000001/sig000004cf ; + wire \blk00000001/sig000004ce ; + wire \blk00000001/sig000004cd ; + wire \blk00000001/sig000004cc ; + wire \blk00000001/sig000004cb ; + wire \blk00000001/sig000004ca ; + wire \blk00000001/sig000004c9 ; + wire \blk00000001/sig000004c8 ; + wire \blk00000001/sig000004c7 ; + wire \blk00000001/sig000004c6 ; + wire \blk00000001/sig000004c5 ; + wire \blk00000001/sig000004c4 ; + wire \blk00000001/sig000004c3 ; + wire \blk00000001/sig000004c2 ; + wire \blk00000001/sig000004c1 ; + wire \blk00000001/sig000004c0 ; + wire \blk00000001/sig000004bf ; + wire \blk00000001/sig000004be ; + wire \blk00000001/sig000004bd ; + wire \blk00000001/sig000004bc ; + wire \blk00000001/sig000004bb ; + wire \blk00000001/sig000004ba ; + wire \blk00000001/sig000004b9 ; + wire \blk00000001/sig000004b8 ; + wire \blk00000001/sig000004b7 ; + wire \blk00000001/sig000004b6 ; + wire \blk00000001/sig000004b5 ; + wire \blk00000001/sig000004b4 ; + wire \blk00000001/sig000004b3 ; + wire \blk00000001/sig000004b2 ; + wire \blk00000001/sig000004b1 ; + wire \blk00000001/sig000004b0 ; + wire \blk00000001/sig000004af ; + wire \blk00000001/sig000004ae ; + wire \blk00000001/sig000004ad ; + wire \blk00000001/sig000004ac ; + wire \blk00000001/sig000004ab ; + wire \blk00000001/sig000004aa ; + wire \blk00000001/sig000004a9 ; + wire \blk00000001/sig000004a8 ; + wire \blk00000001/sig000004a7 ; + wire \blk00000001/sig000004a6 ; + wire \blk00000001/sig000004a5 ; + wire \blk00000001/sig000004a4 ; + wire \blk00000001/sig000004a3 ; + wire \blk00000001/sig000004a2 ; + wire \blk00000001/sig000004a1 ; + wire \blk00000001/sig000004a0 ; + wire \blk00000001/sig0000049f ; + wire \blk00000001/sig0000049e ; + wire \blk00000001/sig0000049d ; + wire \blk00000001/sig0000049c ; + wire \blk00000001/sig0000049b ; + wire \blk00000001/sig0000049a ; + wire \blk00000001/sig00000499 ; + wire \blk00000001/sig00000498 ; + wire \blk00000001/sig00000497 ; + wire \blk00000001/sig00000496 ; + wire \blk00000001/sig00000495 ; + wire \blk00000001/sig00000494 ; + wire \blk00000001/sig00000493 ; + wire \blk00000001/sig00000492 ; + wire \blk00000001/sig00000491 ; + wire \blk00000001/sig00000490 ; + wire \blk00000001/sig0000048f ; + wire \blk00000001/sig0000048e ; + wire \blk00000001/sig0000048d ; + wire \blk00000001/sig0000048c ; + wire \blk00000001/sig0000048b ; + wire \blk00000001/sig0000048a ; + wire \blk00000001/sig00000489 ; + wire \blk00000001/sig00000488 ; + wire \blk00000001/sig00000487 ; + wire \blk00000001/sig00000486 ; + wire \blk00000001/sig00000485 ; + wire \blk00000001/sig00000484 ; + wire \blk00000001/sig00000483 ; + wire \blk00000001/sig00000482 ; + wire \blk00000001/sig00000481 ; + wire \blk00000001/sig00000480 ; + wire \blk00000001/sig0000047f ; + wire \blk00000001/sig0000047e ; + wire \blk00000001/sig0000047d ; + wire \blk00000001/sig0000047c ; + wire \blk00000001/sig0000047b ; + wire \blk00000001/sig0000047a ; + wire \blk00000001/sig00000479 ; + wire \blk00000001/sig00000478 ; + wire \blk00000001/sig00000477 ; + wire \blk00000001/sig00000476 ; + wire \blk00000001/sig00000475 ; + wire \blk00000001/sig00000474 ; + wire \blk00000001/sig00000473 ; + wire \blk00000001/sig00000472 ; + wire \blk00000001/sig00000471 ; + wire \blk00000001/sig00000470 ; + wire \blk00000001/sig0000046f ; + wire \blk00000001/sig0000046e ; + wire \blk00000001/sig0000046d ; + wire \blk00000001/sig0000046c ; + wire \blk00000001/sig0000046b ; + wire \blk00000001/sig0000046a ; + wire \blk00000001/sig00000469 ; + wire \blk00000001/sig00000468 ; + wire \blk00000001/sig00000467 ; + wire \blk00000001/sig00000466 ; + wire \blk00000001/sig00000465 ; + wire \blk00000001/sig00000464 ; + wire \blk00000001/sig00000463 ; + wire \blk00000001/sig00000462 ; + wire \blk00000001/sig00000461 ; + wire \blk00000001/sig00000460 ; + wire \blk00000001/sig0000045f ; + wire \blk00000001/sig0000045e ; + wire \blk00000001/sig0000045d ; + wire \blk00000001/sig0000045c ; + wire \blk00000001/sig0000045b ; + wire \blk00000001/sig0000045a ; + wire \blk00000001/sig00000459 ; + wire \blk00000001/sig00000458 ; + wire \blk00000001/sig00000457 ; + wire \blk00000001/sig00000456 ; + wire \blk00000001/sig00000455 ; + wire \blk00000001/sig00000454 ; + wire \blk00000001/sig00000453 ; + wire \blk00000001/sig00000452 ; + wire \blk00000001/sig00000451 ; + wire \blk00000001/sig00000450 ; + wire \blk00000001/sig0000044f ; + wire \blk00000001/sig0000044e ; + wire \blk00000001/sig0000044d ; + wire \blk00000001/sig0000044c ; + wire \blk00000001/sig0000044b ; + wire \blk00000001/sig0000044a ; + wire \blk00000001/sig00000449 ; + wire \blk00000001/sig00000448 ; + wire \blk00000001/sig00000447 ; + wire \blk00000001/sig00000446 ; + wire \blk00000001/sig00000445 ; + wire \blk00000001/sig00000444 ; + wire \blk00000001/sig00000443 ; + wire \blk00000001/sig00000442 ; + wire \blk00000001/sig00000441 ; + wire \blk00000001/sig00000440 ; + wire \blk00000001/sig0000043f ; + wire \blk00000001/sig0000043e ; + wire \blk00000001/sig0000043d ; + wire \blk00000001/sig0000043c ; + wire \blk00000001/sig0000043b ; + wire \blk00000001/sig0000043a ; + wire \blk00000001/sig00000439 ; + wire \blk00000001/sig00000438 ; + wire \blk00000001/sig00000437 ; + wire \blk00000001/sig00000436 ; + wire \blk00000001/sig00000435 ; + wire \blk00000001/sig00000434 ; + wire \blk00000001/sig00000433 ; + wire \blk00000001/sig00000432 ; + wire \blk00000001/sig00000431 ; + wire \blk00000001/sig00000430 ; + wire \blk00000001/sig0000042f ; + wire \blk00000001/sig0000042e ; + wire \blk00000001/sig0000042d ; + wire \blk00000001/sig0000042c ; + wire \blk00000001/sig0000042b ; + wire \blk00000001/sig0000042a ; + wire \blk00000001/sig00000429 ; + wire \blk00000001/sig00000428 ; + wire \blk00000001/sig00000427 ; + wire \blk00000001/sig00000426 ; + wire \blk00000001/sig00000425 ; + wire \blk00000001/sig00000424 ; + wire \blk00000001/sig00000423 ; + wire \blk00000001/sig00000422 ; + wire \blk00000001/sig00000421 ; + wire \blk00000001/sig00000420 ; + wire \blk00000001/sig0000041f ; + wire \blk00000001/sig0000041e ; + wire \blk00000001/sig0000041d ; + wire \blk00000001/sig0000041c ; + wire \blk00000001/sig0000041b ; + wire \blk00000001/sig0000041a ; + wire \blk00000001/sig00000419 ; + wire \blk00000001/sig00000418 ; + wire \blk00000001/sig00000417 ; + wire \blk00000001/sig00000416 ; + wire \blk00000001/sig00000415 ; + wire \blk00000001/sig00000414 ; + wire \blk00000001/sig00000413 ; + wire \blk00000001/sig00000412 ; + wire \blk00000001/sig00000411 ; + wire \blk00000001/sig00000410 ; + wire \blk00000001/sig0000040f ; + wire \blk00000001/sig0000040e ; + wire \blk00000001/sig0000040d ; + wire \blk00000001/sig0000040c ; + wire \blk00000001/sig0000040b ; + wire \blk00000001/sig0000040a ; + wire \blk00000001/sig00000409 ; + wire \blk00000001/sig00000408 ; + wire \blk00000001/sig00000407 ; + wire \blk00000001/sig00000406 ; + wire \blk00000001/sig00000405 ; + wire \blk00000001/sig00000404 ; + wire \blk00000001/sig00000403 ; + wire \blk00000001/sig00000402 ; + wire \blk00000001/sig00000401 ; + wire \blk00000001/sig00000400 ; + wire \blk00000001/sig000003ff ; + wire \blk00000001/sig000003fe ; + wire \blk00000001/sig000003fd ; + wire \blk00000001/sig000003fc ; + wire \blk00000001/sig000003fb ; + wire \blk00000001/sig000003fa ; + wire \blk00000001/sig000003f9 ; + wire \blk00000001/sig000003f8 ; + wire \blk00000001/sig000003f7 ; + wire \blk00000001/sig000003f6 ; + wire \blk00000001/sig000003f5 ; + wire \blk00000001/sig000003f4 ; + wire \blk00000001/sig000003f3 ; + wire \blk00000001/sig000003f2 ; + wire \blk00000001/sig000003f1 ; + wire \blk00000001/sig000003f0 ; + wire \blk00000001/sig000003ef ; + wire \blk00000001/sig000003ee ; + wire \blk00000001/sig000003ed ; + wire \blk00000001/sig000003ec ; + wire \blk00000001/sig000003eb ; + wire \blk00000001/sig000003ea ; + wire \blk00000001/sig000003e9 ; + wire \blk00000001/sig000003e8 ; + wire \blk00000001/sig000003e7 ; + wire \blk00000001/sig000003e6 ; + wire \blk00000001/sig000003e5 ; + wire \blk00000001/sig000003e4 ; + wire \blk00000001/sig000003e3 ; + wire \blk00000001/sig000003e2 ; + wire \blk00000001/sig000003e1 ; + wire \blk00000001/sig000003e0 ; + wire \blk00000001/sig000003df ; + wire \blk00000001/sig000003de ; + wire \blk00000001/sig000003dd ; + wire \blk00000001/sig000003dc ; + wire \blk00000001/sig000003db ; + wire \blk00000001/sig000003da ; + wire \blk00000001/sig000003d9 ; + wire \blk00000001/sig000003d8 ; + wire \blk00000001/sig000003d7 ; + wire \blk00000001/sig000003d6 ; + wire \blk00000001/sig000003d5 ; + wire \blk00000001/sig000003d4 ; + wire \blk00000001/sig000003d3 ; + wire \blk00000001/sig000003d2 ; + wire \blk00000001/sig000003d1 ; + wire \blk00000001/sig000003d0 ; + wire \blk00000001/sig000003cf ; + wire \blk00000001/sig000003ce ; + wire \blk00000001/sig000003cd ; + wire \blk00000001/sig000003cc ; + wire \blk00000001/sig000003cb ; + wire \blk00000001/sig000003ca ; + wire \blk00000001/sig000003c9 ; + wire \blk00000001/sig000003c8 ; + wire \blk00000001/sig000003c7 ; + wire \blk00000001/sig000003c6 ; + wire \blk00000001/sig000003c5 ; + wire \blk00000001/sig000003c4 ; + wire \blk00000001/sig000003c3 ; + wire \blk00000001/sig000003c2 ; + wire \blk00000001/sig000003c1 ; + wire \blk00000001/sig000003c0 ; + wire \blk00000001/sig000003bf ; + wire \blk00000001/sig000003be ; + wire \blk00000001/sig000003bd ; + wire \blk00000001/sig000003bc ; + wire \blk00000001/sig000003bb ; + wire \blk00000001/sig000003ba ; + wire \blk00000001/sig000003b9 ; + wire \blk00000001/sig000003b8 ; + wire \blk00000001/sig000003b7 ; + wire \blk00000001/sig000003b6 ; + wire \blk00000001/sig000003b5 ; + wire \blk00000001/sig000003b4 ; + wire \blk00000001/sig000003b3 ; + wire \blk00000001/sig000003b2 ; + wire \blk00000001/sig000003b1 ; + wire \blk00000001/sig000003b0 ; + wire \blk00000001/sig000003af ; + wire \blk00000001/sig000003ae ; + wire \blk00000001/sig000003ad ; + wire \blk00000001/sig000003ac ; + wire \blk00000001/sig000003ab ; + wire \blk00000001/sig000003aa ; + wire \blk00000001/sig000003a9 ; + wire \blk00000001/sig000003a8 ; + wire \blk00000001/sig000003a7 ; + wire \blk00000001/sig000003a6 ; + wire \blk00000001/sig000003a5 ; + wire \blk00000001/sig000003a4 ; + wire \blk00000001/sig000003a3 ; + wire \blk00000001/sig000003a2 ; + wire \blk00000001/sig000003a1 ; + wire \blk00000001/sig000003a0 ; + wire \blk00000001/sig0000039f ; + wire \blk00000001/sig0000039e ; + wire \blk00000001/sig0000039d ; + wire \blk00000001/sig0000039c ; + wire \blk00000001/sig0000039b ; + wire \blk00000001/sig0000039a ; + wire \blk00000001/sig00000399 ; + wire \blk00000001/sig00000398 ; + wire \blk00000001/sig00000397 ; + wire \blk00000001/sig00000396 ; + wire \blk00000001/sig00000395 ; + wire \blk00000001/sig00000394 ; + wire \blk00000001/sig00000393 ; + wire \blk00000001/sig00000392 ; + wire \blk00000001/sig00000391 ; + wire \blk00000001/sig00000390 ; + wire \blk00000001/sig0000038f ; + wire \blk00000001/sig0000038e ; + wire \blk00000001/sig0000038d ; + wire \blk00000001/sig0000038c ; + wire \blk00000001/sig0000038b ; + wire \blk00000001/sig0000038a ; + wire \blk00000001/sig00000389 ; + wire \blk00000001/sig00000388 ; + wire \blk00000001/sig00000387 ; + wire \blk00000001/sig00000386 ; + wire \blk00000001/sig00000385 ; + wire \blk00000001/sig00000384 ; + wire \blk00000001/sig00000383 ; + wire \blk00000001/sig00000382 ; + wire \blk00000001/sig00000381 ; + wire \blk00000001/sig00000380 ; + wire \blk00000001/sig0000037f ; + wire \blk00000001/sig0000037e ; + wire \blk00000001/sig0000037d ; + wire \blk00000001/sig0000037c ; + wire \blk00000001/sig0000037b ; + wire \blk00000001/sig0000037a ; + wire \blk00000001/sig00000379 ; + wire \blk00000001/sig00000378 ; + wire \blk00000001/sig00000377 ; + wire \blk00000001/sig00000376 ; + wire \blk00000001/sig00000375 ; + wire \blk00000001/sig00000374 ; + wire \blk00000001/sig00000373 ; + wire \blk00000001/sig00000372 ; + wire \blk00000001/sig00000371 ; + wire \blk00000001/sig00000370 ; + wire \blk00000001/sig0000036f ; + wire \blk00000001/sig0000036e ; + wire \blk00000001/sig0000036d ; + wire \blk00000001/sig0000036c ; + wire \blk00000001/sig0000036b ; + wire \blk00000001/sig0000036a ; + wire \blk00000001/sig00000369 ; + wire \blk00000001/sig00000368 ; + wire \blk00000001/sig00000367 ; + wire \blk00000001/sig00000366 ; + wire \blk00000001/sig00000365 ; + wire \blk00000001/sig00000364 ; + wire \blk00000001/sig00000363 ; + wire \blk00000001/sig00000362 ; + wire \blk00000001/sig00000361 ; + wire \blk00000001/sig00000360 ; + wire \blk00000001/sig0000035f ; + wire \blk00000001/sig0000035e ; + wire \blk00000001/sig0000035d ; + wire \blk00000001/sig0000035c ; + wire \blk00000001/sig0000035b ; + wire \blk00000001/sig0000035a ; + wire \blk00000001/sig00000359 ; + wire \blk00000001/sig00000358 ; + wire \blk00000001/sig00000357 ; + wire \blk00000001/sig00000356 ; + wire \blk00000001/sig00000355 ; + wire \blk00000001/sig00000354 ; + wire \blk00000001/sig00000353 ; + wire \blk00000001/sig00000352 ; + wire \blk00000001/sig00000351 ; + wire \blk00000001/sig00000350 ; + wire \blk00000001/sig0000034f ; + wire \blk00000001/sig0000034e ; + wire \blk00000001/sig0000034d ; + wire \blk00000001/sig0000034c ; + wire \blk00000001/sig0000034b ; + wire \blk00000001/sig0000034a ; + wire \blk00000001/sig00000349 ; + wire \blk00000001/sig00000348 ; + wire \blk00000001/sig00000347 ; + wire \blk00000001/sig00000346 ; + wire \blk00000001/sig00000345 ; + wire \blk00000001/sig00000344 ; + wire \blk00000001/sig00000343 ; + wire \blk00000001/sig00000342 ; + wire \blk00000001/sig00000341 ; + wire \blk00000001/sig00000340 ; + wire \blk00000001/sig0000033f ; + wire \blk00000001/sig0000033e ; + wire \blk00000001/sig0000033d ; + wire \blk00000001/sig0000033c ; + wire \blk00000001/sig0000033b ; + wire \blk00000001/sig0000033a ; + wire \blk00000001/sig00000339 ; + wire \blk00000001/sig00000338 ; + wire \blk00000001/sig00000337 ; + wire \blk00000001/sig00000336 ; + wire \blk00000001/sig00000335 ; + wire \blk00000001/sig00000334 ; + wire \blk00000001/sig00000333 ; + wire \blk00000001/sig00000332 ; + wire \blk00000001/sig00000331 ; + wire \blk00000001/sig00000330 ; + wire \blk00000001/sig0000032f ; + wire \blk00000001/sig0000032e ; + wire \blk00000001/sig0000032d ; + wire \blk00000001/sig0000032c ; + wire \blk00000001/sig0000032b ; + wire \blk00000001/sig0000032a ; + wire \blk00000001/sig00000329 ; + wire \blk00000001/sig00000328 ; + wire \blk00000001/sig00000327 ; + wire \blk00000001/sig00000326 ; + wire \blk00000001/sig00000325 ; + wire \blk00000001/sig00000324 ; + wire \blk00000001/sig00000323 ; + wire \blk00000001/sig00000322 ; + wire \blk00000001/sig00000321 ; + wire \blk00000001/sig00000320 ; + wire \blk00000001/sig0000031f ; + wire \blk00000001/sig0000031e ; + wire \blk00000001/sig0000031d ; + wire \blk00000001/sig0000031c ; + wire \blk00000001/sig0000031b ; + wire \blk00000001/sig0000031a ; + wire \blk00000001/sig00000319 ; + wire \blk00000001/sig00000318 ; + wire \blk00000001/sig00000317 ; + wire \blk00000001/sig00000316 ; + wire \blk00000001/sig00000315 ; + wire \blk00000001/sig00000314 ; + wire \blk00000001/sig00000313 ; + wire \blk00000001/sig00000312 ; + wire \blk00000001/sig00000311 ; + wire \blk00000001/sig00000310 ; + wire \blk00000001/sig0000030f ; + wire \blk00000001/sig0000030e ; + wire \blk00000001/sig0000030d ; + wire \blk00000001/sig0000030c ; + wire \blk00000001/sig0000030b ; + wire \blk00000001/sig0000030a ; + wire \blk00000001/sig00000309 ; + wire \blk00000001/sig00000308 ; + wire \blk00000001/sig00000307 ; + wire \blk00000001/sig00000306 ; + wire \blk00000001/sig00000305 ; + wire \blk00000001/sig00000304 ; + wire \blk00000001/sig00000303 ; + wire \blk00000001/sig00000302 ; + wire \blk00000001/sig00000301 ; + wire \blk00000001/sig00000300 ; + wire \blk00000001/sig000002ff ; + wire \blk00000001/sig000002fe ; + wire \blk00000001/sig000002fd ; + wire \blk00000001/sig000002fc ; + wire \blk00000001/sig000002fb ; + wire \blk00000001/sig000002fa ; + wire \blk00000001/sig000002f9 ; + wire \blk00000001/sig000002f8 ; + wire \blk00000001/sig000002f7 ; + wire \blk00000001/sig000002f6 ; + wire \blk00000001/sig000002f5 ; + wire \blk00000001/sig000002f4 ; + wire \blk00000001/sig000002f3 ; + wire \blk00000001/sig000002f2 ; + wire \blk00000001/sig000002f1 ; + wire \blk00000001/sig000002f0 ; + wire \blk00000001/sig000002ef ; + wire \blk00000001/sig000002ee ; + wire \blk00000001/sig000002ed ; + wire \blk00000001/sig000002ec ; + wire \blk00000001/sig000002eb ; + wire \blk00000001/sig000002ea ; + wire \blk00000001/sig000002e9 ; + wire \blk00000001/sig000002e8 ; + wire \blk00000001/sig000002e7 ; + wire \blk00000001/sig000002e6 ; + wire \blk00000001/sig000002e5 ; + wire \blk00000001/sig000002e4 ; + wire \blk00000001/sig000002e3 ; + wire \blk00000001/sig000002e2 ; + wire \blk00000001/sig000002e1 ; + wire \blk00000001/sig000002e0 ; + wire \blk00000001/sig000002df ; + wire \blk00000001/sig000002de ; + wire \blk00000001/sig000002dd ; + wire \blk00000001/sig000002dc ; + wire \blk00000001/sig000002db ; + wire \blk00000001/sig000002da ; + wire \blk00000001/sig000002d9 ; + wire \blk00000001/sig000002d8 ; + wire \blk00000001/sig000002d7 ; + wire \blk00000001/sig000002d6 ; + wire \blk00000001/sig000002d5 ; + wire \blk00000001/sig000002d4 ; + wire \blk00000001/sig000002d3 ; + wire \blk00000001/sig000002d2 ; + wire \blk00000001/sig000002d1 ; + wire \blk00000001/sig000002d0 ; + wire \blk00000001/sig000002cf ; + wire \blk00000001/sig000002ce ; + wire \blk00000001/sig000002cd ; + wire \blk00000001/sig000002cc ; + wire \blk00000001/sig000002cb ; + wire \blk00000001/sig000002ca ; + wire \blk00000001/sig000002c9 ; + wire \blk00000001/sig000002c8 ; + wire \blk00000001/sig000002c7 ; + wire \blk00000001/sig000002c6 ; + wire \blk00000001/sig000002c5 ; + wire \blk00000001/sig000002c4 ; + wire \blk00000001/sig000002c3 ; + wire \blk00000001/sig000002c2 ; + wire \blk00000001/sig000002c1 ; + wire \blk00000001/sig000002c0 ; + wire \blk00000001/sig000002bf ; + wire \blk00000001/sig000002be ; + wire \blk00000001/sig000002bd ; + wire \blk00000001/sig000002bc ; + wire \blk00000001/sig000002bb ; + wire \blk00000001/sig000002ba ; + wire \blk00000001/sig000002b9 ; + wire \blk00000001/sig000002b8 ; + wire \blk00000001/sig000002b7 ; + wire \blk00000001/sig000002b6 ; + wire \blk00000001/sig000002b5 ; + wire \blk00000001/sig000002b4 ; + wire \blk00000001/sig000002b3 ; + wire \blk00000001/sig000002b2 ; + wire \blk00000001/sig000002b1 ; + wire \blk00000001/sig000002b0 ; + wire \blk00000001/sig000002af ; + wire \blk00000001/sig000002ae ; + wire \blk00000001/sig000002ad ; + wire \blk00000001/sig000002ac ; + wire \blk00000001/sig000002ab ; + wire \blk00000001/sig000002aa ; + wire \blk00000001/sig000002a9 ; + wire \blk00000001/sig000002a8 ; + wire \blk00000001/sig000002a7 ; + wire \blk00000001/sig000002a6 ; + wire \blk00000001/sig000002a5 ; + wire \blk00000001/sig000002a4 ; + wire \blk00000001/sig000002a3 ; + wire \blk00000001/sig000002a2 ; + wire \blk00000001/sig000002a1 ; + wire \blk00000001/sig000002a0 ; + wire \blk00000001/sig0000029f ; + wire \blk00000001/sig0000029e ; + wire \blk00000001/sig0000029d ; + wire \blk00000001/sig0000029c ; + wire \blk00000001/sig0000029b ; + wire \blk00000001/sig0000029a ; + wire \blk00000001/sig00000299 ; + wire \blk00000001/sig00000298 ; + wire \blk00000001/sig00000297 ; + wire \blk00000001/sig00000296 ; + wire \blk00000001/sig00000295 ; + wire \blk00000001/sig00000294 ; + wire \blk00000001/sig00000293 ; + wire \blk00000001/sig00000292 ; + wire \blk00000001/sig00000291 ; + wire \blk00000001/sig00000290 ; + wire \blk00000001/sig0000028f ; + wire \blk00000001/sig0000028e ; + wire \blk00000001/sig0000028d ; + wire \blk00000001/sig0000028c ; + wire \blk00000001/sig0000028b ; + wire \blk00000001/sig0000028a ; + wire \blk00000001/sig00000289 ; + wire \blk00000001/sig00000288 ; + wire \blk00000001/sig00000287 ; + wire \blk00000001/sig00000286 ; + wire \blk00000001/sig00000285 ; + wire \blk00000001/sig00000284 ; + wire \blk00000001/sig00000283 ; + wire \blk00000001/sig00000282 ; + wire \blk00000001/sig00000281 ; + wire \blk00000001/sig00000280 ; + wire \blk00000001/sig0000027f ; + wire \blk00000001/sig0000027e ; + wire \blk00000001/sig0000027d ; + wire \blk00000001/sig0000027c ; + wire \blk00000001/sig0000027b ; + wire \blk00000001/sig0000027a ; + wire \blk00000001/sig00000279 ; + wire \blk00000001/sig00000278 ; + wire \blk00000001/sig00000277 ; + wire \blk00000001/sig00000276 ; + wire \blk00000001/sig00000275 ; + wire \blk00000001/sig00000274 ; + wire \blk00000001/sig00000273 ; + wire \blk00000001/sig00000272 ; + wire \blk00000001/sig00000271 ; + wire \blk00000001/sig00000270 ; + wire \blk00000001/sig0000026f ; + wire \blk00000001/sig0000026e ; + wire \blk00000001/sig0000026d ; + wire \blk00000001/sig0000026c ; + wire \blk00000001/sig0000026b ; + wire \blk00000001/sig0000026a ; + wire \blk00000001/sig00000269 ; + wire \blk00000001/sig00000268 ; + wire \blk00000001/sig00000267 ; + wire \blk00000001/sig00000266 ; + wire \blk00000001/sig00000265 ; + wire \blk00000001/sig00000264 ; + wire \blk00000001/sig00000263 ; + wire \blk00000001/sig00000262 ; + wire \blk00000001/sig00000261 ; + wire \blk00000001/sig00000260 ; + wire \blk00000001/sig0000025f ; + wire \blk00000001/sig0000025e ; + wire \blk00000001/sig0000025d ; + wire \blk00000001/sig0000025c ; + wire \blk00000001/sig0000025b ; + wire \blk00000001/sig0000025a ; + wire \blk00000001/sig00000259 ; + wire \blk00000001/sig00000258 ; + wire \blk00000001/sig00000257 ; + wire \blk00000001/sig00000256 ; + wire \blk00000001/sig00000255 ; + wire \blk00000001/sig00000254 ; + wire \blk00000001/sig00000253 ; + wire \blk00000001/sig00000252 ; + wire \blk00000001/sig00000251 ; + wire \blk00000001/sig00000250 ; + wire \blk00000001/sig0000024f ; + wire \blk00000001/sig0000024e ; + wire \blk00000001/sig0000024d ; + wire \blk00000001/sig0000024c ; + wire \blk00000001/sig0000024b ; + wire \blk00000001/sig0000024a ; + wire \blk00000001/sig00000249 ; + wire \blk00000001/sig00000248 ; + wire \blk00000001/sig00000247 ; + wire \blk00000001/sig00000246 ; + wire \blk00000001/sig00000245 ; + wire \blk00000001/sig00000244 ; + wire \blk00000001/sig00000243 ; + wire \blk00000001/sig00000242 ; + wire \blk00000001/sig00000241 ; + wire \blk00000001/sig00000240 ; + wire \blk00000001/sig0000023f ; + wire \blk00000001/sig0000023e ; + wire \blk00000001/sig0000023d ; + wire \blk00000001/sig0000023c ; + wire \blk00000001/sig0000023b ; + wire \blk00000001/sig0000023a ; + wire \blk00000001/sig00000239 ; + wire \blk00000001/sig00000238 ; + wire \blk00000001/sig00000237 ; + wire \blk00000001/sig00000236 ; + wire \blk00000001/sig00000235 ; + wire \blk00000001/sig00000234 ; + wire \blk00000001/sig00000233 ; + wire \blk00000001/sig00000232 ; + wire \blk00000001/sig00000231 ; + wire \blk00000001/sig00000230 ; + wire \blk00000001/sig0000022f ; + wire \blk00000001/sig0000022e ; + wire \blk00000001/sig0000022d ; + wire \blk00000001/sig0000022c ; + wire \blk00000001/sig0000022b ; + wire \blk00000001/sig0000022a ; + wire \blk00000001/sig00000229 ; + wire \blk00000001/sig00000228 ; + wire \blk00000001/sig00000227 ; + wire \blk00000001/sig00000226 ; + wire \blk00000001/sig00000225 ; + wire \blk00000001/sig00000224 ; + wire \blk00000001/sig00000223 ; + wire \blk00000001/sig00000222 ; + wire \blk00000001/sig00000221 ; + wire \blk00000001/sig00000220 ; + wire \blk00000001/sig0000021f ; + wire \blk00000001/sig0000021e ; + wire \blk00000001/sig0000021d ; + wire \blk00000001/sig0000021c ; + wire \blk00000001/sig0000021b ; + wire \blk00000001/sig0000021a ; + wire \blk00000001/sig00000219 ; + wire \blk00000001/sig00000218 ; + wire \blk00000001/sig00000217 ; + wire \blk00000001/sig00000216 ; + wire \blk00000001/sig00000215 ; + wire \blk00000001/sig00000214 ; + wire \blk00000001/sig00000213 ; + wire \blk00000001/sig00000212 ; + wire \blk00000001/sig00000211 ; + wire \blk00000001/sig00000210 ; + wire \blk00000001/sig0000020f ; + wire \blk00000001/sig0000020e ; + wire \blk00000001/sig0000020d ; + wire \blk00000001/sig0000020c ; + wire \blk00000001/sig0000020b ; + wire \blk00000001/sig0000020a ; + wire \blk00000001/sig00000209 ; + wire \blk00000001/sig00000208 ; + wire \blk00000001/sig00000207 ; + wire \blk00000001/sig00000206 ; + wire \blk00000001/sig00000205 ; + wire \blk00000001/sig00000204 ; + wire \blk00000001/sig00000203 ; + wire \blk00000001/sig00000202 ; + wire \blk00000001/sig00000201 ; + wire \blk00000001/sig00000200 ; + wire \blk00000001/sig000001ff ; + wire \blk00000001/sig000001fe ; + wire \blk00000001/sig000001fd ; + wire \blk00000001/sig000001fc ; + wire \blk00000001/sig000001fb ; + wire \blk00000001/sig000001fa ; + wire \blk00000001/sig000001f9 ; + wire \blk00000001/sig000001f8 ; + wire \blk00000001/sig000001f7 ; + wire \blk00000001/sig000001f6 ; + wire \blk00000001/sig000001f5 ; + wire \blk00000001/sig000001f4 ; + wire \blk00000001/sig000001f3 ; + wire \blk00000001/sig000001f2 ; + wire \blk00000001/sig000001f1 ; + wire \blk00000001/sig000001f0 ; + wire \blk00000001/sig000001ef ; + wire \blk00000001/sig000001ee ; + wire \blk00000001/sig000001ed ; + wire \blk00000001/sig000001ec ; + wire \blk00000001/sig000001eb ; + wire \blk00000001/sig000001ea ; + wire \blk00000001/sig000001e9 ; + wire \blk00000001/sig000001e8 ; + wire \blk00000001/sig000001e7 ; + wire \blk00000001/sig000001e6 ; + wire \blk00000001/sig000001e5 ; + wire \blk00000001/sig000001e4 ; + wire \blk00000001/sig000001e3 ; + wire \blk00000001/sig000001e2 ; + wire \blk00000001/sig000001e1 ; + wire \blk00000001/sig000001e0 ; + wire \blk00000001/sig000001df ; + wire \blk00000001/sig000001de ; + wire \blk00000001/sig000001dd ; + wire \blk00000001/sig000001dc ; + wire \blk00000001/sig000001db ; + wire \blk00000001/sig000001da ; + wire \blk00000001/sig000001d9 ; + wire \blk00000001/sig000001d8 ; + wire \blk00000001/sig000001d7 ; + wire \blk00000001/sig000001d6 ; + wire \blk00000001/sig000001d5 ; + wire \blk00000001/sig000001d4 ; + wire \blk00000001/sig000001d3 ; + wire \blk00000001/sig000001d2 ; + wire \blk00000001/sig000001d1 ; + wire \blk00000001/sig000001d0 ; + wire \blk00000001/sig000001cf ; + wire \blk00000001/sig000001ce ; + wire \blk00000001/sig000001cd ; + wire \blk00000001/sig000001cc ; + wire \blk00000001/sig000001cb ; + wire \blk00000001/sig000001ca ; + wire \blk00000001/sig000001c9 ; + wire \blk00000001/sig000001c8 ; + wire \blk00000001/sig000001c7 ; + wire \blk00000001/sig000001c6 ; + wire \blk00000001/sig000001c5 ; + wire \blk00000001/sig000001c4 ; + wire \blk00000001/sig000001c3 ; + wire \blk00000001/sig000001c2 ; + wire \blk00000001/sig000001c1 ; + wire \blk00000001/sig000001c0 ; + wire \blk00000001/sig000001bf ; + wire \blk00000001/sig000001be ; + wire \blk00000001/sig000001bd ; + wire \blk00000001/sig000001bc ; + wire \blk00000001/sig000001bb ; + wire \blk00000001/sig000001ba ; + wire \blk00000001/sig000001b9 ; + wire \blk00000001/sig000001b8 ; + wire \blk00000001/sig000001b7 ; + wire \blk00000001/sig000001b6 ; + wire \blk00000001/sig000001b5 ; + wire \blk00000001/sig000001b4 ; + wire \blk00000001/sig000001b3 ; + wire \blk00000001/sig000001b2 ; + wire \blk00000001/sig000001b1 ; + wire \blk00000001/sig000001b0 ; + wire \blk00000001/sig000001af ; + wire \blk00000001/sig000001ae ; + wire \blk00000001/sig000001ad ; + wire \blk00000001/sig000001ac ; + wire \blk00000001/sig000001ab ; + wire \blk00000001/sig000001aa ; + wire \blk00000001/sig000001a9 ; + wire \blk00000001/sig000001a8 ; + wire \blk00000001/sig000001a7 ; + wire \blk00000001/sig000001a6 ; + wire \blk00000001/sig000001a5 ; + wire \blk00000001/sig000001a4 ; + wire \blk00000001/sig000001a3 ; + wire \blk00000001/sig000001a2 ; + wire \blk00000001/sig000001a1 ; + wire \blk00000001/sig000001a0 ; + wire \blk00000001/sig0000019f ; + wire \blk00000001/sig0000019e ; + wire \blk00000001/sig0000019d ; + wire \blk00000001/sig0000019c ; + wire \blk00000001/sig0000019b ; + wire \blk00000001/sig0000019a ; + wire \blk00000001/sig00000199 ; + wire \blk00000001/sig00000198 ; + wire \blk00000001/sig00000197 ; + wire \blk00000001/sig00000196 ; + wire \blk00000001/sig00000195 ; + wire \blk00000001/sig00000194 ; + wire \blk00000001/sig00000193 ; + wire \blk00000001/sig00000192 ; + wire \blk00000001/sig00000191 ; + wire \blk00000001/sig00000190 ; + wire \blk00000001/sig0000018f ; + wire \blk00000001/sig0000018e ; + wire \blk00000001/sig0000018d ; + wire \blk00000001/sig0000018c ; + wire \blk00000001/sig0000018b ; + wire \blk00000001/sig0000018a ; + wire \blk00000001/sig00000189 ; + wire \blk00000001/sig00000188 ; + wire \blk00000001/sig00000187 ; + wire \blk00000001/sig00000186 ; + wire \blk00000001/sig00000185 ; + wire \blk00000001/sig00000184 ; + wire \blk00000001/sig00000183 ; + wire \blk00000001/sig00000182 ; + wire \blk00000001/sig00000181 ; + wire \blk00000001/sig00000180 ; + wire \blk00000001/sig0000017f ; + wire \blk00000001/sig0000017e ; + wire \blk00000001/sig0000017d ; + wire \blk00000001/sig0000017c ; + wire \blk00000001/sig0000017b ; + wire \blk00000001/sig0000017a ; + wire \blk00000001/sig00000179 ; + wire \blk00000001/sig00000178 ; + wire \blk00000001/sig00000177 ; + wire \blk00000001/sig00000176 ; + wire \blk00000001/sig00000175 ; + wire \blk00000001/sig00000174 ; + wire \blk00000001/sig00000173 ; + wire \blk00000001/sig00000172 ; + wire \blk00000001/sig00000171 ; + wire \blk00000001/sig00000170 ; + wire \blk00000001/sig0000016f ; + wire \blk00000001/sig0000016e ; + wire \blk00000001/sig0000016d ; + wire \blk00000001/sig0000016c ; + wire \blk00000001/sig0000016b ; + wire \blk00000001/sig0000016a ; + wire \blk00000001/sig00000169 ; + wire \blk00000001/sig00000168 ; + wire \blk00000001/sig00000167 ; + wire \blk00000001/sig00000166 ; + wire \blk00000001/sig00000165 ; + wire \blk00000001/sig00000164 ; + wire \blk00000001/sig00000163 ; + wire \blk00000001/sig00000162 ; + wire \blk00000001/sig00000161 ; + wire \blk00000001/sig00000160 ; + wire \blk00000001/sig0000015f ; + wire \blk00000001/sig0000015e ; + wire \blk00000001/sig0000015d ; + wire \blk00000001/sig0000015c ; + wire \blk00000001/sig0000015b ; + wire \blk00000001/sig0000015a ; + wire \blk00000001/sig00000159 ; + wire \blk00000001/sig00000158 ; + wire \blk00000001/sig00000157 ; + wire \blk00000001/sig00000156 ; + wire \blk00000001/sig00000155 ; + wire \blk00000001/sig00000154 ; + wire \blk00000001/sig00000153 ; + wire \blk00000001/sig00000152 ; + wire \blk00000001/sig00000151 ; + wire \blk00000001/sig00000150 ; + wire \blk00000001/sig0000014f ; + wire \blk00000001/sig0000014e ; + wire \blk00000001/sig0000014d ; + wire \blk00000001/sig0000014c ; + wire \blk00000001/sig0000014b ; + wire \blk00000001/sig0000014a ; + wire \blk00000001/sig00000149 ; + wire \blk00000001/sig00000148 ; + wire \blk00000001/sig00000147 ; + wire \blk00000001/sig00000146 ; + wire \blk00000001/sig00000145 ; + wire \blk00000001/sig00000144 ; + wire \blk00000001/sig00000143 ; + wire \blk00000001/sig00000142 ; + wire \blk00000001/sig00000141 ; + wire \blk00000001/sig00000140 ; + wire \blk00000001/sig0000013f ; + wire \blk00000001/sig0000013e ; + wire \blk00000001/sig0000013d ; + wire \blk00000001/sig0000013c ; + wire \blk00000001/sig0000013b ; + wire \blk00000001/sig0000013a ; + wire \blk00000001/sig00000139 ; + wire \blk00000001/sig00000138 ; + wire \blk00000001/sig00000137 ; + wire \blk00000001/sig00000136 ; + wire \blk00000001/sig00000135 ; + wire \blk00000001/sig00000134 ; + wire \blk00000001/sig00000133 ; + wire \blk00000001/sig00000132 ; + wire \blk00000001/sig00000131 ; + wire \blk00000001/sig00000130 ; + wire \blk00000001/sig0000012f ; + wire \blk00000001/sig0000012e ; + wire \blk00000001/sig0000012d ; + wire \blk00000001/sig0000012c ; + wire \blk00000001/sig0000012b ; + wire \blk00000001/sig0000012a ; + wire \blk00000001/sig00000129 ; + wire \blk00000001/sig00000128 ; + wire \blk00000001/sig00000127 ; + wire \blk00000001/sig00000126 ; + wire \blk00000001/sig00000125 ; + wire \blk00000001/sig00000124 ; + wire \blk00000001/sig00000123 ; + wire \blk00000001/sig00000122 ; + wire \blk00000001/sig00000121 ; + wire \blk00000001/sig00000120 ; + wire \blk00000001/sig0000011f ; + wire \blk00000001/sig0000011e ; + wire \blk00000001/sig0000011d ; + wire \blk00000001/sig0000011c ; + wire \blk00000001/sig0000011b ; + wire \blk00000001/sig0000011a ; + wire \blk00000001/sig00000119 ; + wire \blk00000001/sig00000118 ; + wire \blk00000001/sig00000117 ; + wire \blk00000001/sig00000116 ; + wire \blk00000001/sig00000115 ; + wire \blk00000001/sig00000114 ; + wire \blk00000001/sig00000113 ; + wire \blk00000001/sig00000112 ; + wire \blk00000001/sig00000111 ; + wire \blk00000001/sig00000110 ; + wire \blk00000001/sig0000010f ; + wire \blk00000001/sig0000010e ; + wire \blk00000001/sig0000010d ; + wire \blk00000001/sig0000010c ; + wire \blk00000001/sig0000010b ; + wire \blk00000001/sig0000010a ; + wire \blk00000001/sig00000109 ; + wire \blk00000001/sig00000108 ; + wire \blk00000001/sig00000107 ; + wire \blk00000001/sig00000106 ; + wire \blk00000001/sig00000105 ; + wire \blk00000001/sig00000104 ; + wire \blk00000001/sig00000103 ; + wire \blk00000001/sig00000102 ; + wire \blk00000001/sig00000101 ; + wire \blk00000001/sig00000100 ; + wire \blk00000001/sig000000ff ; + wire \blk00000001/sig000000fe ; + wire \blk00000001/sig000000fd ; + wire \blk00000001/sig000000fc ; + wire \blk00000001/sig000000fb ; + wire \blk00000001/sig000000fa ; + wire \blk00000001/sig000000f9 ; + wire \blk00000001/sig000000f8 ; + wire \blk00000001/sig000000f7 ; + wire \blk00000001/sig000000f6 ; + wire \blk00000001/sig000000f5 ; + wire \blk00000001/sig000000f4 ; + wire \blk00000001/sig000000f3 ; + wire \blk00000001/sig000000f2 ; + wire \blk00000001/sig000000f1 ; + wire \blk00000001/sig000000f0 ; + wire \blk00000001/sig000000ef ; + wire \blk00000001/sig000000ee ; + wire \blk00000001/sig000000ed ; + wire \blk00000001/sig000000ec ; + wire \blk00000001/sig000000eb ; + wire \blk00000001/sig000000ea ; + wire \blk00000001/sig000000e9 ; + wire \blk00000001/sig000000e8 ; + wire \blk00000001/sig000000e7 ; + wire \blk00000001/sig000000e6 ; + wire \blk00000001/sig000000e5 ; + wire \blk00000001/sig000000e4 ; + wire \blk00000001/sig000000e3 ; + wire \blk00000001/sig000000e2 ; + wire \blk00000001/sig000000e1 ; + wire \blk00000001/sig000000e0 ; + wire \blk00000001/sig000000df ; + wire \blk00000001/sig000000de ; + wire \blk00000001/sig000000dd ; + wire \blk00000001/sig000000dc ; + wire \blk00000001/sig000000db ; + wire \blk00000001/sig000000da ; + wire \blk00000001/sig000000d9 ; + wire \blk00000001/sig000000d8 ; + wire \blk00000001/sig000000d7 ; + wire \blk00000001/sig000000d6 ; + wire \blk00000001/sig000000d5 ; + wire \blk00000001/sig000000d4 ; + wire \blk00000001/sig000000d3 ; + wire \blk00000001/sig000000d2 ; + wire \blk00000001/sig000000d1 ; + wire \blk00000001/sig000000d0 ; + wire \blk00000001/sig000000cf ; + wire \blk00000001/sig000000ce ; + wire \blk00000001/sig000000cd ; + wire \blk00000001/sig000000cc ; + wire \blk00000001/sig000000cb ; + wire \blk00000001/sig000000ca ; + wire \blk00000001/sig000000c9 ; + wire \blk00000001/sig000000c8 ; + wire \blk00000001/sig000000c7 ; + wire \blk00000001/sig000000c6 ; + wire \blk00000001/sig000000c5 ; + wire \blk00000001/sig000000c4 ; + wire \blk00000001/sig000000c3 ; + wire \blk00000001/sig000000c2 ; + wire \blk00000001/sig000000c1 ; + wire \blk00000001/sig000000c0 ; + wire \blk00000001/sig000000bf ; + wire \blk00000001/sig000000be ; + wire \blk00000001/sig000000bd ; + wire \blk00000001/sig000000bc ; + wire \blk00000001/sig000000bb ; + wire \blk00000001/sig000000ba ; + wire \blk00000001/sig000000b9 ; + wire \blk00000001/sig000000b8 ; + wire \blk00000001/sig000000b7 ; + wire \blk00000001/sig000000b6 ; + wire \blk00000001/sig000000b5 ; + wire \blk00000001/sig000000b4 ; + wire \blk00000001/sig000000b3 ; + wire \blk00000001/sig000000b2 ; + wire \blk00000001/sig000000b1 ; + wire \blk00000001/sig000000b0 ; + wire \blk00000001/sig000000af ; + wire \blk00000001/sig000000ae ; + wire \blk00000001/sig000000ad ; + wire \blk00000001/sig000000ac ; + wire \blk00000001/sig000000ab ; + wire \blk00000001/sig000000aa ; + wire \blk00000001/sig000000a9 ; + wire \blk00000001/sig000000a8 ; + wire \blk00000001/sig000000a7 ; + wire \blk00000001/sig000000a6 ; + wire \blk00000001/sig000000a5 ; + wire \blk00000001/sig000000a4 ; + wire \blk00000001/sig000000a3 ; + wire \blk00000001/sig000000a2 ; + wire \blk00000001/sig000000a1 ; + wire \blk00000001/sig000000a0 ; + wire \blk00000001/sig0000009f ; + wire \blk00000001/sig0000009e ; + wire \blk00000001/sig0000009d ; + wire \blk00000001/sig0000009c ; + wire \blk00000001/sig0000009b ; + wire \blk00000001/sig0000009a ; + wire \blk00000001/sig00000099 ; + wire \blk00000001/sig00000098 ; + wire \blk00000001/sig00000097 ; + wire \blk00000001/sig00000096 ; + wire \blk00000001/sig00000095 ; + wire \blk00000001/sig00000094 ; + wire \blk00000001/sig00000093 ; + wire \blk00000001/sig00000092 ; + wire \blk00000001/sig00000091 ; + wire \blk00000001/sig00000090 ; + wire \blk00000001/sig0000008f ; + wire \blk00000001/sig0000008e ; + wire \blk00000001/sig0000008d ; + wire \blk00000001/sig0000008c ; + wire \blk00000001/sig0000008b ; + wire \blk00000001/sig0000008a ; + wire \blk00000001/sig00000089 ; + wire \blk00000001/sig00000088 ; + wire \blk00000001/sig00000087 ; + wire \blk00000001/sig00000086 ; + wire \blk00000001/sig00000085 ; + wire \blk00000001/sig00000084 ; + wire \blk00000001/sig00000083 ; + wire \blk00000001/sig00000082 ; + wire \blk00000001/sig00000081 ; + wire \blk00000001/sig00000080 ; + wire \blk00000001/sig0000007f ; + wire \blk00000001/sig0000007e ; + wire \blk00000001/sig0000007d ; + wire \blk00000001/sig0000007c ; + wire \blk00000001/sig0000007b ; + wire \blk00000001/sig0000007a ; + wire \blk00000001/sig00000079 ; + wire \blk00000001/sig00000078 ; + wire \blk00000001/sig00000077 ; + wire \blk00000001/sig00000076 ; + wire \blk00000001/sig00000075 ; + wire \blk00000001/sig00000074 ; + wire \blk00000001/sig00000073 ; + wire \blk00000001/sig00000072 ; + wire \blk00000001/sig00000071 ; + wire \blk00000001/sig00000070 ; + wire \blk00000001/sig0000006f ; + wire \blk00000001/sig0000006e ; + wire \blk00000001/sig0000006d ; + wire \blk00000001/sig0000006c ; + wire \blk00000001/sig0000006b ; + wire \blk00000001/sig0000006a ; + wire \blk00000001/sig00000069 ; + wire \blk00000001/sig00000068 ; + wire \blk00000001/sig00000067 ; + wire \blk00000001/sig00000066 ; + wire \blk00000001/sig00000065 ; + wire \blk00000001/sig00000064 ; + wire \blk00000001/sig00000063 ; + wire \blk00000001/sig00000062 ; + wire \blk00000001/sig00000061 ; + wire \blk00000001/sig00000060 ; + wire \blk00000001/sig0000005f ; + wire \blk00000001/sig0000005e ; + wire \blk00000001/sig0000005d ; + wire \blk00000001/sig0000005c ; + wire \blk00000001/sig0000005b ; + wire \blk00000001/sig0000005a ; + wire \blk00000001/sig00000059 ; + wire \blk00000001/sig00000058 ; + wire \blk00000001/sig00000057 ; + wire \blk00000001/sig00000056 ; + wire \NLW_blk00000001/blk00000719_Q31_UNCONNECTED ; + wire \NLW_blk00000001/blk00000718_Q_UNCONNECTED ; + wire \NLW_blk00000001/blk00000716_Q31_UNCONNECTED ; + wire \NLW_blk00000001/blk00000715_Q_UNCONNECTED ; + wire \NLW_blk00000001/blk00000713_Q31_UNCONNECTED ; + wire \NLW_blk00000001/blk00000712_Q_UNCONNECTED ; + wire \NLW_blk00000001/blk00000369_O_UNCONNECTED ; + wire \NLW_blk00000001/blk00000347_O_UNCONNECTED ; + wire \NLW_blk00000001/blk00000325_O_UNCONNECTED ; + wire \NLW_blk00000001/blk00000303_O_UNCONNECTED ; + wire \NLW_blk00000001/blk000002e1_O_UNCONNECTED ; + wire \NLW_blk00000001/blk000002bf_O_UNCONNECTED ; + wire \NLW_blk00000001/blk0000029d_O_UNCONNECTED ; + wire \NLW_blk00000001/blk0000027b_O_UNCONNECTED ; + wire \NLW_blk00000001/blk00000259_O_UNCONNECTED ; + wire \NLW_blk00000001/blk00000237_O_UNCONNECTED ; + assign + s_axis_divisor_tready = NlwRenamedSig_OI_s_axis_dividend_tready, + s_axis_dividend_tready = NlwRenamedSig_OI_s_axis_dividend_tready; + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000071a ( + .C(aclk), + .CE(\blk00000001/sig00000734 ), + .D(\blk00000001/sig0000073a ), + .Q(\blk00000001/sig00000080 ) + ); + SRLC32E #( + .INIT ( 32'h00000000 )) + \blk00000001/blk00000719 ( + .CLK(aclk), + .D(\blk00000001/sig00000739 ), + .CE(\blk00000001/sig00000734 ), + .Q(\blk00000001/sig0000073a ), + .Q31(\NLW_blk00000001/blk00000719_Q31_UNCONNECTED ), + .A({\blk00000001/sig00000363 , \blk00000001/sig00000363 , \blk00000001/sig00000734 , \blk00000001/sig00000734 , \blk00000001/sig00000734 }) + ); + SRLC32E #( + .INIT ( 32'h00000000 )) + \blk00000001/blk00000718 ( + .CLK(aclk), + .D(\blk00000001/sig00000120 ), + .CE(\blk00000001/sig00000734 ), + .Q(\NLW_blk00000001/blk00000718_Q_UNCONNECTED ), + .Q31(\blk00000001/sig00000739 ), + .A({\blk00000001/sig00000734 , \blk00000001/sig00000734 , \blk00000001/sig00000734 , \blk00000001/sig00000734 , \blk00000001/sig00000734 }) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000717 ( + .C(aclk), + .CE(\blk00000001/sig00000734 ), + .D(\blk00000001/sig00000738 ), + .Q(\blk00000001/sig00000081 ) + ); + SRLC32E #( + .INIT ( 32'h00000000 )) + \blk00000001/blk00000716 ( + .CLK(aclk), + .D(\blk00000001/sig00000737 ), + .CE(\blk00000001/sig00000734 ), + .Q(\blk00000001/sig00000738 ), + .Q31(\NLW_blk00000001/blk00000716_Q31_UNCONNECTED ), + .A({\blk00000001/sig00000363 , \blk00000001/sig00000363 , \blk00000001/sig00000734 , \blk00000001/sig00000734 , \blk00000001/sig00000734 }) + ); + SRLC32E #( + .INIT ( 32'h00000000 )) + \blk00000001/blk00000715 ( + .CLK(aclk), + .D(\blk00000001/sig00000121 ), + .CE(\blk00000001/sig00000734 ), + .Q(\NLW_blk00000001/blk00000715_Q_UNCONNECTED ), + .Q31(\blk00000001/sig00000737 ), + .A({\blk00000001/sig00000734 , \blk00000001/sig00000734 , \blk00000001/sig00000734 , \blk00000001/sig00000734 , \blk00000001/sig00000734 }) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000714 ( + .C(aclk), + .CE(\blk00000001/sig00000734 ), + .D(\blk00000001/sig00000736 ), + .Q(m_axis_dout_tvalid) + ); + SRLC32E #( + .INIT ( 32'h00000000 )) + \blk00000001/blk00000713 ( + .CLK(aclk), + .D(\blk00000001/sig00000735 ), + .CE(\blk00000001/sig00000734 ), + .Q(\blk00000001/sig00000736 ), + .Q31(\NLW_blk00000001/blk00000713_Q31_UNCONNECTED ), + .A({\blk00000001/sig00000363 , \blk00000001/sig00000734 , \blk00000001/sig00000363 , \blk00000001/sig00000734 , \blk00000001/sig00000363 }) + ); + SRLC32E #( + .INIT ( 32'h00000000 )) + \blk00000001/blk00000712 ( + .CLK(aclk), + .D(\blk00000001/sig0000072e ), + .CE(\blk00000001/sig00000734 ), + .Q(\NLW_blk00000001/blk00000712_Q_UNCONNECTED ), + .Q31(\blk00000001/sig00000735 ), + .A({\blk00000001/sig00000734 , \blk00000001/sig00000734 , \blk00000001/sig00000734 , \blk00000001/sig00000734 , \blk00000001/sig00000734 }) + ); + VCC \blk00000001/blk00000711 ( + .P(\blk00000001/sig00000734 ) + ); + INV \blk00000001/blk00000710 ( + .I(\blk00000001/sig00000232 ), + .O(\blk00000001/sig00000209 ) + ); + INV \blk00000001/blk0000070f ( + .I(\blk00000001/sig00000231 ), + .O(\blk00000001/sig00000208 ) + ); + INV \blk00000001/blk0000070e ( + .I(\blk00000001/sig00000230 ), + .O(\blk00000001/sig00000207 ) + ); + INV \blk00000001/blk0000070d ( + .I(\blk00000001/sig0000022f ), + .O(\blk00000001/sig00000206 ) + ); + INV \blk00000001/blk0000070c ( + .I(\blk00000001/sig0000022e ), + .O(\blk00000001/sig00000205 ) + ); + INV \blk00000001/blk0000070b ( + .I(\blk00000001/sig0000022d ), + .O(\blk00000001/sig00000204 ) + ); + INV \blk00000001/blk0000070a ( + .I(\blk00000001/sig0000022c ), + .O(\blk00000001/sig00000203 ) + ); + INV \blk00000001/blk00000709 ( + .I(\blk00000001/sig0000022b ), + .O(\blk00000001/sig00000202 ) + ); + INV \blk00000001/blk00000708 ( + .I(\blk00000001/sig0000022a ), + .O(\blk00000001/sig00000201 ) + ); + INV \blk00000001/blk00000707 ( + .I(\blk00000001/sig00000229 ), + .O(\blk00000001/sig00000200 ) + ); + INV \blk00000001/blk00000706 ( + .I(\blk00000001/sig00000228 ), + .O(\blk00000001/sig000001ff ) + ); + INV \blk00000001/blk00000705 ( + .I(\blk00000001/sig00000227 ), + .O(\blk00000001/sig000001fe ) + ); + INV \blk00000001/blk00000704 ( + .I(\blk00000001/sig00000226 ), + .O(\blk00000001/sig000001fd ) + ); + INV \blk00000001/blk00000703 ( + .I(\blk00000001/sig00000225 ), + .O(\blk00000001/sig000001fc ) + ); + INV \blk00000001/blk00000702 ( + .I(\blk00000001/sig00000224 ), + .O(\blk00000001/sig000001fb ) + ); + INV \blk00000001/blk00000701 ( + .I(\blk00000001/sig00000223 ), + .O(\blk00000001/sig000001fa ) + ); + INV \blk00000001/blk00000700 ( + .I(\blk00000001/sig00000222 ), + .O(\blk00000001/sig000001f9 ) + ); + INV \blk00000001/blk000006ff ( + .I(\blk00000001/sig00000221 ), + .O(\blk00000001/sig000001f8 ) + ); + INV \blk00000001/blk000006fe ( + .I(\blk00000001/sig00000220 ), + .O(\blk00000001/sig000001f7 ) + ); + INV \blk00000001/blk000006fd ( + .I(\blk00000001/sig0000021f ), + .O(\blk00000001/sig000001f6 ) + ); + INV \blk00000001/blk000006fc ( + .I(\blk00000001/sig0000021e ), + .O(\blk00000001/sig000001f5 ) + ); + INV \blk00000001/blk000006fb ( + .I(\blk00000001/sig0000021d ), + .O(\blk00000001/sig000001f4 ) + ); + INV \blk00000001/blk000006fa ( + .I(\blk00000001/sig0000021c ), + .O(\blk00000001/sig000001f3 ) + ); + INV \blk00000001/blk000006f9 ( + .I(\blk00000001/sig0000021b ), + .O(\blk00000001/sig000001f2 ) + ); + INV \blk00000001/blk000006f8 ( + .I(\blk00000001/sig0000021a ), + .O(\blk00000001/sig000001f1 ) + ); + INV \blk00000001/blk000006f7 ( + .I(\blk00000001/sig00000219 ), + .O(\blk00000001/sig000001f0 ) + ); + INV \blk00000001/blk000006f6 ( + .I(\blk00000001/sig00000218 ), + .O(\blk00000001/sig000001ef ) + ); + INV \blk00000001/blk000006f5 ( + .I(\blk00000001/sig00000217 ), + .O(\blk00000001/sig000001ee ) + ); + INV \blk00000001/blk000006f4 ( + .I(\blk00000001/sig00000216 ), + .O(\blk00000001/sig000001ed ) + ); + INV \blk00000001/blk000006f3 ( + .I(\blk00000001/sig00000215 ), + .O(\blk00000001/sig000001ec ) + ); + INV \blk00000001/blk000006f2 ( + .I(\blk00000001/sig00000214 ), + .O(\blk00000001/sig000001eb ) + ); + INV \blk00000001/blk000006f1 ( + .I(\blk00000001/sig00000213 ), + .O(\blk00000001/sig000001ea ) + ); + INV \blk00000001/blk000006f0 ( + .I(\blk00000001/sig00000212 ), + .O(\blk00000001/sig000001e9 ) + ); + INV \blk00000001/blk000006ef ( + .I(\blk00000001/sig00000211 ), + .O(\blk00000001/sig000001e8 ) + ); + INV \blk00000001/blk000006ee ( + .I(\blk00000001/sig00000210 ), + .O(\blk00000001/sig000001e7 ) + ); + INV \blk00000001/blk000006ed ( + .I(\blk00000001/sig0000020f ), + .O(\blk00000001/sig000001e6 ) + ); + INV \blk00000001/blk000006ec ( + .I(\blk00000001/sig0000020e ), + .O(\blk00000001/sig000001e5 ) + ); + INV \blk00000001/blk000006eb ( + .I(\blk00000001/sig0000020d ), + .O(\blk00000001/sig000001e4 ) + ); + INV \blk00000001/blk000006ea ( + .I(\blk00000001/sig0000020c ), + .O(\blk00000001/sig000001e3 ) + ); + INV \blk00000001/blk000006e9 ( + .I(\blk00000001/sig0000020b ), + .O(\blk00000001/sig000001e2 ) + ); + INV \blk00000001/blk000006e8 ( + .I(\blk00000001/sig00000123 ), + .O(\blk00000001/sig00000125 ) + ); + LUT1 #( + .INIT ( 2'h2 )) + \blk00000001/blk000006e7 ( + .I0(\blk00000001/sig00000059 ), + .O(\blk00000001/sig00000733 ) + ); + LUT1 #( + .INIT ( 2'h2 )) + \blk00000001/blk000006e6 ( + .I0(\blk00000001/sig00000068 ), + .O(\blk00000001/sig00000732 ) + ); + LUT1 #( + .INIT ( 2'h2 )) + \blk00000001/blk000006e5 ( + .I0(s_axis_divisor_tdata[0]), + .O(\blk00000001/sig00000731 ) + ); + LUT1 #( + .INIT ( 2'h2 )) + \blk00000001/blk000006e4 ( + .I0(s_axis_dividend_tdata[0]), + .O(\blk00000001/sig00000730 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006e3 ( + .I0(\blk00000001/sig0000007f ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig00000700 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006e2 ( + .I0(\blk00000001/sig00000067 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig0000072d ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006e1 ( + .I0(\blk00000001/sig0000007e ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006ff ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006e0 ( + .I0(\blk00000001/sig00000066 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig0000072c ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006df ( + .I0(\blk00000001/sig0000007d ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006fe ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006de ( + .I0(\blk00000001/sig00000065 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig0000072b ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006dd ( + .I0(\blk00000001/sig0000007c ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006fd ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006dc ( + .I0(\blk00000001/sig00000064 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig0000072a ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006db ( + .I0(\blk00000001/sig0000007b ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006fc ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006da ( + .I0(\blk00000001/sig00000063 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig00000729 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006d9 ( + .I0(\blk00000001/sig0000007a ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006fb ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006d8 ( + .I0(\blk00000001/sig00000062 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig00000728 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006d7 ( + .I0(\blk00000001/sig00000079 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006fa ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006d6 ( + .I0(\blk00000001/sig00000061 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig00000727 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006d5 ( + .I0(\blk00000001/sig00000078 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006f9 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006d4 ( + .I0(\blk00000001/sig00000060 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig00000726 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006d3 ( + .I0(\blk00000001/sig00000077 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006f8 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006d2 ( + .I0(\blk00000001/sig0000005f ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig00000725 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006d1 ( + .I0(\blk00000001/sig00000076 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006f7 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006d0 ( + .I0(\blk00000001/sig0000005e ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig00000724 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006cf ( + .I0(\blk00000001/sig00000075 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006f6 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006ce ( + .I0(\blk00000001/sig0000005d ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig00000723 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006cd ( + .I0(\blk00000001/sig00000074 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006f5 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006cc ( + .I0(\blk00000001/sig0000005c ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig00000722 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006cb ( + .I0(\blk00000001/sig00000073 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006f4 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006ca ( + .I0(\blk00000001/sig0000005b ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig00000721 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006c9 ( + .I0(\blk00000001/sig00000072 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006f3 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006c8 ( + .I0(\blk00000001/sig0000005a ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig00000720 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006c7 ( + .I0(\blk00000001/sig00000071 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006f2 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006c6 ( + .I0(\blk00000001/sig00000070 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006f1 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006c5 ( + .I0(\blk00000001/sig0000006f ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006f0 ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006c4 ( + .I0(\blk00000001/sig0000006e ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006ef ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006c3 ( + .I0(\blk00000001/sig0000006d ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006ee ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006c2 ( + .I0(\blk00000001/sig0000006c ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006ed ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006c1 ( + .I0(\blk00000001/sig0000006b ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006ec ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006c0 ( + .I0(\blk00000001/sig0000006a ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006eb ) + ); + LUT3 #( + .INIT ( 8'h96 )) + \blk00000001/blk000006bf ( + .I0(\blk00000001/sig00000069 ), + .I1(\blk00000001/sig00000080 ), + .I2(\blk00000001/sig00000081 ), + .O(\blk00000001/sig000006ea ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk000006be ( + .I0(\blk00000001/sig00000080 ), + .I1(\blk00000001/sig00000081 ), + .O(\blk00000001/sig0000072f ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006bd ( + .I0(\blk00000001/sig00000275 ), + .I1(\blk00000001/sig00000286 ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig000006a0 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006bc ( + .I0(\blk00000001/sig00000274 ), + .I1(\blk00000001/sig00000285 ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig000006a1 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006bb ( + .I0(\blk00000001/sig00000273 ), + .I1(\blk00000001/sig00000284 ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig000006a2 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006ba ( + .I0(\blk00000001/sig00000272 ), + .I1(\blk00000001/sig00000283 ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig000006a3 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006b9 ( + .I0(\blk00000001/sig00000271 ), + .I1(\blk00000001/sig00000282 ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig000006a4 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006b8 ( + .I0(\blk00000001/sig00000270 ), + .I1(\blk00000001/sig00000281 ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig000006a5 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006b7 ( + .I0(\blk00000001/sig0000026f ), + .I1(\blk00000001/sig00000280 ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig000006a6 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006b6 ( + .I0(\blk00000001/sig0000026e ), + .I1(\blk00000001/sig0000027f ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig000006a7 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006b5 ( + .I0(\blk00000001/sig0000026d ), + .I1(\blk00000001/sig0000027e ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig000006a8 ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk000006b4 ( + .I0(\blk00000001/sig0000027c ), + .I1(\blk00000001/sig0000026c ), + .O(\blk00000001/sig000006a9 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006b3 ( + .I0(\blk00000001/sig0000027b ), + .I1(\blk00000001/sig0000028c ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig0000069a ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006b2 ( + .I0(\blk00000001/sig0000027a ), + .I1(\blk00000001/sig0000028b ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig0000069b ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006b1 ( + .I0(\blk00000001/sig00000279 ), + .I1(\blk00000001/sig0000028a ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig0000069c ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006b0 ( + .I0(\blk00000001/sig00000278 ), + .I1(\blk00000001/sig00000289 ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig0000069d ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006af ( + .I0(\blk00000001/sig00000277 ), + .I1(\blk00000001/sig00000288 ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig0000069e ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006ae ( + .I0(\blk00000001/sig00000276 ), + .I1(\blk00000001/sig00000287 ), + .I2(\blk00000001/sig0000026c ), + .O(\blk00000001/sig0000069f ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk000006ad ( + .I0(\blk00000001/sig0000027d ), + .I1(\blk00000001/sig0000026c ), + .O(\blk00000001/sig000006aa ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006ac ( + .I0(\blk00000001/sig000002cb ), + .I1(\blk00000001/sig000002dc ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig0000067f ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006ab ( + .I0(\blk00000001/sig000002ca ), + .I1(\blk00000001/sig000002db ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig00000680 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006aa ( + .I0(\blk00000001/sig000002c9 ), + .I1(\blk00000001/sig000002da ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig00000681 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006a9 ( + .I0(\blk00000001/sig000002c8 ), + .I1(\blk00000001/sig000002d9 ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig00000682 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006a8 ( + .I0(\blk00000001/sig000002c7 ), + .I1(\blk00000001/sig000002d8 ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig00000683 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006a7 ( + .I0(\blk00000001/sig000002c6 ), + .I1(\blk00000001/sig000002d7 ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig00000684 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006a6 ( + .I0(\blk00000001/sig000002c5 ), + .I1(\blk00000001/sig000002d6 ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig00000685 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006a5 ( + .I0(\blk00000001/sig000002c4 ), + .I1(\blk00000001/sig000002d5 ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig00000686 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006a4 ( + .I0(\blk00000001/sig000002c3 ), + .I1(\blk00000001/sig000002d4 ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig00000687 ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk000006a3 ( + .I0(\blk00000001/sig000002d2 ), + .I1(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig00000688 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006a2 ( + .I0(\blk00000001/sig000002d1 ), + .I1(\blk00000001/sig000002e2 ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig00000679 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006a1 ( + .I0(\blk00000001/sig000002d0 ), + .I1(\blk00000001/sig000002e1 ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig0000067a ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk000006a0 ( + .I0(\blk00000001/sig000002cf ), + .I1(\blk00000001/sig000002e0 ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig0000067b ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000069f ( + .I0(\blk00000001/sig000002ce ), + .I1(\blk00000001/sig000002df ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig0000067c ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000069e ( + .I0(\blk00000001/sig000002cd ), + .I1(\blk00000001/sig000002de ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig0000067d ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000069d ( + .I0(\blk00000001/sig000002cc ), + .I1(\blk00000001/sig000002dd ), + .I2(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig0000067e ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk0000069c ( + .I0(\blk00000001/sig000002d3 ), + .I1(\blk00000001/sig000002c2 ), + .O(\blk00000001/sig00000689 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000069b ( + .I0(\blk00000001/sig0000031d ), + .I1(\blk00000001/sig0000032e ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig0000065e ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000069a ( + .I0(\blk00000001/sig0000031c ), + .I1(\blk00000001/sig0000032d ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig0000065f ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000699 ( + .I0(\blk00000001/sig0000031b ), + .I1(\blk00000001/sig0000032c ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig00000660 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000698 ( + .I0(\blk00000001/sig0000031a ), + .I1(\blk00000001/sig0000032b ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig00000661 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000697 ( + .I0(\blk00000001/sig00000319 ), + .I1(\blk00000001/sig0000032a ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig00000662 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000696 ( + .I0(\blk00000001/sig00000318 ), + .I1(\blk00000001/sig00000329 ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig00000663 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000695 ( + .I0(\blk00000001/sig00000317 ), + .I1(\blk00000001/sig00000328 ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig00000664 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000694 ( + .I0(\blk00000001/sig00000316 ), + .I1(\blk00000001/sig00000327 ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig00000665 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000693 ( + .I0(\blk00000001/sig00000315 ), + .I1(\blk00000001/sig00000326 ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig00000666 ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk00000692 ( + .I0(\blk00000001/sig00000324 ), + .I1(\blk00000001/sig00000314 ), + .O(\blk00000001/sig00000667 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000691 ( + .I0(\blk00000001/sig00000323 ), + .I1(\blk00000001/sig00000334 ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig00000658 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000690 ( + .I0(\blk00000001/sig00000322 ), + .I1(\blk00000001/sig00000333 ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig00000659 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000068f ( + .I0(\blk00000001/sig00000321 ), + .I1(\blk00000001/sig00000332 ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig0000065a ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000068e ( + .I0(\blk00000001/sig00000320 ), + .I1(\blk00000001/sig00000331 ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig0000065b ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000068d ( + .I0(\blk00000001/sig0000031f ), + .I1(\blk00000001/sig00000330 ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig0000065c ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000068c ( + .I0(\blk00000001/sig0000031e ), + .I1(\blk00000001/sig0000032f ), + .I2(\blk00000001/sig00000314 ), + .O(\blk00000001/sig0000065d ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk0000068b ( + .I0(\blk00000001/sig00000325 ), + .I1(\blk00000001/sig00000314 ), + .O(\blk00000001/sig00000668 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000068a ( + .I0(\blk00000001/sig0000036c ), + .I1(\blk00000001/sig0000037d ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig0000063d ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000689 ( + .I0(\blk00000001/sig0000036b ), + .I1(\blk00000001/sig0000037c ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig0000063e ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000688 ( + .I0(\blk00000001/sig0000036a ), + .I1(\blk00000001/sig0000037b ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig0000063f ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000687 ( + .I0(\blk00000001/sig00000369 ), + .I1(\blk00000001/sig0000037a ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig00000640 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000686 ( + .I0(\blk00000001/sig00000368 ), + .I1(\blk00000001/sig00000379 ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig00000641 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000685 ( + .I0(\blk00000001/sig00000367 ), + .I1(\blk00000001/sig00000378 ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig00000642 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000684 ( + .I0(\blk00000001/sig00000366 ), + .I1(\blk00000001/sig00000377 ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig00000643 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000683 ( + .I0(\blk00000001/sig00000365 ), + .I1(\blk00000001/sig00000376 ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig00000644 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000682 ( + .I0(\blk00000001/sig00000364 ), + .I1(\blk00000001/sig00000375 ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig00000645 ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk00000681 ( + .I0(\blk00000001/sig00000373 ), + .I1(\blk00000001/sig00000362 ), + .O(\blk00000001/sig00000646 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000680 ( + .I0(\blk00000001/sig00000372 ), + .I1(\blk00000001/sig00000383 ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig00000637 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000067f ( + .I0(\blk00000001/sig00000371 ), + .I1(\blk00000001/sig00000382 ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig00000638 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000067e ( + .I0(\blk00000001/sig00000370 ), + .I1(\blk00000001/sig00000381 ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig00000639 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000067d ( + .I0(\blk00000001/sig0000036f ), + .I1(\blk00000001/sig00000380 ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig0000063a ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000067c ( + .I0(\blk00000001/sig0000036e ), + .I1(\blk00000001/sig0000037f ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig0000063b ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000067b ( + .I0(\blk00000001/sig0000036d ), + .I1(\blk00000001/sig0000037e ), + .I2(\blk00000001/sig00000362 ), + .O(\blk00000001/sig0000063c ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk0000067a ( + .I0(\blk00000001/sig00000374 ), + .I1(\blk00000001/sig00000362 ), + .O(\blk00000001/sig00000647 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000679 ( + .I0(\blk00000001/sig000003b7 ), + .I1(\blk00000001/sig000003c8 ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig0000061c ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000678 ( + .I0(\blk00000001/sig000003b6 ), + .I1(\blk00000001/sig000003c7 ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig0000061d ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000677 ( + .I0(\blk00000001/sig000003b5 ), + .I1(\blk00000001/sig000003c6 ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig0000061e ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000676 ( + .I0(\blk00000001/sig000003b4 ), + .I1(\blk00000001/sig000003c5 ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig0000061f ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000675 ( + .I0(\blk00000001/sig000003b3 ), + .I1(\blk00000001/sig000003c4 ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig00000620 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000674 ( + .I0(\blk00000001/sig000003b2 ), + .I1(\blk00000001/sig000003c3 ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig00000621 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000673 ( + .I0(\blk00000001/sig000003b1 ), + .I1(\blk00000001/sig000003c2 ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig00000622 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000672 ( + .I0(\blk00000001/sig000003b0 ), + .I1(\blk00000001/sig000003c1 ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig00000623 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000671 ( + .I0(\blk00000001/sig000003af ), + .I1(\blk00000001/sig000003c0 ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig00000624 ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk00000670 ( + .I0(\blk00000001/sig000003be ), + .I1(\blk00000001/sig000003ad ), + .O(\blk00000001/sig00000625 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000066f ( + .I0(\blk00000001/sig000003bd ), + .I1(\blk00000001/sig000003ce ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig00000616 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000066e ( + .I0(\blk00000001/sig000003bc ), + .I1(\blk00000001/sig000003cd ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig00000617 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000066d ( + .I0(\blk00000001/sig000003bb ), + .I1(\blk00000001/sig000003cc ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig00000618 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000066c ( + .I0(\blk00000001/sig000003ba ), + .I1(\blk00000001/sig000003cb ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig00000619 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000066b ( + .I0(\blk00000001/sig000003b9 ), + .I1(\blk00000001/sig000003ca ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig0000061a ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000066a ( + .I0(\blk00000001/sig000003b8 ), + .I1(\blk00000001/sig000003c9 ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig0000061b ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000669 ( + .I0(\blk00000001/sig000003ae ), + .I1(\blk00000001/sig000003bf ), + .I2(\blk00000001/sig000003ad ), + .O(\blk00000001/sig00000626 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000668 ( + .I0(\blk00000001/sig00000402 ), + .I1(\blk00000001/sig00000413 ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig000005fb ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000667 ( + .I0(\blk00000001/sig00000401 ), + .I1(\blk00000001/sig00000412 ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig000005fc ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000666 ( + .I0(\blk00000001/sig00000400 ), + .I1(\blk00000001/sig00000411 ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig000005fd ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000665 ( + .I0(\blk00000001/sig000003ff ), + .I1(\blk00000001/sig00000410 ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig000005fe ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000664 ( + .I0(\blk00000001/sig000003fe ), + .I1(\blk00000001/sig0000040f ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig000005ff ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000663 ( + .I0(\blk00000001/sig000003fd ), + .I1(\blk00000001/sig0000040e ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig00000600 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000662 ( + .I0(\blk00000001/sig000003fc ), + .I1(\blk00000001/sig0000040d ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig00000601 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000661 ( + .I0(\blk00000001/sig000003fb ), + .I1(\blk00000001/sig0000040c ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig00000602 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000660 ( + .I0(\blk00000001/sig000003fa ), + .I1(\blk00000001/sig0000040b ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig00000603 ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk0000065f ( + .I0(\blk00000001/sig00000409 ), + .I1(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig00000604 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000065e ( + .I0(\blk00000001/sig00000408 ), + .I1(\blk00000001/sig00000419 ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig000005f5 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000065d ( + .I0(\blk00000001/sig00000407 ), + .I1(\blk00000001/sig00000418 ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig000005f6 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000065c ( + .I0(\blk00000001/sig00000406 ), + .I1(\blk00000001/sig00000417 ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig000005f7 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000065b ( + .I0(\blk00000001/sig00000405 ), + .I1(\blk00000001/sig00000416 ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig000005f8 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000065a ( + .I0(\blk00000001/sig00000404 ), + .I1(\blk00000001/sig00000415 ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig000005f9 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000659 ( + .I0(\blk00000001/sig00000403 ), + .I1(\blk00000001/sig00000414 ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig000005fa ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000658 ( + .I0(\blk00000001/sig000003f9 ), + .I1(\blk00000001/sig0000040a ), + .I2(\blk00000001/sig000003f8 ), + .O(\blk00000001/sig00000605 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000657 ( + .I0(\blk00000001/sig0000044d ), + .I1(\blk00000001/sig0000045e ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005da ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000656 ( + .I0(\blk00000001/sig0000044c ), + .I1(\blk00000001/sig0000045d ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005db ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000655 ( + .I0(\blk00000001/sig0000044b ), + .I1(\blk00000001/sig0000045c ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005dc ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000654 ( + .I0(\blk00000001/sig0000044a ), + .I1(\blk00000001/sig0000045b ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005dd ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000653 ( + .I0(\blk00000001/sig00000449 ), + .I1(\blk00000001/sig0000045a ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005de ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000652 ( + .I0(\blk00000001/sig00000448 ), + .I1(\blk00000001/sig00000459 ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005df ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000651 ( + .I0(\blk00000001/sig00000447 ), + .I1(\blk00000001/sig00000458 ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005e0 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000650 ( + .I0(\blk00000001/sig00000446 ), + .I1(\blk00000001/sig00000457 ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005e1 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000064f ( + .I0(\blk00000001/sig00000445 ), + .I1(\blk00000001/sig00000456 ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005e2 ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk0000064e ( + .I0(\blk00000001/sig00000454 ), + .I1(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005e3 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000064d ( + .I0(\blk00000001/sig00000453 ), + .I1(\blk00000001/sig00000464 ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005d4 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000064c ( + .I0(\blk00000001/sig00000452 ), + .I1(\blk00000001/sig00000463 ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005d5 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000064b ( + .I0(\blk00000001/sig00000451 ), + .I1(\blk00000001/sig00000462 ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005d6 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000064a ( + .I0(\blk00000001/sig00000450 ), + .I1(\blk00000001/sig00000461 ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005d7 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000649 ( + .I0(\blk00000001/sig0000044f ), + .I1(\blk00000001/sig00000460 ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005d8 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000648 ( + .I0(\blk00000001/sig0000044e ), + .I1(\blk00000001/sig0000045f ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005d9 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000647 ( + .I0(\blk00000001/sig00000444 ), + .I1(\blk00000001/sig00000455 ), + .I2(\blk00000001/sig00000443 ), + .O(\blk00000001/sig000005e4 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000646 ( + .I0(\blk00000001/sig00000498 ), + .I1(\blk00000001/sig000004a9 ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005b9 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000645 ( + .I0(\blk00000001/sig00000497 ), + .I1(\blk00000001/sig000004a8 ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005ba ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000644 ( + .I0(\blk00000001/sig00000496 ), + .I1(\blk00000001/sig000004a7 ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005bb ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000643 ( + .I0(\blk00000001/sig00000495 ), + .I1(\blk00000001/sig000004a6 ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005bc ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000642 ( + .I0(\blk00000001/sig00000494 ), + .I1(\blk00000001/sig000004a5 ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005bd ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000641 ( + .I0(\blk00000001/sig00000493 ), + .I1(\blk00000001/sig000004a4 ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005be ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000640 ( + .I0(\blk00000001/sig00000492 ), + .I1(\blk00000001/sig000004a3 ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005bf ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000063f ( + .I0(\blk00000001/sig00000491 ), + .I1(\blk00000001/sig000004a2 ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005c0 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000063e ( + .I0(\blk00000001/sig00000490 ), + .I1(\blk00000001/sig000004a1 ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005c1 ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk0000063d ( + .I0(\blk00000001/sig0000049f ), + .I1(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005c2 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000063c ( + .I0(\blk00000001/sig0000049e ), + .I1(\blk00000001/sig000004af ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005b3 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000063b ( + .I0(\blk00000001/sig0000049d ), + .I1(\blk00000001/sig000004ae ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005b4 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000063a ( + .I0(\blk00000001/sig0000049c ), + .I1(\blk00000001/sig000004ad ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005b5 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000639 ( + .I0(\blk00000001/sig0000049b ), + .I1(\blk00000001/sig000004ac ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005b6 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000638 ( + .I0(\blk00000001/sig0000049a ), + .I1(\blk00000001/sig000004ab ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005b7 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000637 ( + .I0(\blk00000001/sig00000499 ), + .I1(\blk00000001/sig000004aa ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005b8 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000636 ( + .I0(\blk00000001/sig0000048f ), + .I1(\blk00000001/sig000004a0 ), + .I2(\blk00000001/sig0000048e ), + .O(\blk00000001/sig000005c3 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000635 ( + .I0(\blk00000001/sig000004e3 ), + .I1(\blk00000001/sig000004f4 ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig00000598 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000634 ( + .I0(\blk00000001/sig000004e2 ), + .I1(\blk00000001/sig000004f3 ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig00000599 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000633 ( + .I0(\blk00000001/sig000004e1 ), + .I1(\blk00000001/sig000004f2 ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig0000059a ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000632 ( + .I0(\blk00000001/sig000004e0 ), + .I1(\blk00000001/sig000004f1 ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig0000059b ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000631 ( + .I0(\blk00000001/sig000004df ), + .I1(\blk00000001/sig000004f0 ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig0000059c ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000630 ( + .I0(\blk00000001/sig000004de ), + .I1(\blk00000001/sig000004ef ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig0000059d ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000062f ( + .I0(\blk00000001/sig000004dd ), + .I1(\blk00000001/sig000004ee ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig0000059e ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000062e ( + .I0(\blk00000001/sig000004dc ), + .I1(\blk00000001/sig000004ed ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig0000059f ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000062d ( + .I0(\blk00000001/sig000004db ), + .I1(\blk00000001/sig000004ec ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig000005a0 ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk0000062c ( + .I0(\blk00000001/sig000004ea ), + .I1(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig000005a1 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000062b ( + .I0(\blk00000001/sig000004e9 ), + .I1(\blk00000001/sig000004fa ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig00000592 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000062a ( + .I0(\blk00000001/sig000004e8 ), + .I1(\blk00000001/sig000004f9 ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig00000593 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000629 ( + .I0(\blk00000001/sig000004e7 ), + .I1(\blk00000001/sig000004f8 ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig00000594 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000628 ( + .I0(\blk00000001/sig000004e6 ), + .I1(\blk00000001/sig000004f7 ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig00000595 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000627 ( + .I0(\blk00000001/sig000004e5 ), + .I1(\blk00000001/sig000004f6 ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig00000596 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000626 ( + .I0(\blk00000001/sig000004e4 ), + .I1(\blk00000001/sig000004f5 ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig00000597 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000625 ( + .I0(\blk00000001/sig000004da ), + .I1(\blk00000001/sig000004eb ), + .I2(\blk00000001/sig000004d9 ), + .O(\blk00000001/sig000005a2 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000624 ( + .I0(\blk00000001/sig0000052e ), + .I1(\blk00000001/sig0000053f ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig00000577 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000623 ( + .I0(\blk00000001/sig0000052d ), + .I1(\blk00000001/sig0000053e ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig00000578 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000622 ( + .I0(\blk00000001/sig0000052c ), + .I1(\blk00000001/sig0000053d ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig00000579 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000621 ( + .I0(\blk00000001/sig0000052b ), + .I1(\blk00000001/sig0000053c ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig0000057a ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000620 ( + .I0(\blk00000001/sig0000052a ), + .I1(\blk00000001/sig0000053b ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig0000057b ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000061f ( + .I0(\blk00000001/sig00000529 ), + .I1(\blk00000001/sig0000053a ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig0000057c ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000061e ( + .I0(\blk00000001/sig00000528 ), + .I1(\blk00000001/sig00000539 ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig0000057d ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000061d ( + .I0(\blk00000001/sig00000527 ), + .I1(\blk00000001/sig00000538 ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig0000057e ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000061c ( + .I0(\blk00000001/sig00000526 ), + .I1(\blk00000001/sig00000537 ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig0000057f ) + ); + LUT2 #( + .INIT ( 4'h9 )) + \blk00000001/blk0000061b ( + .I0(\blk00000001/sig00000535 ), + .I1(\blk00000001/sig00000524 ), + .O(\blk00000001/sig00000580 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk0000061a ( + .I0(\blk00000001/sig00000534 ), + .I1(\blk00000001/sig00000545 ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig00000571 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000619 ( + .I0(\blk00000001/sig00000533 ), + .I1(\blk00000001/sig00000544 ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig00000572 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000618 ( + .I0(\blk00000001/sig00000532 ), + .I1(\blk00000001/sig00000543 ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig00000573 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000617 ( + .I0(\blk00000001/sig00000531 ), + .I1(\blk00000001/sig00000542 ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig00000574 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000616 ( + .I0(\blk00000001/sig00000530 ), + .I1(\blk00000001/sig00000541 ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig00000575 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000615 ( + .I0(\blk00000001/sig0000052f ), + .I1(\blk00000001/sig00000540 ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig00000576 ) + ); + LUT3 #( + .INIT ( 8'h69 )) + \blk00000001/blk00000614 ( + .I0(\blk00000001/sig00000525 ), + .I1(\blk00000001/sig00000536 ), + .I2(\blk00000001/sig00000524 ), + .O(\blk00000001/sig00000581 ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk00000613 ( + .I0(\blk00000001/sig00000123 ), + .I1(\blk00000001/sig00000122 ), + .O(\blk00000001/sig00000127 ) + ); + LUT2 #( + .INIT ( 4'h8 )) + \blk00000001/blk00000612 ( + .I0(\blk00000001/sig00000122 ), + .I1(\blk00000001/sig00000123 ), + .O(\blk00000001/sig00000126 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000611 ( + .I0(\blk00000001/sig00000122 ), + .I1(\blk00000001/sig00000123 ), + .O(\blk00000001/sig00000124 ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk00000610 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000519 ), + .O(\blk00000001/sig000001d8 ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk0000060f ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000518 ), + .O(\blk00000001/sig000001d7 ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk0000060e ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000517 ), + .O(\blk00000001/sig000001d6 ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk0000060d ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000516 ), + .O(\blk00000001/sig000001d5 ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk0000060c ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000515 ), + .O(\blk00000001/sig000001d4 ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk0000060b ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000514 ), + .O(\blk00000001/sig000001d3 ) + ); + LUT2 #( + .INIT ( 4'h2 )) + \blk00000001/blk0000060a ( + .I0(\blk00000001/sig00000513 ), + .I1(\blk00000001/sig00000560 ), + .O(\blk00000001/sig000001d2 ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk00000609 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000512 ), + .O(\blk00000001/sig000001d0 ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk00000608 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000522 ), + .O(\blk00000001/sig000001e1 ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk00000607 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000521 ), + .O(\blk00000001/sig000001e0 ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk00000606 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000520 ), + .O(\blk00000001/sig000001df ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk00000605 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000051f ), + .O(\blk00000001/sig000001de ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk00000604 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000051e ), + .O(\blk00000001/sig000001dd ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk00000603 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000051d ), + .O(\blk00000001/sig000001dc ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk00000602 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000051c ), + .O(\blk00000001/sig000001db ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk00000601 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000051b ), + .O(\blk00000001/sig000001da ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \blk00000001/blk00000600 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000051a ), + .O(\blk00000001/sig000001d9 ) + ); + LUT2 #( + .INIT ( 4'hB )) + \blk00000001/blk000005ff ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000512 ), + .O(\blk00000001/sig000001cf ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005fe ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000519 ), + .I2(\blk00000001/sig000004ce ), + .O(\blk00000001/sig000001c5 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005fd ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000518 ), + .I2(\blk00000001/sig000004cd ), + .O(\blk00000001/sig000001c4 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005fc ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000517 ), + .I2(\blk00000001/sig000004cc ), + .O(\blk00000001/sig000001c3 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005fb ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000516 ), + .I2(\blk00000001/sig000004cb ), + .O(\blk00000001/sig000001c2 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005fa ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000515 ), + .I2(\blk00000001/sig000004ca ), + .O(\blk00000001/sig000001c1 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005f9 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000514 ), + .I2(\blk00000001/sig000004c9 ), + .O(\blk00000001/sig000001c0 ) + ); + LUT3 #( + .INIT ( 8'hCA )) + \blk00000001/blk000005f8 ( + .I0(\blk00000001/sig000004c8 ), + .I1(\blk00000001/sig00000513 ), + .I2(\blk00000001/sig00000560 ), + .O(\blk00000001/sig000001bf ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005f7 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000512 ), + .I2(\blk00000001/sig000004c7 ), + .O(\blk00000001/sig000001bd ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005f6 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000522 ), + .I2(\blk00000001/sig000004d7 ), + .O(\blk00000001/sig000001ce ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005f5 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000521 ), + .I2(\blk00000001/sig000004d6 ), + .O(\blk00000001/sig000001cd ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005f4 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000520 ), + .I2(\blk00000001/sig000004d5 ), + .O(\blk00000001/sig000001cc ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005f3 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000051f ), + .I2(\blk00000001/sig000004d4 ), + .O(\blk00000001/sig000001cb ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005f2 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000051e ), + .I2(\blk00000001/sig000004d3 ), + .O(\blk00000001/sig000001ca ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005f1 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000051d ), + .I2(\blk00000001/sig000004d2 ), + .O(\blk00000001/sig000001c9 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005f0 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000051c ), + .I2(\blk00000001/sig000004d1 ), + .O(\blk00000001/sig000001c8 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005ef ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000051b ), + .I2(\blk00000001/sig000004d0 ), + .O(\blk00000001/sig000001c7 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005ee ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000051a ), + .I2(\blk00000001/sig000004cf ), + .O(\blk00000001/sig000001c6 ) + ); + LUT3 #( + .INIT ( 8'h27 )) + \blk00000001/blk000005ed ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000512 ), + .I2(\blk00000001/sig000004c7 ), + .O(\blk00000001/sig000001bc ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005ec ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004ce ), + .I2(\blk00000001/sig00000483 ), + .O(\blk00000001/sig000001b2 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005eb ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004cd ), + .I2(\blk00000001/sig00000482 ), + .O(\blk00000001/sig000001b1 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005ea ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004cc ), + .I2(\blk00000001/sig00000481 ), + .O(\blk00000001/sig000001b0 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005e9 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004cb ), + .I2(\blk00000001/sig00000480 ), + .O(\blk00000001/sig000001af ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005e8 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004ca ), + .I2(\blk00000001/sig0000047f ), + .O(\blk00000001/sig000001ae ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005e7 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004c9 ), + .I2(\blk00000001/sig0000047e ), + .O(\blk00000001/sig000001ad ) + ); + LUT3 #( + .INIT ( 8'hCA )) + \blk00000001/blk000005e6 ( + .I0(\blk00000001/sig0000047d ), + .I1(\blk00000001/sig000004c8 ), + .I2(\blk00000001/sig00000560 ), + .O(\blk00000001/sig000001ac ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005e5 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004c7 ), + .I2(\blk00000001/sig0000047c ), + .O(\blk00000001/sig000001aa ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005e4 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004d7 ), + .I2(\blk00000001/sig0000048c ), + .O(\blk00000001/sig000001bb ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005e3 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004d6 ), + .I2(\blk00000001/sig0000048b ), + .O(\blk00000001/sig000001ba ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005e2 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004d5 ), + .I2(\blk00000001/sig0000048a ), + .O(\blk00000001/sig000001b9 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005e1 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004d4 ), + .I2(\blk00000001/sig00000489 ), + .O(\blk00000001/sig000001b8 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005e0 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004d3 ), + .I2(\blk00000001/sig00000488 ), + .O(\blk00000001/sig000001b7 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005df ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004d2 ), + .I2(\blk00000001/sig00000487 ), + .O(\blk00000001/sig000001b6 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005de ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004d1 ), + .I2(\blk00000001/sig00000486 ), + .O(\blk00000001/sig000001b5 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005dd ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004d0 ), + .I2(\blk00000001/sig00000485 ), + .O(\blk00000001/sig000001b4 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005dc ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004cf ), + .I2(\blk00000001/sig00000484 ), + .O(\blk00000001/sig000001b3 ) + ); + LUT3 #( + .INIT ( 8'h27 )) + \blk00000001/blk000005db ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000004c7 ), + .I2(\blk00000001/sig0000047c ), + .O(\blk00000001/sig000001a9 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005da ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000483 ), + .I2(\blk00000001/sig00000438 ), + .O(\blk00000001/sig0000019f ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005d9 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000482 ), + .I2(\blk00000001/sig00000437 ), + .O(\blk00000001/sig0000019e ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005d8 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000481 ), + .I2(\blk00000001/sig00000436 ), + .O(\blk00000001/sig0000019d ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005d7 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000480 ), + .I2(\blk00000001/sig00000435 ), + .O(\blk00000001/sig0000019c ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005d6 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000047f ), + .I2(\blk00000001/sig00000434 ), + .O(\blk00000001/sig0000019b ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005d5 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000047e ), + .I2(\blk00000001/sig00000433 ), + .O(\blk00000001/sig0000019a ) + ); + LUT3 #( + .INIT ( 8'hCA )) + \blk00000001/blk000005d4 ( + .I0(\blk00000001/sig00000432 ), + .I1(\blk00000001/sig0000047d ), + .I2(\blk00000001/sig00000560 ), + .O(\blk00000001/sig00000199 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005d3 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000047c ), + .I2(\blk00000001/sig00000431 ), + .O(\blk00000001/sig00000197 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005d2 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000048c ), + .I2(\blk00000001/sig00000441 ), + .O(\blk00000001/sig000001a8 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005d1 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000048b ), + .I2(\blk00000001/sig00000440 ), + .O(\blk00000001/sig000001a7 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005d0 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000048a ), + .I2(\blk00000001/sig0000043f ), + .O(\blk00000001/sig000001a6 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005cf ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000489 ), + .I2(\blk00000001/sig0000043e ), + .O(\blk00000001/sig000001a5 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005ce ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000488 ), + .I2(\blk00000001/sig0000043d ), + .O(\blk00000001/sig000001a4 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005cd ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000487 ), + .I2(\blk00000001/sig0000043c ), + .O(\blk00000001/sig000001a3 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005cc ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000486 ), + .I2(\blk00000001/sig0000043b ), + .O(\blk00000001/sig000001a2 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005cb ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000485 ), + .I2(\blk00000001/sig0000043a ), + .O(\blk00000001/sig000001a1 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005ca ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000484 ), + .I2(\blk00000001/sig00000439 ), + .O(\blk00000001/sig000001a0 ) + ); + LUT3 #( + .INIT ( 8'h27 )) + \blk00000001/blk000005c9 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000047c ), + .I2(\blk00000001/sig00000431 ), + .O(\blk00000001/sig00000196 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005c8 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000438 ), + .I2(\blk00000001/sig000003ed ), + .O(\blk00000001/sig0000018c ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005c7 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000437 ), + .I2(\blk00000001/sig000003ec ), + .O(\blk00000001/sig0000018b ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005c6 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000436 ), + .I2(\blk00000001/sig000003eb ), + .O(\blk00000001/sig0000018a ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005c5 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000435 ), + .I2(\blk00000001/sig000003ea ), + .O(\blk00000001/sig00000189 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005c4 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000434 ), + .I2(\blk00000001/sig000003e9 ), + .O(\blk00000001/sig00000188 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005c3 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000433 ), + .I2(\blk00000001/sig000003e8 ), + .O(\blk00000001/sig00000187 ) + ); + LUT3 #( + .INIT ( 8'hCA )) + \blk00000001/blk000005c2 ( + .I0(\blk00000001/sig000003e7 ), + .I1(\blk00000001/sig00000432 ), + .I2(\blk00000001/sig00000560 ), + .O(\blk00000001/sig00000186 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005c1 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000431 ), + .I2(\blk00000001/sig000003e6 ), + .O(\blk00000001/sig00000184 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005c0 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000441 ), + .I2(\blk00000001/sig000003f6 ), + .O(\blk00000001/sig00000195 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005bf ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000440 ), + .I2(\blk00000001/sig000003f5 ), + .O(\blk00000001/sig00000194 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005be ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000043f ), + .I2(\blk00000001/sig000003f4 ), + .O(\blk00000001/sig00000193 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005bd ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000043e ), + .I2(\blk00000001/sig000003f3 ), + .O(\blk00000001/sig00000192 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005bc ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000043d ), + .I2(\blk00000001/sig000003f2 ), + .O(\blk00000001/sig00000191 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005bb ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000043c ), + .I2(\blk00000001/sig000003f1 ), + .O(\blk00000001/sig00000190 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005ba ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000043b ), + .I2(\blk00000001/sig000003f0 ), + .O(\blk00000001/sig0000018f ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005b9 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000043a ), + .I2(\blk00000001/sig000003ef ), + .O(\blk00000001/sig0000018e ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005b8 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000439 ), + .I2(\blk00000001/sig000003ee ), + .O(\blk00000001/sig0000018d ) + ); + LUT3 #( + .INIT ( 8'h27 )) + \blk00000001/blk000005b7 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000431 ), + .I2(\blk00000001/sig000003e6 ), + .O(\blk00000001/sig00000183 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005b6 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003ed ), + .I2(\blk00000001/sig000003a2 ), + .O(\blk00000001/sig00000179 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005b5 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003ec ), + .I2(\blk00000001/sig000003a1 ), + .O(\blk00000001/sig00000178 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005b4 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003eb ), + .I2(\blk00000001/sig000003a0 ), + .O(\blk00000001/sig00000177 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005b3 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003ea ), + .I2(\blk00000001/sig0000039f ), + .O(\blk00000001/sig00000176 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005b2 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003e9 ), + .I2(\blk00000001/sig0000039e ), + .O(\blk00000001/sig00000175 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005b1 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003e8 ), + .I2(\blk00000001/sig0000039d ), + .O(\blk00000001/sig00000174 ) + ); + LUT3 #( + .INIT ( 8'hCA )) + \blk00000001/blk000005b0 ( + .I0(\blk00000001/sig0000039c ), + .I1(\blk00000001/sig000003e7 ), + .I2(\blk00000001/sig00000560 ), + .O(\blk00000001/sig00000173 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005af ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003e6 ), + .I2(\blk00000001/sig0000039b ), + .O(\blk00000001/sig00000171 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005ae ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003f6 ), + .I2(\blk00000001/sig000003ab ), + .O(\blk00000001/sig00000182 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005ad ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003f5 ), + .I2(\blk00000001/sig000003aa ), + .O(\blk00000001/sig00000181 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005ac ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003f4 ), + .I2(\blk00000001/sig000003a9 ), + .O(\blk00000001/sig00000180 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005ab ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003f3 ), + .I2(\blk00000001/sig000003a8 ), + .O(\blk00000001/sig0000017f ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005aa ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003f2 ), + .I2(\blk00000001/sig000003a7 ), + .O(\blk00000001/sig0000017e ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005a9 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003f1 ), + .I2(\blk00000001/sig000003a6 ), + .O(\blk00000001/sig0000017d ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005a8 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003f0 ), + .I2(\blk00000001/sig000003a5 ), + .O(\blk00000001/sig0000017c ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005a7 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003ef ), + .I2(\blk00000001/sig000003a4 ), + .O(\blk00000001/sig0000017b ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005a6 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003ee ), + .I2(\blk00000001/sig000003a3 ), + .O(\blk00000001/sig0000017a ) + ); + LUT3 #( + .INIT ( 8'h27 )) + \blk00000001/blk000005a5 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003e6 ), + .I2(\blk00000001/sig0000039b ), + .O(\blk00000001/sig00000170 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005a4 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003a2 ), + .I2(\blk00000001/sig00000357 ), + .O(\blk00000001/sig00000166 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005a3 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003a1 ), + .I2(\blk00000001/sig00000356 ), + .O(\blk00000001/sig00000165 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005a2 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003a0 ), + .I2(\blk00000001/sig00000355 ), + .O(\blk00000001/sig00000164 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005a1 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000039f ), + .I2(\blk00000001/sig00000354 ), + .O(\blk00000001/sig00000163 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk000005a0 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000039e ), + .I2(\blk00000001/sig00000353 ), + .O(\blk00000001/sig00000162 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000059f ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000039d ), + .I2(\blk00000001/sig00000352 ), + .O(\blk00000001/sig00000161 ) + ); + LUT3 #( + .INIT ( 8'hCA )) + \blk00000001/blk0000059e ( + .I0(\blk00000001/sig00000351 ), + .I1(\blk00000001/sig0000039c ), + .I2(\blk00000001/sig00000560 ), + .O(\blk00000001/sig00000160 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000059d ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000039b ), + .I2(\blk00000001/sig00000350 ), + .O(\blk00000001/sig0000015f ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000059c ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003ab ), + .I2(\blk00000001/sig00000360 ), + .O(\blk00000001/sig0000016f ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000059b ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003aa ), + .I2(\blk00000001/sig0000035f ), + .O(\blk00000001/sig0000016e ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000059a ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003a9 ), + .I2(\blk00000001/sig0000035e ), + .O(\blk00000001/sig0000016d ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000599 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003a8 ), + .I2(\blk00000001/sig0000035d ), + .O(\blk00000001/sig0000016c ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000598 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003a7 ), + .I2(\blk00000001/sig0000035c ), + .O(\blk00000001/sig0000016b ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000597 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003a6 ), + .I2(\blk00000001/sig0000035b ), + .O(\blk00000001/sig0000016a ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000596 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003a5 ), + .I2(\blk00000001/sig0000035a ), + .O(\blk00000001/sig00000169 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000595 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003a4 ), + .I2(\blk00000001/sig00000359 ), + .O(\blk00000001/sig00000168 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000594 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig000003a3 ), + .I2(\blk00000001/sig00000358 ), + .O(\blk00000001/sig00000167 ) + ); + LUT3 #( + .INIT ( 8'h27 )) + \blk00000001/blk00000593 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000039b ), + .I2(\blk00000001/sig00000350 ), + .O(\blk00000001/sig0000015e ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000592 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000357 ), + .I2(\blk00000001/sig00000309 ), + .O(\blk00000001/sig00000154 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000591 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000356 ), + .I2(\blk00000001/sig00000308 ), + .O(\blk00000001/sig00000153 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000590 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000355 ), + .I2(\blk00000001/sig00000307 ), + .O(\blk00000001/sig00000152 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000058f ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000354 ), + .I2(\blk00000001/sig00000306 ), + .O(\blk00000001/sig00000151 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000058e ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000353 ), + .I2(\blk00000001/sig00000305 ), + .O(\blk00000001/sig00000150 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000058d ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000352 ), + .I2(\blk00000001/sig00000304 ), + .O(\blk00000001/sig0000014f ) + ); + LUT3 #( + .INIT ( 8'hCA )) + \blk00000001/blk0000058c ( + .I0(\blk00000001/sig00000303 ), + .I1(\blk00000001/sig00000351 ), + .I2(\blk00000001/sig00000560 ), + .O(\blk00000001/sig0000014e ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000058b ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000350 ), + .I2(\blk00000001/sig00000302 ), + .O(\blk00000001/sig0000014d ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000058a ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000360 ), + .I2(\blk00000001/sig00000312 ), + .O(\blk00000001/sig0000015d ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000589 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000035f ), + .I2(\blk00000001/sig00000311 ), + .O(\blk00000001/sig0000015c ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000588 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000035e ), + .I2(\blk00000001/sig00000310 ), + .O(\blk00000001/sig0000015b ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000587 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000035d ), + .I2(\blk00000001/sig0000030f ), + .O(\blk00000001/sig0000015a ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000586 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000035c ), + .I2(\blk00000001/sig0000030e ), + .O(\blk00000001/sig00000159 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000585 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000035b ), + .I2(\blk00000001/sig0000030d ), + .O(\blk00000001/sig00000158 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000584 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000035a ), + .I2(\blk00000001/sig0000030c ), + .O(\blk00000001/sig00000157 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000583 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000359 ), + .I2(\blk00000001/sig0000030b ), + .O(\blk00000001/sig00000156 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000582 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000358 ), + .I2(\blk00000001/sig0000030a ), + .O(\blk00000001/sig00000155 ) + ); + LUT3 #( + .INIT ( 8'h27 )) + \blk00000001/blk00000581 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000350 ), + .I2(\blk00000001/sig00000302 ), + .O(\blk00000001/sig0000014c ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000580 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000309 ), + .I2(\blk00000001/sig000002b7 ), + .O(\blk00000001/sig00000142 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000057f ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000308 ), + .I2(\blk00000001/sig000002b6 ), + .O(\blk00000001/sig00000141 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000057e ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000307 ), + .I2(\blk00000001/sig000002b5 ), + .O(\blk00000001/sig00000140 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000057d ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000306 ), + .I2(\blk00000001/sig000002b4 ), + .O(\blk00000001/sig0000013f ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000057c ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000305 ), + .I2(\blk00000001/sig000002b3 ), + .O(\blk00000001/sig0000013e ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk0000057b ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000304 ), + .I2(\blk00000001/sig000002b2 ), + .O(\blk00000001/sig0000013d ) + ); + LUT3 #( + .INIT ( 8'hCA )) + \blk00000001/blk0000057a ( + .I0(\blk00000001/sig000002b1 ), + .I1(\blk00000001/sig00000303 ), + .I2(\blk00000001/sig00000560 ), + .O(\blk00000001/sig0000013c ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000579 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000302 ), + .I2(\blk00000001/sig000002b0 ), + .O(\blk00000001/sig0000013b ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000578 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000312 ), + .I2(\blk00000001/sig000002c0 ), + .O(\blk00000001/sig0000014b ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000577 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000311 ), + .I2(\blk00000001/sig000002bf ), + .O(\blk00000001/sig0000014a ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000576 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000310 ), + .I2(\blk00000001/sig000002be ), + .O(\blk00000001/sig00000149 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000575 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000030f ), + .I2(\blk00000001/sig000002bd ), + .O(\blk00000001/sig00000148 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000574 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000030e ), + .I2(\blk00000001/sig000002bc ), + .O(\blk00000001/sig00000147 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000573 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000030d ), + .I2(\blk00000001/sig000002bb ), + .O(\blk00000001/sig00000146 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000572 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000030c ), + .I2(\blk00000001/sig000002ba ), + .O(\blk00000001/sig00000145 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000571 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000030b ), + .I2(\blk00000001/sig000002b9 ), + .O(\blk00000001/sig00000144 ) + ); + LUT3 #( + .INIT ( 8'hD8 )) + \blk00000001/blk00000570 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000030a ), + .I2(\blk00000001/sig000002b8 ), + .O(\blk00000001/sig00000143 ) + ); + LUT3 #( + .INIT ( 8'h27 )) + \blk00000001/blk0000056f ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000302 ), + .I2(\blk00000001/sig000002b0 ), + .O(\blk00000001/sig0000013a ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk0000056e ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000261 ), + .I2(\blk00000001/sig000002b7 ), + .O(\blk00000001/sig00000130 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk0000056d ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000260 ), + .I2(\blk00000001/sig000002b6 ), + .O(\blk00000001/sig0000012f ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk0000056c ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000025f ), + .I2(\blk00000001/sig000002b5 ), + .O(\blk00000001/sig0000012e ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk0000056b ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000025e ), + .I2(\blk00000001/sig000002b4 ), + .O(\blk00000001/sig0000012d ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk0000056a ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000025d ), + .I2(\blk00000001/sig000002b3 ), + .O(\blk00000001/sig0000012c ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk00000569 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000025c ), + .I2(\blk00000001/sig000002b2 ), + .O(\blk00000001/sig0000012b ) + ); + LUT3 #( + .INIT ( 8'hCA )) + \blk00000001/blk00000568 ( + .I0(\blk00000001/sig0000025b ), + .I1(\blk00000001/sig000002b1 ), + .I2(\blk00000001/sig00000560 ), + .O(\blk00000001/sig0000012a ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk00000567 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000025a ), + .I2(\blk00000001/sig000002b0 ), + .O(\blk00000001/sig00000129 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk00000566 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000026a ), + .I2(\blk00000001/sig000002c0 ), + .O(\blk00000001/sig00000139 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk00000565 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000269 ), + .I2(\blk00000001/sig000002bf ), + .O(\blk00000001/sig00000138 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk00000564 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000268 ), + .I2(\blk00000001/sig000002be ), + .O(\blk00000001/sig00000137 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk00000563 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000267 ), + .I2(\blk00000001/sig000002bd ), + .O(\blk00000001/sig00000136 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk00000562 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000266 ), + .I2(\blk00000001/sig000002bc ), + .O(\blk00000001/sig00000135 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk00000561 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000265 ), + .I2(\blk00000001/sig000002bb ), + .O(\blk00000001/sig00000134 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk00000560 ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000264 ), + .I2(\blk00000001/sig000002ba ), + .O(\blk00000001/sig00000133 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk0000055f ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000263 ), + .I2(\blk00000001/sig000002b9 ), + .O(\blk00000001/sig00000132 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \blk00000001/blk0000055e ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig00000262 ), + .I2(\blk00000001/sig000002b8 ), + .O(\blk00000001/sig00000131 ) + ); + LUT3 #( + .INIT ( 8'h1B )) + \blk00000001/blk0000055d ( + .I0(\blk00000001/sig00000560 ), + .I1(\blk00000001/sig0000025a ), + .I2(\blk00000001/sig000002b0 ), + .O(\blk00000001/sig00000128 ) + ); + LUT6 #( + .INIT ( 64'hFD75B931EC64A820 )) + \blk00000001/blk0000055c ( + .I0(\blk00000001/sig0000055e ), + .I1(\blk00000001/sig0000055f ), + .I2(\blk00000001/sig0000055c ), + .I3(\blk00000001/sig0000055a ), + .I4(\blk00000001/sig0000055b ), + .I5(\blk00000001/sig0000055d ), + .O(\blk00000001/sig000001d1 ) + ); + LUT6 #( + .INIT ( 64'hFD75B931EC64A820 )) + \blk00000001/blk0000055b ( + .I0(\blk00000001/sig0000055e ), + .I1(\blk00000001/sig0000055f ), + .I2(\blk00000001/sig0000046f ), + .I3(\blk00000001/sig0000046d ), + .I4(\blk00000001/sig0000046e ), + .I5(\blk00000001/sig00000470 ), + .O(\blk00000001/sig00000198 ) + ); + LUT6 #( + .INIT ( 64'hFD75B931EC64A820 )) + \blk00000001/blk0000055a ( + .I0(\blk00000001/sig0000055e ), + .I1(\blk00000001/sig0000055f ), + .I2(\blk00000001/sig00000420 ), + .I3(\blk00000001/sig0000041e ), + .I4(\blk00000001/sig0000041f ), + .I5(\blk00000001/sig00000421 ), + .O(\blk00000001/sig00000185 ) + ); + LUT6 #( + .INIT ( 64'hFD75B931EC64A820 )) + \blk00000001/blk00000559 ( + .I0(\blk00000001/sig0000055e ), + .I1(\blk00000001/sig0000055f ), + .I2(\blk00000001/sig000003d1 ), + .I3(\blk00000001/sig000003cf ), + .I4(\blk00000001/sig000003d0 ), + .I5(\blk00000001/sig000003d2 ), + .O(\blk00000001/sig00000172 ) + ); + LUT6 #( + .INIT ( 64'hFD75B931EC64A820 )) + \blk00000001/blk00000558 ( + .I0(\blk00000001/sig0000055e ), + .I1(\blk00000001/sig0000055f ), + .I2(\blk00000001/sig0000050d ), + .I3(\blk00000001/sig0000050b ), + .I4(\blk00000001/sig0000050c ), + .I5(\blk00000001/sig0000050e ), + .O(\blk00000001/sig000001be ) + ); + LUT6 #( + .INIT ( 64'hFD75B931EC64A820 )) + \blk00000001/blk00000557 ( + .I0(\blk00000001/sig0000055e ), + .I1(\blk00000001/sig0000055f ), + .I2(\blk00000001/sig000004be ), + .I3(\blk00000001/sig000004bc ), + .I4(\blk00000001/sig000004bd ), + .I5(\blk00000001/sig000004bf ), + .O(\blk00000001/sig000001ab ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000556 ( + .I0(s_axis_divisor_tdata[9]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig0000011a ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000555 ( + .I0(s_axis_divisor_tdata[8]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig00000119 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000554 ( + .I0(s_axis_divisor_tdata[7]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig00000118 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000553 ( + .I0(s_axis_divisor_tdata[6]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig00000117 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000552 ( + .I0(s_axis_divisor_tdata[5]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig00000116 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000551 ( + .I0(s_axis_divisor_tdata[4]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig00000115 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000550 ( + .I0(s_axis_divisor_tdata[3]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig00000114 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk0000054f ( + .I0(s_axis_divisor_tdata[2]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig00000113 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk0000054e ( + .I0(s_axis_divisor_tdata[1]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig00000112 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk0000054d ( + .I0(s_axis_divisor_tdata[14]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig0000011f ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk0000054c ( + .I0(s_axis_divisor_tdata[13]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig0000011e ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk0000054b ( + .I0(s_axis_divisor_tdata[12]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig0000011d ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk0000054a ( + .I0(s_axis_divisor_tdata[11]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig0000011c ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000549 ( + .I0(s_axis_divisor_tdata[10]), + .I1(s_axis_divisor_tdata[15]), + .O(\blk00000001/sig0000011b ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000548 ( + .I0(s_axis_dividend_tdata[9]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000e5 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000547 ( + .I0(s_axis_dividend_tdata[8]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000e4 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000546 ( + .I0(s_axis_dividend_tdata[7]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000e3 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000545 ( + .I0(s_axis_dividend_tdata[6]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000e2 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000544 ( + .I0(s_axis_dividend_tdata[5]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000e1 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000543 ( + .I0(s_axis_dividend_tdata[4]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000e0 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000542 ( + .I0(s_axis_dividend_tdata[3]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000df ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000541 ( + .I0(s_axis_dividend_tdata[2]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000de ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000540 ( + .I0(s_axis_dividend_tdata[22]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000f2 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk0000053f ( + .I0(s_axis_dividend_tdata[21]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000f1 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk0000053e ( + .I0(s_axis_dividend_tdata[20]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000f0 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk0000053d ( + .I0(s_axis_dividend_tdata[1]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000dd ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk0000053c ( + .I0(s_axis_dividend_tdata[19]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000ef ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk0000053b ( + .I0(s_axis_dividend_tdata[18]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000ee ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk0000053a ( + .I0(s_axis_dividend_tdata[17]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000ed ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000539 ( + .I0(s_axis_dividend_tdata[16]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000ec ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000538 ( + .I0(s_axis_dividend_tdata[15]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000eb ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000537 ( + .I0(s_axis_dividend_tdata[14]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000ea ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000536 ( + .I0(s_axis_dividend_tdata[13]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000e9 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000535 ( + .I0(s_axis_dividend_tdata[12]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000e8 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000534 ( + .I0(s_axis_dividend_tdata[11]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000e7 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000533 ( + .I0(s_axis_dividend_tdata[10]), + .I1(s_axis_dividend_tdata[23]), + .O(\blk00000001/sig000000e6 ) + ); + LUT2 #( + .INIT ( 4'h6 )) + \blk00000001/blk00000532 ( + .I0(\blk00000001/sig00000080 ), + .I1(\blk00000001/sig00000081 ), + .O(\blk00000001/sig00000057 ) + ); + LUT3 #( + .INIT ( 8'h80 )) + \blk00000001/blk00000531 ( + .I0(NlwRenamedSig_OI_s_axis_dividend_tready), + .I1(s_axis_dividend_tvalid), + .I2(s_axis_divisor_tvalid), + .O(\blk00000001/sig00000056 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000530 ( + .C(aclk), + .D(\blk00000001/sig00000056 ), + .Q(\blk00000001/sig0000072e ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000052f ( + .C(aclk), + .D(\blk00000001/sig00000710 ), + .Q(m_axis_dout_tdata[0]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000052e ( + .C(aclk), + .D(\blk00000001/sig00000711 ), + .Q(m_axis_dout_tdata[1]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000052d ( + .C(aclk), + .D(\blk00000001/sig00000712 ), + .Q(m_axis_dout_tdata[2]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000052c ( + .C(aclk), + .D(\blk00000001/sig00000713 ), + .Q(m_axis_dout_tdata[3]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000052b ( + .C(aclk), + .D(\blk00000001/sig00000714 ), + .Q(m_axis_dout_tdata[4]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000052a ( + .C(aclk), + .D(\blk00000001/sig00000715 ), + .Q(m_axis_dout_tdata[5]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000529 ( + .C(aclk), + .D(\blk00000001/sig00000716 ), + .Q(m_axis_dout_tdata[6]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000528 ( + .C(aclk), + .D(\blk00000001/sig00000717 ), + .Q(m_axis_dout_tdata[7]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000527 ( + .C(aclk), + .D(\blk00000001/sig00000718 ), + .Q(m_axis_dout_tdata[8]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000526 ( + .C(aclk), + .D(\blk00000001/sig00000719 ), + .Q(m_axis_dout_tdata[9]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000525 ( + .C(aclk), + .D(\blk00000001/sig0000071a ), + .Q(m_axis_dout_tdata[10]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000524 ( + .C(aclk), + .D(\blk00000001/sig0000071b ), + .Q(m_axis_dout_tdata[11]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000523 ( + .C(aclk), + .D(\blk00000001/sig0000071c ), + .Q(m_axis_dout_tdata[12]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000522 ( + .C(aclk), + .D(\blk00000001/sig0000071d ), + .Q(m_axis_dout_tdata[13]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000521 ( + .C(aclk), + .D(\blk00000001/sig0000071e ), + .Q(m_axis_dout_tdata[14]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000520 ( + .C(aclk), + .D(\blk00000001/sig0000071f ), + .Q(m_axis_dout_tdata[15]) + ); + MUXCY \blk00000001/blk0000051f ( + .CI(\blk00000001/sig00000363 ), + .DI(\blk00000001/sig00000057 ), + .S(\blk00000001/sig00000733 ), + .O(\blk00000001/sig0000070f ) + ); + XORCY \blk00000001/blk0000051e ( + .CI(\blk00000001/sig00000363 ), + .LI(\blk00000001/sig00000733 ), + .O(\blk00000001/sig00000710 ) + ); + MUXCY \blk00000001/blk0000051d ( + .CI(\blk00000001/sig0000070f ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000720 ), + .O(\blk00000001/sig0000070e ) + ); + XORCY \blk00000001/blk0000051c ( + .CI(\blk00000001/sig0000070f ), + .LI(\blk00000001/sig00000720 ), + .O(\blk00000001/sig00000711 ) + ); + MUXCY \blk00000001/blk0000051b ( + .CI(\blk00000001/sig0000070e ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000721 ), + .O(\blk00000001/sig0000070d ) + ); + XORCY \blk00000001/blk0000051a ( + .CI(\blk00000001/sig0000070e ), + .LI(\blk00000001/sig00000721 ), + .O(\blk00000001/sig00000712 ) + ); + MUXCY \blk00000001/blk00000519 ( + .CI(\blk00000001/sig0000070d ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000722 ), + .O(\blk00000001/sig0000070c ) + ); + XORCY \blk00000001/blk00000518 ( + .CI(\blk00000001/sig0000070d ), + .LI(\blk00000001/sig00000722 ), + .O(\blk00000001/sig00000713 ) + ); + MUXCY \blk00000001/blk00000517 ( + .CI(\blk00000001/sig0000070c ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000723 ), + .O(\blk00000001/sig0000070b ) + ); + XORCY \blk00000001/blk00000516 ( + .CI(\blk00000001/sig0000070c ), + .LI(\blk00000001/sig00000723 ), + .O(\blk00000001/sig00000714 ) + ); + MUXCY \blk00000001/blk00000515 ( + .CI(\blk00000001/sig0000070b ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000724 ), + .O(\blk00000001/sig0000070a ) + ); + XORCY \blk00000001/blk00000514 ( + .CI(\blk00000001/sig0000070b ), + .LI(\blk00000001/sig00000724 ), + .O(\blk00000001/sig00000715 ) + ); + MUXCY \blk00000001/blk00000513 ( + .CI(\blk00000001/sig0000070a ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000725 ), + .O(\blk00000001/sig00000709 ) + ); + XORCY \blk00000001/blk00000512 ( + .CI(\blk00000001/sig0000070a ), + .LI(\blk00000001/sig00000725 ), + .O(\blk00000001/sig00000716 ) + ); + MUXCY \blk00000001/blk00000511 ( + .CI(\blk00000001/sig00000709 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000726 ), + .O(\blk00000001/sig00000708 ) + ); + XORCY \blk00000001/blk00000510 ( + .CI(\blk00000001/sig00000709 ), + .LI(\blk00000001/sig00000726 ), + .O(\blk00000001/sig00000717 ) + ); + MUXCY \blk00000001/blk0000050f ( + .CI(\blk00000001/sig00000708 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000727 ), + .O(\blk00000001/sig00000707 ) + ); + XORCY \blk00000001/blk0000050e ( + .CI(\blk00000001/sig00000708 ), + .LI(\blk00000001/sig00000727 ), + .O(\blk00000001/sig00000718 ) + ); + MUXCY \blk00000001/blk0000050d ( + .CI(\blk00000001/sig00000707 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000728 ), + .O(\blk00000001/sig00000706 ) + ); + XORCY \blk00000001/blk0000050c ( + .CI(\blk00000001/sig00000707 ), + .LI(\blk00000001/sig00000728 ), + .O(\blk00000001/sig00000719 ) + ); + MUXCY \blk00000001/blk0000050b ( + .CI(\blk00000001/sig00000706 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000729 ), + .O(\blk00000001/sig00000705 ) + ); + XORCY \blk00000001/blk0000050a ( + .CI(\blk00000001/sig00000706 ), + .LI(\blk00000001/sig00000729 ), + .O(\blk00000001/sig0000071a ) + ); + MUXCY \blk00000001/blk00000509 ( + .CI(\blk00000001/sig00000705 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig0000072a ), + .O(\blk00000001/sig00000704 ) + ); + XORCY \blk00000001/blk00000508 ( + .CI(\blk00000001/sig00000705 ), + .LI(\blk00000001/sig0000072a ), + .O(\blk00000001/sig0000071b ) + ); + MUXCY \blk00000001/blk00000507 ( + .CI(\blk00000001/sig00000704 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig0000072b ), + .O(\blk00000001/sig00000703 ) + ); + XORCY \blk00000001/blk00000506 ( + .CI(\blk00000001/sig00000704 ), + .LI(\blk00000001/sig0000072b ), + .O(\blk00000001/sig0000071c ) + ); + MUXCY \blk00000001/blk00000505 ( + .CI(\blk00000001/sig00000703 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig0000072c ), + .O(\blk00000001/sig00000702 ) + ); + XORCY \blk00000001/blk00000504 ( + .CI(\blk00000001/sig00000703 ), + .LI(\blk00000001/sig0000072c ), + .O(\blk00000001/sig0000071d ) + ); + MUXCY \blk00000001/blk00000503 ( + .CI(\blk00000001/sig00000702 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig0000072d ), + .O(\blk00000001/sig00000701 ) + ); + XORCY \blk00000001/blk00000502 ( + .CI(\blk00000001/sig00000702 ), + .LI(\blk00000001/sig0000072d ), + .O(\blk00000001/sig0000071e ) + ); + XORCY \blk00000001/blk00000501 ( + .CI(\blk00000001/sig00000701 ), + .LI(\blk00000001/sig0000072f ), + .O(\blk00000001/sig0000071f ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000500 ( + .C(aclk), + .D(\blk00000001/sig000006d2 ), + .Q(m_axis_dout_tdata[16]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004ff ( + .C(aclk), + .D(\blk00000001/sig000006d3 ), + .Q(m_axis_dout_tdata[17]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004fe ( + .C(aclk), + .D(\blk00000001/sig000006d4 ), + .Q(m_axis_dout_tdata[18]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004fd ( + .C(aclk), + .D(\blk00000001/sig000006d5 ), + .Q(m_axis_dout_tdata[19]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004fc ( + .C(aclk), + .D(\blk00000001/sig000006d6 ), + .Q(m_axis_dout_tdata[20]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004fb ( + .C(aclk), + .D(\blk00000001/sig000006d7 ), + .Q(m_axis_dout_tdata[21]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004fa ( + .C(aclk), + .D(\blk00000001/sig000006d8 ), + .Q(m_axis_dout_tdata[22]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004f9 ( + .C(aclk), + .D(\blk00000001/sig000006d9 ), + .Q(m_axis_dout_tdata[23]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004f8 ( + .C(aclk), + .D(\blk00000001/sig000006da ), + .Q(m_axis_dout_tdata[24]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004f7 ( + .C(aclk), + .D(\blk00000001/sig000006db ), + .Q(m_axis_dout_tdata[25]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004f6 ( + .C(aclk), + .D(\blk00000001/sig000006dc ), + .Q(m_axis_dout_tdata[26]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004f5 ( + .C(aclk), + .D(\blk00000001/sig000006dd ), + .Q(m_axis_dout_tdata[27]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004f4 ( + .C(aclk), + .D(\blk00000001/sig000006de ), + .Q(m_axis_dout_tdata[28]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004f3 ( + .C(aclk), + .D(\blk00000001/sig000006df ), + .Q(m_axis_dout_tdata[29]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004f2 ( + .C(aclk), + .D(\blk00000001/sig000006e0 ), + .Q(m_axis_dout_tdata[30]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004f1 ( + .C(aclk), + .D(\blk00000001/sig000006e1 ), + .Q(m_axis_dout_tdata[31]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004f0 ( + .C(aclk), + .D(\blk00000001/sig000006e2 ), + .Q(m_axis_dout_tdata[32]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004ef ( + .C(aclk), + .D(\blk00000001/sig000006e3 ), + .Q(m_axis_dout_tdata[33]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004ee ( + .C(aclk), + .D(\blk00000001/sig000006e4 ), + .Q(m_axis_dout_tdata[34]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004ed ( + .C(aclk), + .D(\blk00000001/sig000006e5 ), + .Q(m_axis_dout_tdata[35]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004ec ( + .C(aclk), + .D(\blk00000001/sig000006e6 ), + .Q(m_axis_dout_tdata[36]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004eb ( + .C(aclk), + .D(\blk00000001/sig000006e7 ), + .Q(m_axis_dout_tdata[37]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004ea ( + .C(aclk), + .D(\blk00000001/sig000006e8 ), + .Q(m_axis_dout_tdata[38]) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004e9 ( + .C(aclk), + .D(\blk00000001/sig000006e9 ), + .Q(m_axis_dout_tdata[39]) + ); + MUXCY \blk00000001/blk000004e8 ( + .CI(\blk00000001/sig00000363 ), + .DI(\blk00000001/sig00000057 ), + .S(\blk00000001/sig00000732 ), + .O(\blk00000001/sig000006d1 ) + ); + XORCY \blk00000001/blk000004e7 ( + .CI(\blk00000001/sig00000363 ), + .LI(\blk00000001/sig00000732 ), + .O(\blk00000001/sig000006d2 ) + ); + MUXCY \blk00000001/blk000004e6 ( + .CI(\blk00000001/sig000006d1 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006ea ), + .O(\blk00000001/sig000006d0 ) + ); + XORCY \blk00000001/blk000004e5 ( + .CI(\blk00000001/sig000006d1 ), + .LI(\blk00000001/sig000006ea ), + .O(\blk00000001/sig000006d3 ) + ); + MUXCY \blk00000001/blk000004e4 ( + .CI(\blk00000001/sig000006d0 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006eb ), + .O(\blk00000001/sig000006cf ) + ); + XORCY \blk00000001/blk000004e3 ( + .CI(\blk00000001/sig000006d0 ), + .LI(\blk00000001/sig000006eb ), + .O(\blk00000001/sig000006d4 ) + ); + MUXCY \blk00000001/blk000004e2 ( + .CI(\blk00000001/sig000006cf ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006ec ), + .O(\blk00000001/sig000006ce ) + ); + XORCY \blk00000001/blk000004e1 ( + .CI(\blk00000001/sig000006cf ), + .LI(\blk00000001/sig000006ec ), + .O(\blk00000001/sig000006d5 ) + ); + MUXCY \blk00000001/blk000004e0 ( + .CI(\blk00000001/sig000006ce ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006ed ), + .O(\blk00000001/sig000006cd ) + ); + XORCY \blk00000001/blk000004df ( + .CI(\blk00000001/sig000006ce ), + .LI(\blk00000001/sig000006ed ), + .O(\blk00000001/sig000006d6 ) + ); + MUXCY \blk00000001/blk000004de ( + .CI(\blk00000001/sig000006cd ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006ee ), + .O(\blk00000001/sig000006cc ) + ); + XORCY \blk00000001/blk000004dd ( + .CI(\blk00000001/sig000006cd ), + .LI(\blk00000001/sig000006ee ), + .O(\blk00000001/sig000006d7 ) + ); + MUXCY \blk00000001/blk000004dc ( + .CI(\blk00000001/sig000006cc ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006ef ), + .O(\blk00000001/sig000006cb ) + ); + XORCY \blk00000001/blk000004db ( + .CI(\blk00000001/sig000006cc ), + .LI(\blk00000001/sig000006ef ), + .O(\blk00000001/sig000006d8 ) + ); + MUXCY \blk00000001/blk000004da ( + .CI(\blk00000001/sig000006cb ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006f0 ), + .O(\blk00000001/sig000006ca ) + ); + XORCY \blk00000001/blk000004d9 ( + .CI(\blk00000001/sig000006cb ), + .LI(\blk00000001/sig000006f0 ), + .O(\blk00000001/sig000006d9 ) + ); + MUXCY \blk00000001/blk000004d8 ( + .CI(\blk00000001/sig000006ca ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006f1 ), + .O(\blk00000001/sig000006c9 ) + ); + XORCY \blk00000001/blk000004d7 ( + .CI(\blk00000001/sig000006ca ), + .LI(\blk00000001/sig000006f1 ), + .O(\blk00000001/sig000006da ) + ); + MUXCY \blk00000001/blk000004d6 ( + .CI(\blk00000001/sig000006c9 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006f2 ), + .O(\blk00000001/sig000006c8 ) + ); + XORCY \blk00000001/blk000004d5 ( + .CI(\blk00000001/sig000006c9 ), + .LI(\blk00000001/sig000006f2 ), + .O(\blk00000001/sig000006db ) + ); + MUXCY \blk00000001/blk000004d4 ( + .CI(\blk00000001/sig000006c8 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006f3 ), + .O(\blk00000001/sig000006c7 ) + ); + XORCY \blk00000001/blk000004d3 ( + .CI(\blk00000001/sig000006c8 ), + .LI(\blk00000001/sig000006f3 ), + .O(\blk00000001/sig000006dc ) + ); + MUXCY \blk00000001/blk000004d2 ( + .CI(\blk00000001/sig000006c7 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006f4 ), + .O(\blk00000001/sig000006c6 ) + ); + XORCY \blk00000001/blk000004d1 ( + .CI(\blk00000001/sig000006c7 ), + .LI(\blk00000001/sig000006f4 ), + .O(\blk00000001/sig000006dd ) + ); + MUXCY \blk00000001/blk000004d0 ( + .CI(\blk00000001/sig000006c6 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006f5 ), + .O(\blk00000001/sig000006c5 ) + ); + XORCY \blk00000001/blk000004cf ( + .CI(\blk00000001/sig000006c6 ), + .LI(\blk00000001/sig000006f5 ), + .O(\blk00000001/sig000006de ) + ); + MUXCY \blk00000001/blk000004ce ( + .CI(\blk00000001/sig000006c5 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006f6 ), + .O(\blk00000001/sig000006c4 ) + ); + XORCY \blk00000001/blk000004cd ( + .CI(\blk00000001/sig000006c5 ), + .LI(\blk00000001/sig000006f6 ), + .O(\blk00000001/sig000006df ) + ); + MUXCY \blk00000001/blk000004cc ( + .CI(\blk00000001/sig000006c4 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006f7 ), + .O(\blk00000001/sig000006c3 ) + ); + XORCY \blk00000001/blk000004cb ( + .CI(\blk00000001/sig000006c4 ), + .LI(\blk00000001/sig000006f7 ), + .O(\blk00000001/sig000006e0 ) + ); + MUXCY \blk00000001/blk000004ca ( + .CI(\blk00000001/sig000006c3 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006f8 ), + .O(\blk00000001/sig000006c2 ) + ); + XORCY \blk00000001/blk000004c9 ( + .CI(\blk00000001/sig000006c3 ), + .LI(\blk00000001/sig000006f8 ), + .O(\blk00000001/sig000006e1 ) + ); + MUXCY \blk00000001/blk000004c8 ( + .CI(\blk00000001/sig000006c2 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006f9 ), + .O(\blk00000001/sig000006c1 ) + ); + XORCY \blk00000001/blk000004c7 ( + .CI(\blk00000001/sig000006c2 ), + .LI(\blk00000001/sig000006f9 ), + .O(\blk00000001/sig000006e2 ) + ); + MUXCY \blk00000001/blk000004c6 ( + .CI(\blk00000001/sig000006c1 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006fa ), + .O(\blk00000001/sig000006c0 ) + ); + XORCY \blk00000001/blk000004c5 ( + .CI(\blk00000001/sig000006c1 ), + .LI(\blk00000001/sig000006fa ), + .O(\blk00000001/sig000006e3 ) + ); + MUXCY \blk00000001/blk000004c4 ( + .CI(\blk00000001/sig000006c0 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006fb ), + .O(\blk00000001/sig000006bf ) + ); + XORCY \blk00000001/blk000004c3 ( + .CI(\blk00000001/sig000006c0 ), + .LI(\blk00000001/sig000006fb ), + .O(\blk00000001/sig000006e4 ) + ); + MUXCY \blk00000001/blk000004c2 ( + .CI(\blk00000001/sig000006bf ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006fc ), + .O(\blk00000001/sig000006be ) + ); + XORCY \blk00000001/blk000004c1 ( + .CI(\blk00000001/sig000006bf ), + .LI(\blk00000001/sig000006fc ), + .O(\blk00000001/sig000006e5 ) + ); + MUXCY \blk00000001/blk000004c0 ( + .CI(\blk00000001/sig000006be ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006fd ), + .O(\blk00000001/sig000006bd ) + ); + XORCY \blk00000001/blk000004bf ( + .CI(\blk00000001/sig000006be ), + .LI(\blk00000001/sig000006fd ), + .O(\blk00000001/sig000006e6 ) + ); + MUXCY \blk00000001/blk000004be ( + .CI(\blk00000001/sig000006bd ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006fe ), + .O(\blk00000001/sig000006bc ) + ); + XORCY \blk00000001/blk000004bd ( + .CI(\blk00000001/sig000006bd ), + .LI(\blk00000001/sig000006fe ), + .O(\blk00000001/sig000006e7 ) + ); + MUXCY \blk00000001/blk000004bc ( + .CI(\blk00000001/sig000006bc ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006ff ), + .O(\blk00000001/sig000006bb ) + ); + XORCY \blk00000001/blk000004bb ( + .CI(\blk00000001/sig000006bc ), + .LI(\blk00000001/sig000006ff ), + .O(\blk00000001/sig000006e8 ) + ); + XORCY \blk00000001/blk000004ba ( + .CI(\blk00000001/sig000006bb ), + .LI(\blk00000001/sig00000700 ), + .O(\blk00000001/sig000006e9 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004b9 ( + .C(aclk), + .D(\blk00000001/sig000001e2 ), + .Q(\blk00000001/sig0000020a ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004b8 ( + .C(aclk), + .D(\blk00000001/sig000001e3 ), + .Q(\blk00000001/sig00000059 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004b7 ( + .C(aclk), + .D(\blk00000001/sig000001e4 ), + .Q(\blk00000001/sig0000005a ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004b6 ( + .C(aclk), + .D(\blk00000001/sig000001e5 ), + .Q(\blk00000001/sig0000005b ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004b5 ( + .C(aclk), + .D(\blk00000001/sig000001e6 ), + .Q(\blk00000001/sig0000005c ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004b4 ( + .C(aclk), + .D(\blk00000001/sig000001e7 ), + .Q(\blk00000001/sig0000005d ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004b3 ( + .C(aclk), + .D(\blk00000001/sig000001e8 ), + .Q(\blk00000001/sig0000005e ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004b2 ( + .C(aclk), + .D(\blk00000001/sig000001e9 ), + .Q(\blk00000001/sig0000005f ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004b1 ( + .C(aclk), + .D(\blk00000001/sig000001ea ), + .Q(\blk00000001/sig00000060 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004b0 ( + .C(aclk), + .D(\blk00000001/sig000001eb ), + .Q(\blk00000001/sig00000061 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004af ( + .C(aclk), + .D(\blk00000001/sig000001ec ), + .Q(\blk00000001/sig00000062 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004ae ( + .C(aclk), + .D(\blk00000001/sig000001ed ), + .Q(\blk00000001/sig00000063 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004ad ( + .C(aclk), + .D(\blk00000001/sig000001ee ), + .Q(\blk00000001/sig00000064 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004ac ( + .C(aclk), + .D(\blk00000001/sig000001ef ), + .Q(\blk00000001/sig00000065 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004ab ( + .C(aclk), + .D(\blk00000001/sig000001f0 ), + .Q(\blk00000001/sig00000066 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004aa ( + .C(aclk), + .D(\blk00000001/sig000001f1 ), + .Q(\blk00000001/sig00000067 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004a9 ( + .C(aclk), + .D(\blk00000001/sig000001f2 ), + .Q(\blk00000001/sig00000068 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004a8 ( + .C(aclk), + .D(\blk00000001/sig000001f3 ), + .Q(\blk00000001/sig00000069 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004a7 ( + .C(aclk), + .D(\blk00000001/sig000001f4 ), + .Q(\blk00000001/sig0000006a ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004a6 ( + .C(aclk), + .D(\blk00000001/sig000001f5 ), + .Q(\blk00000001/sig0000006b ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004a5 ( + .C(aclk), + .D(\blk00000001/sig000001f6 ), + .Q(\blk00000001/sig0000006c ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004a4 ( + .C(aclk), + .D(\blk00000001/sig000001f7 ), + .Q(\blk00000001/sig0000006d ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004a3 ( + .C(aclk), + .D(\blk00000001/sig000001f8 ), + .Q(\blk00000001/sig0000006e ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004a2 ( + .C(aclk), + .D(\blk00000001/sig000001f9 ), + .Q(\blk00000001/sig0000006f ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004a1 ( + .C(aclk), + .D(\blk00000001/sig000001fa ), + .Q(\blk00000001/sig00000070 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000004a0 ( + .C(aclk), + .D(\blk00000001/sig000001fb ), + .Q(\blk00000001/sig00000071 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000049f ( + .C(aclk), + .D(\blk00000001/sig000001fc ), + .Q(\blk00000001/sig00000072 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000049e ( + .C(aclk), + .D(\blk00000001/sig000001fd ), + .Q(\blk00000001/sig00000073 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000049d ( + .C(aclk), + .D(\blk00000001/sig000001fe ), + .Q(\blk00000001/sig00000074 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000049c ( + .C(aclk), + .D(\blk00000001/sig000001ff ), + .Q(\blk00000001/sig00000075 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000049b ( + .C(aclk), + .D(\blk00000001/sig00000200 ), + .Q(\blk00000001/sig00000076 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000049a ( + .C(aclk), + .D(\blk00000001/sig00000201 ), + .Q(\blk00000001/sig00000077 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000499 ( + .C(aclk), + .D(\blk00000001/sig00000202 ), + .Q(\blk00000001/sig00000078 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000498 ( + .C(aclk), + .D(\blk00000001/sig00000203 ), + .Q(\blk00000001/sig00000079 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000497 ( + .C(aclk), + .D(\blk00000001/sig00000204 ), + .Q(\blk00000001/sig0000007a ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000496 ( + .C(aclk), + .D(\blk00000001/sig00000205 ), + .Q(\blk00000001/sig0000007b ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000495 ( + .C(aclk), + .D(\blk00000001/sig00000206 ), + .Q(\blk00000001/sig0000007c ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000494 ( + .C(aclk), + .D(\blk00000001/sig00000207 ), + .Q(\blk00000001/sig0000007d ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000493 ( + .C(aclk), + .D(\blk00000001/sig00000208 ), + .Q(\blk00000001/sig0000007e ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000492 ( + .C(aclk), + .D(\blk00000001/sig00000209 ), + .Q(\blk00000001/sig0000007f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000491 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000025a ), + .Q(\blk00000001/sig0000020b ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000490 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000235 ), + .Q(\blk00000001/sig0000020c ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000048f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000234 ), + .Q(\blk00000001/sig0000020d ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000048e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000233 ), + .Q(\blk00000001/sig0000020e ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000048d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000236 ), + .Q(\blk00000001/sig0000020f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000048c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000237 ), + .Q(\blk00000001/sig00000210 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000048b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000238 ), + .Q(\blk00000001/sig00000211 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000048a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000239 ), + .Q(\blk00000001/sig00000212 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000489 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000023a ), + .Q(\blk00000001/sig00000213 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000488 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000023b ), + .Q(\blk00000001/sig00000214 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000487 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000023c ), + .Q(\blk00000001/sig00000215 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000486 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000023d ), + .Q(\blk00000001/sig00000216 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000485 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000023e ), + .Q(\blk00000001/sig00000217 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000484 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000023f ), + .Q(\blk00000001/sig00000218 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000483 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000240 ), + .Q(\blk00000001/sig00000219 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000482 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000241 ), + .Q(\blk00000001/sig0000021a ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000481 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000242 ), + .Q(\blk00000001/sig0000021b ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000480 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000243 ), + .Q(\blk00000001/sig0000021c ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000047f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000244 ), + .Q(\blk00000001/sig0000021d ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000047e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000245 ), + .Q(\blk00000001/sig0000021e ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000047d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000246 ), + .Q(\blk00000001/sig0000021f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000047c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000247 ), + .Q(\blk00000001/sig00000220 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000047b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000248 ), + .Q(\blk00000001/sig00000221 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000047a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000249 ), + .Q(\blk00000001/sig00000222 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000479 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000024a ), + .Q(\blk00000001/sig00000223 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000478 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000024b ), + .Q(\blk00000001/sig00000224 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000477 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000024c ), + .Q(\blk00000001/sig00000225 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000476 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000024d ), + .Q(\blk00000001/sig00000226 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000475 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000024e ), + .Q(\blk00000001/sig00000227 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000474 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000024f ), + .Q(\blk00000001/sig00000228 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000473 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000250 ), + .Q(\blk00000001/sig00000229 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000472 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000251 ), + .Q(\blk00000001/sig0000022a ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000471 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000252 ), + .Q(\blk00000001/sig0000022b ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000470 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000253 ), + .Q(\blk00000001/sig0000022c ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000046f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000254 ), + .Q(\blk00000001/sig0000022d ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000046e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000255 ), + .Q(\blk00000001/sig0000022e ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000046d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000256 ), + .Q(\blk00000001/sig0000022f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000046c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000257 ), + .Q(\blk00000001/sig00000230 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000046b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000258 ), + .Q(\blk00000001/sig00000231 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000046a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000259 ), + .Q(\blk00000001/sig00000232 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000469 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002b0 ), + .Q(\blk00000001/sig00000236 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000468 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000028f ), + .Q(\blk00000001/sig00000237 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000467 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000028e ), + .Q(\blk00000001/sig00000238 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000466 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000028d ), + .Q(\blk00000001/sig00000239 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000465 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000290 ), + .Q(\blk00000001/sig0000023a ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000464 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000291 ), + .Q(\blk00000001/sig0000023b ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000463 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000292 ), + .Q(\blk00000001/sig0000023c ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000462 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000293 ), + .Q(\blk00000001/sig0000023d ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000461 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000294 ), + .Q(\blk00000001/sig0000023e ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000460 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000295 ), + .Q(\blk00000001/sig0000023f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000045f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000296 ), + .Q(\blk00000001/sig00000240 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000045e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000297 ), + .Q(\blk00000001/sig00000241 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000045d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000298 ), + .Q(\blk00000001/sig00000242 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000045c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000299 ), + .Q(\blk00000001/sig00000243 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000045b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000029a ), + .Q(\blk00000001/sig00000244 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000045a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000029b ), + .Q(\blk00000001/sig00000245 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000459 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000029c ), + .Q(\blk00000001/sig00000246 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000458 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000029d ), + .Q(\blk00000001/sig00000247 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000457 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000029e ), + .Q(\blk00000001/sig00000248 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000456 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000029f ), + .Q(\blk00000001/sig00000249 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000455 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002a0 ), + .Q(\blk00000001/sig0000024a ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000454 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002a1 ), + .Q(\blk00000001/sig0000024b ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000453 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002a2 ), + .Q(\blk00000001/sig0000024c ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000452 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002a3 ), + .Q(\blk00000001/sig0000024d ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000451 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002a4 ), + .Q(\blk00000001/sig0000024e ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000450 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002a5 ), + .Q(\blk00000001/sig0000024f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000044f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002a6 ), + .Q(\blk00000001/sig00000250 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000044e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002a7 ), + .Q(\blk00000001/sig00000251 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000044d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002a8 ), + .Q(\blk00000001/sig00000252 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000044c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002a9 ), + .Q(\blk00000001/sig00000253 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000044b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002aa ), + .Q(\blk00000001/sig00000254 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000044a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002ab ), + .Q(\blk00000001/sig00000255 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000449 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002ac ), + .Q(\blk00000001/sig00000256 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000448 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002ad ), + .Q(\blk00000001/sig00000257 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000447 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002ae ), + .Q(\blk00000001/sig00000258 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000446 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002af ), + .Q(\blk00000001/sig00000259 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000445 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000302 ), + .Q(\blk00000001/sig00000290 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000444 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002e5 ), + .Q(\blk00000001/sig00000291 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000443 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002e4 ), + .Q(\blk00000001/sig00000292 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000442 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002e3 ), + .Q(\blk00000001/sig00000293 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000441 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002e6 ), + .Q(\blk00000001/sig00000294 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000440 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002e7 ), + .Q(\blk00000001/sig00000295 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000043f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002e8 ), + .Q(\blk00000001/sig00000296 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000043e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002e9 ), + .Q(\blk00000001/sig00000297 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000043d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002ea ), + .Q(\blk00000001/sig00000298 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000043c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002eb ), + .Q(\blk00000001/sig00000299 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000043b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002ec ), + .Q(\blk00000001/sig0000029a ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000043a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002ed ), + .Q(\blk00000001/sig0000029b ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000439 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002ee ), + .Q(\blk00000001/sig0000029c ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000438 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002ef ), + .Q(\blk00000001/sig0000029d ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000437 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002f0 ), + .Q(\blk00000001/sig0000029e ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000436 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002f1 ), + .Q(\blk00000001/sig0000029f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000435 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002f2 ), + .Q(\blk00000001/sig000002a0 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000434 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002f3 ), + .Q(\blk00000001/sig000002a1 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000433 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002f4 ), + .Q(\blk00000001/sig000002a2 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000432 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002f5 ), + .Q(\blk00000001/sig000002a3 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000431 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002f6 ), + .Q(\blk00000001/sig000002a4 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000430 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002f7 ), + .Q(\blk00000001/sig000002a5 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000042f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002f8 ), + .Q(\blk00000001/sig000002a6 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000042e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002f9 ), + .Q(\blk00000001/sig000002a7 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000042d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002fa ), + .Q(\blk00000001/sig000002a8 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000042c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002fb ), + .Q(\blk00000001/sig000002a9 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000042b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002fc ), + .Q(\blk00000001/sig000002aa ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000042a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002fd ), + .Q(\blk00000001/sig000002ab ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000429 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002fe ), + .Q(\blk00000001/sig000002ac ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000428 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002ff ), + .Q(\blk00000001/sig000002ad ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000427 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000300 ), + .Q(\blk00000001/sig000002ae ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000426 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000301 ), + .Q(\blk00000001/sig000002af ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000425 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000350 ), + .Q(\blk00000001/sig000002e6 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000424 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000337 ), + .Q(\blk00000001/sig000002e7 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000423 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000336 ), + .Q(\blk00000001/sig000002e8 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000422 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000335 ), + .Q(\blk00000001/sig000002e9 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000421 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000338 ), + .Q(\blk00000001/sig000002ea ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000420 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000339 ), + .Q(\blk00000001/sig000002eb ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000041f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000033a ), + .Q(\blk00000001/sig000002ec ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000041e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000033b ), + .Q(\blk00000001/sig000002ed ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000041d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000033c ), + .Q(\blk00000001/sig000002ee ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000041c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000033d ), + .Q(\blk00000001/sig000002ef ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000041b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000033e ), + .Q(\blk00000001/sig000002f0 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000041a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000033f ), + .Q(\blk00000001/sig000002f1 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000419 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000340 ), + .Q(\blk00000001/sig000002f2 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000418 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000341 ), + .Q(\blk00000001/sig000002f3 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000417 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000342 ), + .Q(\blk00000001/sig000002f4 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000416 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000343 ), + .Q(\blk00000001/sig000002f5 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000415 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000344 ), + .Q(\blk00000001/sig000002f6 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000414 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000345 ), + .Q(\blk00000001/sig000002f7 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000413 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000346 ), + .Q(\blk00000001/sig000002f8 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000412 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000347 ), + .Q(\blk00000001/sig000002f9 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000411 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000348 ), + .Q(\blk00000001/sig000002fa ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000410 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000349 ), + .Q(\blk00000001/sig000002fb ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000040f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000034a ), + .Q(\blk00000001/sig000002fc ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000040e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000034b ), + .Q(\blk00000001/sig000002fd ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000040d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000034c ), + .Q(\blk00000001/sig000002fe ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000040c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000034d ), + .Q(\blk00000001/sig000002ff ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000040b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000034e ), + .Q(\blk00000001/sig00000300 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000040a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000034f ), + .Q(\blk00000001/sig00000301 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000409 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000039b ), + .Q(\blk00000001/sig00000338 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000408 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000386 ), + .Q(\blk00000001/sig00000339 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000407 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000385 ), + .Q(\blk00000001/sig0000033a ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000406 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000384 ), + .Q(\blk00000001/sig0000033b ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000405 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000387 ), + .Q(\blk00000001/sig0000033c ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000404 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000388 ), + .Q(\blk00000001/sig0000033d ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000403 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000389 ), + .Q(\blk00000001/sig0000033e ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000402 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000038a ), + .Q(\blk00000001/sig0000033f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000401 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000038b ), + .Q(\blk00000001/sig00000340 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000400 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000038c ), + .Q(\blk00000001/sig00000341 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003ff ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000038d ), + .Q(\blk00000001/sig00000342 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003fe ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000038e ), + .Q(\blk00000001/sig00000343 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003fd ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000038f ), + .Q(\blk00000001/sig00000344 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003fc ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000390 ), + .Q(\blk00000001/sig00000345 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003fb ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000391 ), + .Q(\blk00000001/sig00000346 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003fa ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000392 ), + .Q(\blk00000001/sig00000347 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003f9 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000393 ), + .Q(\blk00000001/sig00000348 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003f8 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000394 ), + .Q(\blk00000001/sig00000349 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003f7 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000395 ), + .Q(\blk00000001/sig0000034a ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003f6 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000396 ), + .Q(\blk00000001/sig0000034b ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003f5 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000397 ), + .Q(\blk00000001/sig0000034c ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003f4 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000398 ), + .Q(\blk00000001/sig0000034d ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003f3 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000399 ), + .Q(\blk00000001/sig0000034e ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003f2 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000039a ), + .Q(\blk00000001/sig0000034f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003f1 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003e6 ), + .Q(\blk00000001/sig00000387 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003f0 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003d5 ), + .Q(\blk00000001/sig00000388 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003ef ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003d4 ), + .Q(\blk00000001/sig00000389 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003ee ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003d3 ), + .Q(\blk00000001/sig0000038a ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003ed ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003d6 ), + .Q(\blk00000001/sig0000038b ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003ec ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003d7 ), + .Q(\blk00000001/sig0000038c ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003eb ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003d8 ), + .Q(\blk00000001/sig0000038d ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003ea ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003d9 ), + .Q(\blk00000001/sig0000038e ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003e9 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003da ), + .Q(\blk00000001/sig0000038f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003e8 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003db ), + .Q(\blk00000001/sig00000390 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003e7 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003dc ), + .Q(\blk00000001/sig00000391 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003e6 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003dd ), + .Q(\blk00000001/sig00000392 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003e5 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003de ), + .Q(\blk00000001/sig00000393 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003e4 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003df ), + .Q(\blk00000001/sig00000394 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003e3 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003e0 ), + .Q(\blk00000001/sig00000395 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003e2 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003e1 ), + .Q(\blk00000001/sig00000396 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003e1 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003e2 ), + .Q(\blk00000001/sig00000397 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003e0 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003e3 ), + .Q(\blk00000001/sig00000398 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003df ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003e4 ), + .Q(\blk00000001/sig00000399 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003de ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003e5 ), + .Q(\blk00000001/sig0000039a ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003dd ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000041a ), + .Q(\blk00000001/sig000003cf ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003dc ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000041b ), + .Q(\blk00000001/sig000003d0 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003db ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000041c ), + .Q(\blk00000001/sig000003d1 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003da ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000041d ), + .Q(\blk00000001/sig000003d2 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003d9 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000465 ), + .Q(\blk00000001/sig0000041a ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003d8 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000466 ), + .Q(\blk00000001/sig0000041b ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003d7 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000467 ), + .Q(\blk00000001/sig0000041c ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003d6 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000468 ), + .Q(\blk00000001/sig0000041d ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003d5 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000469 ), + .Q(\blk00000001/sig0000041e ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003d4 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000046a ), + .Q(\blk00000001/sig0000041f ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003d3 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000046b ), + .Q(\blk00000001/sig00000420 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003d2 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000046c ), + .Q(\blk00000001/sig00000421 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003d1 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000047c ), + .Q(\blk00000001/sig00000425 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003d0 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000473 ), + .Q(\blk00000001/sig00000426 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003cf ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000472 ), + .Q(\blk00000001/sig00000427 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003ce ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000471 ), + .Q(\blk00000001/sig00000428 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003cd ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000474 ), + .Q(\blk00000001/sig00000429 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003cc ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000475 ), + .Q(\blk00000001/sig0000042a ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003cb ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000476 ), + .Q(\blk00000001/sig0000042b ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003ca ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000477 ), + .Q(\blk00000001/sig0000042c ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003c9 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000478 ), + .Q(\blk00000001/sig0000042d ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003c8 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000479 ), + .Q(\blk00000001/sig0000042e ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003c7 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000047a ), + .Q(\blk00000001/sig0000042f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003c6 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000047b ), + .Q(\blk00000001/sig00000430 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003c5 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004b0 ), + .Q(\blk00000001/sig00000465 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003c4 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004b1 ), + .Q(\blk00000001/sig00000466 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003c3 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004b2 ), + .Q(\blk00000001/sig00000467 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003c2 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004b3 ), + .Q(\blk00000001/sig00000468 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003c1 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004b4 ), + .Q(\blk00000001/sig00000469 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003c0 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004b5 ), + .Q(\blk00000001/sig0000046a ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003bf ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004b6 ), + .Q(\blk00000001/sig0000046b ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003be ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004b7 ), + .Q(\blk00000001/sig0000046c ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003bd ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004b8 ), + .Q(\blk00000001/sig0000046d ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003bc ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004b9 ), + .Q(\blk00000001/sig0000046e ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003bb ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004ba ), + .Q(\blk00000001/sig0000046f ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003ba ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004bb ), + .Q(\blk00000001/sig00000470 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003b9 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004c7 ), + .Q(\blk00000001/sig00000474 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003b8 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004c2 ), + .Q(\blk00000001/sig00000475 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003b7 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004c1 ), + .Q(\blk00000001/sig00000476 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003b6 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004c0 ), + .Q(\blk00000001/sig00000477 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003b5 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004c3 ), + .Q(\blk00000001/sig00000478 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003b4 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004c4 ), + .Q(\blk00000001/sig00000479 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003b3 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004c5 ), + .Q(\blk00000001/sig0000047a ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003b2 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004c6 ), + .Q(\blk00000001/sig0000047b ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003b1 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004fb ), + .Q(\blk00000001/sig000004b0 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003b0 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004fc ), + .Q(\blk00000001/sig000004b1 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003af ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004fd ), + .Q(\blk00000001/sig000004b2 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003ae ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004fe ), + .Q(\blk00000001/sig000004b3 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003ad ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000004ff ), + .Q(\blk00000001/sig000004b4 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003ac ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000500 ), + .Q(\blk00000001/sig000004b5 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003ab ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000501 ), + .Q(\blk00000001/sig000004b6 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003aa ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000502 ), + .Q(\blk00000001/sig000004b7 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003a9 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000503 ), + .Q(\blk00000001/sig000004b8 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003a8 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000504 ), + .Q(\blk00000001/sig000004b9 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003a7 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000505 ), + .Q(\blk00000001/sig000004ba ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003a6 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000506 ), + .Q(\blk00000001/sig000004bb ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003a5 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000507 ), + .Q(\blk00000001/sig000004bc ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003a4 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000508 ), + .Q(\blk00000001/sig000004bd ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003a3 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000509 ), + .Q(\blk00000001/sig000004be ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000003a2 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000050a ), + .Q(\blk00000001/sig000004bf ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003a1 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000512 ), + .Q(\blk00000001/sig000004c3 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000003a0 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000511 ), + .Q(\blk00000001/sig000004c4 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000039f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000510 ), + .Q(\blk00000001/sig000004c5 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000039e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000050f ), + .Q(\blk00000001/sig000004c6 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000039d ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000546 ), + .Q(\blk00000001/sig000004fb ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000039c ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000547 ), + .Q(\blk00000001/sig000004fc ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000039b ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000548 ), + .Q(\blk00000001/sig000004fd ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000039a ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000549 ), + .Q(\blk00000001/sig000004fe ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000399 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000054a ), + .Q(\blk00000001/sig000004ff ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000398 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000054b ), + .Q(\blk00000001/sig00000500 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000397 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000054c ), + .Q(\blk00000001/sig00000501 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000396 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000054d ), + .Q(\blk00000001/sig00000502 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000395 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000054e ), + .Q(\blk00000001/sig00000503 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000394 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000054f ), + .Q(\blk00000001/sig00000504 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000393 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000550 ), + .Q(\blk00000001/sig00000505 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000392 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000551 ), + .Q(\blk00000001/sig00000506 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000391 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000552 ), + .Q(\blk00000001/sig00000507 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000390 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000553 ), + .Q(\blk00000001/sig00000508 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000038f ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000554 ), + .Q(\blk00000001/sig00000509 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000038e ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000555 ), + .Q(\blk00000001/sig0000050a ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000038d ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000556 ), + .Q(\blk00000001/sig0000050b ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000038c ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000557 ), + .Q(\blk00000001/sig0000050c ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000038b ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000558 ), + .Q(\blk00000001/sig0000050d ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000038a ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000559 ), + .Q(\blk00000001/sig0000050e ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000389 ( + .C(aclk), + .D(\blk00000001/sig00000512 ), + .Q(\blk00000001/sig00000511 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000388 ( + .C(aclk), + .D(\blk00000001/sig00000511 ), + .Q(\blk00000001/sig00000510 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000387 ( + .C(aclk), + .D(\blk00000001/sig00000510 ), + .Q(\blk00000001/sig0000050f ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000386 ( + .C(aclk), + .D(\blk00000001/sig000004c7 ), + .Q(\blk00000001/sig000004c2 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000385 ( + .C(aclk), + .D(\blk00000001/sig000004c2 ), + .Q(\blk00000001/sig000004c1 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000384 ( + .C(aclk), + .D(\blk00000001/sig000004c1 ), + .Q(\blk00000001/sig000004c0 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000383 ( + .C(aclk), + .D(\blk00000001/sig0000047c ), + .Q(\blk00000001/sig00000473 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000382 ( + .C(aclk), + .D(\blk00000001/sig00000473 ), + .Q(\blk00000001/sig00000472 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000381 ( + .C(aclk), + .D(\blk00000001/sig00000472 ), + .Q(\blk00000001/sig00000471 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000380 ( + .C(aclk), + .D(\blk00000001/sig00000431 ), + .Q(\blk00000001/sig00000424 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000037f ( + .C(aclk), + .D(\blk00000001/sig00000424 ), + .Q(\blk00000001/sig00000423 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000037e ( + .C(aclk), + .D(\blk00000001/sig00000423 ), + .Q(\blk00000001/sig00000422 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000037d ( + .C(aclk), + .D(\blk00000001/sig000003e6 ), + .Q(\blk00000001/sig000003d5 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000037c ( + .C(aclk), + .D(\blk00000001/sig000003d5 ), + .Q(\blk00000001/sig000003d4 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000037b ( + .C(aclk), + .D(\blk00000001/sig000003d4 ), + .Q(\blk00000001/sig000003d3 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000037a ( + .C(aclk), + .D(\blk00000001/sig0000039b ), + .Q(\blk00000001/sig00000386 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000379 ( + .C(aclk), + .D(\blk00000001/sig00000386 ), + .Q(\blk00000001/sig00000385 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000378 ( + .C(aclk), + .D(\blk00000001/sig00000385 ), + .Q(\blk00000001/sig00000384 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000377 ( + .C(aclk), + .D(\blk00000001/sig00000350 ), + .Q(\blk00000001/sig00000337 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000376 ( + .C(aclk), + .D(\blk00000001/sig00000337 ), + .Q(\blk00000001/sig00000336 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000375 ( + .C(aclk), + .D(\blk00000001/sig00000336 ), + .Q(\blk00000001/sig00000335 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000374 ( + .C(aclk), + .D(\blk00000001/sig00000302 ), + .Q(\blk00000001/sig000002e5 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000373 ( + .C(aclk), + .D(\blk00000001/sig000002e5 ), + .Q(\blk00000001/sig000002e4 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000372 ( + .C(aclk), + .D(\blk00000001/sig000002e4 ), + .Q(\blk00000001/sig000002e3 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000371 ( + .C(aclk), + .D(\blk00000001/sig000002b0 ), + .Q(\blk00000001/sig0000028f ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000370 ( + .C(aclk), + .D(\blk00000001/sig0000028f ), + .Q(\blk00000001/sig0000028e ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000036f ( + .C(aclk), + .D(\blk00000001/sig0000028e ), + .Q(\blk00000001/sig0000028d ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000036e ( + .C(aclk), + .D(\blk00000001/sig0000025a ), + .Q(\blk00000001/sig00000235 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000036d ( + .C(aclk), + .D(\blk00000001/sig00000235 ), + .Q(\blk00000001/sig00000234 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000036c ( + .C(aclk), + .D(\blk00000001/sig00000234 ), + .Q(\blk00000001/sig00000233 ) + ); + MUXCY \blk00000001/blk0000036b ( + .CI(\blk00000001/sig0000026b ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000006aa ), + .O(\blk00000001/sig000006ba ) + ); + XORCY \blk00000001/blk0000036a ( + .CI(\blk00000001/sig0000026b ), + .LI(\blk00000001/sig000006aa ), + .O(\blk00000001/sig0000025b ) + ); + MUXCY \blk00000001/blk00000369 ( + .CI(\blk00000001/sig000006ab ), + .DI(\blk00000001/sig0000027c ), + .S(\blk00000001/sig000006a9 ), + .O(\NLW_blk00000001/blk00000369_O_UNCONNECTED ) + ); + MUXCY \blk00000001/blk00000368 ( + .CI(\blk00000001/sig000006ba ), + .DI(\blk00000001/sig0000026d ), + .S(\blk00000001/sig000006a8 ), + .O(\blk00000001/sig000006b9 ) + ); + MUXCY \blk00000001/blk00000367 ( + .CI(\blk00000001/sig000006b9 ), + .DI(\blk00000001/sig0000026e ), + .S(\blk00000001/sig000006a7 ), + .O(\blk00000001/sig000006b8 ) + ); + MUXCY \blk00000001/blk00000366 ( + .CI(\blk00000001/sig000006b8 ), + .DI(\blk00000001/sig0000026f ), + .S(\blk00000001/sig000006a6 ), + .O(\blk00000001/sig000006b7 ) + ); + MUXCY \blk00000001/blk00000365 ( + .CI(\blk00000001/sig000006b7 ), + .DI(\blk00000001/sig00000270 ), + .S(\blk00000001/sig000006a5 ), + .O(\blk00000001/sig000006b6 ) + ); + MUXCY \blk00000001/blk00000364 ( + .CI(\blk00000001/sig000006b6 ), + .DI(\blk00000001/sig00000271 ), + .S(\blk00000001/sig000006a4 ), + .O(\blk00000001/sig000006b5 ) + ); + MUXCY \blk00000001/blk00000363 ( + .CI(\blk00000001/sig000006b5 ), + .DI(\blk00000001/sig00000272 ), + .S(\blk00000001/sig000006a3 ), + .O(\blk00000001/sig000006b4 ) + ); + MUXCY \blk00000001/blk00000362 ( + .CI(\blk00000001/sig000006b4 ), + .DI(\blk00000001/sig00000273 ), + .S(\blk00000001/sig000006a2 ), + .O(\blk00000001/sig000006b3 ) + ); + MUXCY \blk00000001/blk00000361 ( + .CI(\blk00000001/sig000006b3 ), + .DI(\blk00000001/sig00000274 ), + .S(\blk00000001/sig000006a1 ), + .O(\blk00000001/sig000006b2 ) + ); + MUXCY \blk00000001/blk00000360 ( + .CI(\blk00000001/sig000006b2 ), + .DI(\blk00000001/sig00000275 ), + .S(\blk00000001/sig000006a0 ), + .O(\blk00000001/sig000006b1 ) + ); + MUXCY \blk00000001/blk0000035f ( + .CI(\blk00000001/sig000006b1 ), + .DI(\blk00000001/sig00000276 ), + .S(\blk00000001/sig0000069f ), + .O(\blk00000001/sig000006b0 ) + ); + MUXCY \blk00000001/blk0000035e ( + .CI(\blk00000001/sig000006b0 ), + .DI(\blk00000001/sig00000277 ), + .S(\blk00000001/sig0000069e ), + .O(\blk00000001/sig000006af ) + ); + MUXCY \blk00000001/blk0000035d ( + .CI(\blk00000001/sig000006af ), + .DI(\blk00000001/sig00000278 ), + .S(\blk00000001/sig0000069d ), + .O(\blk00000001/sig000006ae ) + ); + MUXCY \blk00000001/blk0000035c ( + .CI(\blk00000001/sig000006ae ), + .DI(\blk00000001/sig00000279 ), + .S(\blk00000001/sig0000069c ), + .O(\blk00000001/sig000006ad ) + ); + MUXCY \blk00000001/blk0000035b ( + .CI(\blk00000001/sig000006ad ), + .DI(\blk00000001/sig0000027a ), + .S(\blk00000001/sig0000069b ), + .O(\blk00000001/sig000006ac ) + ); + MUXCY \blk00000001/blk0000035a ( + .CI(\blk00000001/sig000006ac ), + .DI(\blk00000001/sig0000027b ), + .S(\blk00000001/sig0000069a ), + .O(\blk00000001/sig000006ab ) + ); + XORCY \blk00000001/blk00000359 ( + .CI(\blk00000001/sig000006ba ), + .LI(\blk00000001/sig000006a8 ), + .O(\blk00000001/sig0000025c ) + ); + XORCY \blk00000001/blk00000358 ( + .CI(\blk00000001/sig000006b9 ), + .LI(\blk00000001/sig000006a7 ), + .O(\blk00000001/sig0000025d ) + ); + XORCY \blk00000001/blk00000357 ( + .CI(\blk00000001/sig000006b8 ), + .LI(\blk00000001/sig000006a6 ), + .O(\blk00000001/sig0000025e ) + ); + XORCY \blk00000001/blk00000356 ( + .CI(\blk00000001/sig000006b7 ), + .LI(\blk00000001/sig000006a5 ), + .O(\blk00000001/sig0000025f ) + ); + XORCY \blk00000001/blk00000355 ( + .CI(\blk00000001/sig000006b6 ), + .LI(\blk00000001/sig000006a4 ), + .O(\blk00000001/sig00000260 ) + ); + XORCY \blk00000001/blk00000354 ( + .CI(\blk00000001/sig000006b5 ), + .LI(\blk00000001/sig000006a3 ), + .O(\blk00000001/sig00000261 ) + ); + XORCY \blk00000001/blk00000353 ( + .CI(\blk00000001/sig000006b4 ), + .LI(\blk00000001/sig000006a2 ), + .O(\blk00000001/sig00000262 ) + ); + XORCY \blk00000001/blk00000352 ( + .CI(\blk00000001/sig000006b3 ), + .LI(\blk00000001/sig000006a1 ), + .O(\blk00000001/sig00000263 ) + ); + XORCY \blk00000001/blk00000351 ( + .CI(\blk00000001/sig000006b2 ), + .LI(\blk00000001/sig000006a0 ), + .O(\blk00000001/sig00000264 ) + ); + XORCY \blk00000001/blk00000350 ( + .CI(\blk00000001/sig000006b1 ), + .LI(\blk00000001/sig0000069f ), + .O(\blk00000001/sig00000265 ) + ); + XORCY \blk00000001/blk0000034f ( + .CI(\blk00000001/sig000006b0 ), + .LI(\blk00000001/sig0000069e ), + .O(\blk00000001/sig00000266 ) + ); + XORCY \blk00000001/blk0000034e ( + .CI(\blk00000001/sig000006af ), + .LI(\blk00000001/sig0000069d ), + .O(\blk00000001/sig00000267 ) + ); + XORCY \blk00000001/blk0000034d ( + .CI(\blk00000001/sig000006ae ), + .LI(\blk00000001/sig0000069c ), + .O(\blk00000001/sig00000268 ) + ); + XORCY \blk00000001/blk0000034c ( + .CI(\blk00000001/sig000006ad ), + .LI(\blk00000001/sig0000069b ), + .O(\blk00000001/sig00000269 ) + ); + XORCY \blk00000001/blk0000034b ( + .CI(\blk00000001/sig000006ac ), + .LI(\blk00000001/sig0000069a ), + .O(\blk00000001/sig0000026a ) + ); + XORCY \blk00000001/blk0000034a ( + .CI(\blk00000001/sig000006ab ), + .LI(\blk00000001/sig000006a9 ), + .O(\blk00000001/sig0000025a ) + ); + MUXCY \blk00000001/blk00000349 ( + .CI(\blk00000001/sig000002c1 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000689 ), + .O(\blk00000001/sig00000699 ) + ); + XORCY \blk00000001/blk00000348 ( + .CI(\blk00000001/sig000002c1 ), + .LI(\blk00000001/sig00000689 ), + .O(\blk00000001/sig000002b1 ) + ); + MUXCY \blk00000001/blk00000347 ( + .CI(\blk00000001/sig0000068a ), + .DI(\blk00000001/sig000002d2 ), + .S(\blk00000001/sig00000688 ), + .O(\NLW_blk00000001/blk00000347_O_UNCONNECTED ) + ); + MUXCY \blk00000001/blk00000346 ( + .CI(\blk00000001/sig00000699 ), + .DI(\blk00000001/sig000002c3 ), + .S(\blk00000001/sig00000687 ), + .O(\blk00000001/sig00000698 ) + ); + MUXCY \blk00000001/blk00000345 ( + .CI(\blk00000001/sig00000698 ), + .DI(\blk00000001/sig000002c4 ), + .S(\blk00000001/sig00000686 ), + .O(\blk00000001/sig00000697 ) + ); + MUXCY \blk00000001/blk00000344 ( + .CI(\blk00000001/sig00000697 ), + .DI(\blk00000001/sig000002c5 ), + .S(\blk00000001/sig00000685 ), + .O(\blk00000001/sig00000696 ) + ); + MUXCY \blk00000001/blk00000343 ( + .CI(\blk00000001/sig00000696 ), + .DI(\blk00000001/sig000002c6 ), + .S(\blk00000001/sig00000684 ), + .O(\blk00000001/sig00000695 ) + ); + MUXCY \blk00000001/blk00000342 ( + .CI(\blk00000001/sig00000695 ), + .DI(\blk00000001/sig000002c7 ), + .S(\blk00000001/sig00000683 ), + .O(\blk00000001/sig00000694 ) + ); + MUXCY \blk00000001/blk00000341 ( + .CI(\blk00000001/sig00000694 ), + .DI(\blk00000001/sig000002c8 ), + .S(\blk00000001/sig00000682 ), + .O(\blk00000001/sig00000693 ) + ); + MUXCY \blk00000001/blk00000340 ( + .CI(\blk00000001/sig00000693 ), + .DI(\blk00000001/sig000002c9 ), + .S(\blk00000001/sig00000681 ), + .O(\blk00000001/sig00000692 ) + ); + MUXCY \blk00000001/blk0000033f ( + .CI(\blk00000001/sig00000692 ), + .DI(\blk00000001/sig000002ca ), + .S(\blk00000001/sig00000680 ), + .O(\blk00000001/sig00000691 ) + ); + MUXCY \blk00000001/blk0000033e ( + .CI(\blk00000001/sig00000691 ), + .DI(\blk00000001/sig000002cb ), + .S(\blk00000001/sig0000067f ), + .O(\blk00000001/sig00000690 ) + ); + MUXCY \blk00000001/blk0000033d ( + .CI(\blk00000001/sig00000690 ), + .DI(\blk00000001/sig000002cc ), + .S(\blk00000001/sig0000067e ), + .O(\blk00000001/sig0000068f ) + ); + MUXCY \blk00000001/blk0000033c ( + .CI(\blk00000001/sig0000068f ), + .DI(\blk00000001/sig000002cd ), + .S(\blk00000001/sig0000067d ), + .O(\blk00000001/sig0000068e ) + ); + MUXCY \blk00000001/blk0000033b ( + .CI(\blk00000001/sig0000068e ), + .DI(\blk00000001/sig000002ce ), + .S(\blk00000001/sig0000067c ), + .O(\blk00000001/sig0000068d ) + ); + MUXCY \blk00000001/blk0000033a ( + .CI(\blk00000001/sig0000068d ), + .DI(\blk00000001/sig000002cf ), + .S(\blk00000001/sig0000067b ), + .O(\blk00000001/sig0000068c ) + ); + MUXCY \blk00000001/blk00000339 ( + .CI(\blk00000001/sig0000068c ), + .DI(\blk00000001/sig000002d0 ), + .S(\blk00000001/sig0000067a ), + .O(\blk00000001/sig0000068b ) + ); + MUXCY \blk00000001/blk00000338 ( + .CI(\blk00000001/sig0000068b ), + .DI(\blk00000001/sig000002d1 ), + .S(\blk00000001/sig00000679 ), + .O(\blk00000001/sig0000068a ) + ); + XORCY \blk00000001/blk00000337 ( + .CI(\blk00000001/sig00000699 ), + .LI(\blk00000001/sig00000687 ), + .O(\blk00000001/sig000002b2 ) + ); + XORCY \blk00000001/blk00000336 ( + .CI(\blk00000001/sig00000698 ), + .LI(\blk00000001/sig00000686 ), + .O(\blk00000001/sig000002b3 ) + ); + XORCY \blk00000001/blk00000335 ( + .CI(\blk00000001/sig00000697 ), + .LI(\blk00000001/sig00000685 ), + .O(\blk00000001/sig000002b4 ) + ); + XORCY \blk00000001/blk00000334 ( + .CI(\blk00000001/sig00000696 ), + .LI(\blk00000001/sig00000684 ), + .O(\blk00000001/sig000002b5 ) + ); + XORCY \blk00000001/blk00000333 ( + .CI(\blk00000001/sig00000695 ), + .LI(\blk00000001/sig00000683 ), + .O(\blk00000001/sig000002b6 ) + ); + XORCY \blk00000001/blk00000332 ( + .CI(\blk00000001/sig00000694 ), + .LI(\blk00000001/sig00000682 ), + .O(\blk00000001/sig000002b7 ) + ); + XORCY \blk00000001/blk00000331 ( + .CI(\blk00000001/sig00000693 ), + .LI(\blk00000001/sig00000681 ), + .O(\blk00000001/sig000002b8 ) + ); + XORCY \blk00000001/blk00000330 ( + .CI(\blk00000001/sig00000692 ), + .LI(\blk00000001/sig00000680 ), + .O(\blk00000001/sig000002b9 ) + ); + XORCY \blk00000001/blk0000032f ( + .CI(\blk00000001/sig00000691 ), + .LI(\blk00000001/sig0000067f ), + .O(\blk00000001/sig000002ba ) + ); + XORCY \blk00000001/blk0000032e ( + .CI(\blk00000001/sig00000690 ), + .LI(\blk00000001/sig0000067e ), + .O(\blk00000001/sig000002bb ) + ); + XORCY \blk00000001/blk0000032d ( + .CI(\blk00000001/sig0000068f ), + .LI(\blk00000001/sig0000067d ), + .O(\blk00000001/sig000002bc ) + ); + XORCY \blk00000001/blk0000032c ( + .CI(\blk00000001/sig0000068e ), + .LI(\blk00000001/sig0000067c ), + .O(\blk00000001/sig000002bd ) + ); + XORCY \blk00000001/blk0000032b ( + .CI(\blk00000001/sig0000068d ), + .LI(\blk00000001/sig0000067b ), + .O(\blk00000001/sig000002be ) + ); + XORCY \blk00000001/blk0000032a ( + .CI(\blk00000001/sig0000068c ), + .LI(\blk00000001/sig0000067a ), + .O(\blk00000001/sig000002bf ) + ); + XORCY \blk00000001/blk00000329 ( + .CI(\blk00000001/sig0000068b ), + .LI(\blk00000001/sig00000679 ), + .O(\blk00000001/sig000002c0 ) + ); + XORCY \blk00000001/blk00000328 ( + .CI(\blk00000001/sig0000068a ), + .LI(\blk00000001/sig00000688 ), + .O(\blk00000001/sig000002b0 ) + ); + MUXCY \blk00000001/blk00000327 ( + .CI(\blk00000001/sig00000313 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000668 ), + .O(\blk00000001/sig00000678 ) + ); + XORCY \blk00000001/blk00000326 ( + .CI(\blk00000001/sig00000313 ), + .LI(\blk00000001/sig00000668 ), + .O(\blk00000001/sig00000303 ) + ); + MUXCY \blk00000001/blk00000325 ( + .CI(\blk00000001/sig00000669 ), + .DI(\blk00000001/sig00000324 ), + .S(\blk00000001/sig00000667 ), + .O(\NLW_blk00000001/blk00000325_O_UNCONNECTED ) + ); + MUXCY \blk00000001/blk00000324 ( + .CI(\blk00000001/sig00000678 ), + .DI(\blk00000001/sig00000315 ), + .S(\blk00000001/sig00000666 ), + .O(\blk00000001/sig00000677 ) + ); + MUXCY \blk00000001/blk00000323 ( + .CI(\blk00000001/sig00000677 ), + .DI(\blk00000001/sig00000316 ), + .S(\blk00000001/sig00000665 ), + .O(\blk00000001/sig00000676 ) + ); + MUXCY \blk00000001/blk00000322 ( + .CI(\blk00000001/sig00000676 ), + .DI(\blk00000001/sig00000317 ), + .S(\blk00000001/sig00000664 ), + .O(\blk00000001/sig00000675 ) + ); + MUXCY \blk00000001/blk00000321 ( + .CI(\blk00000001/sig00000675 ), + .DI(\blk00000001/sig00000318 ), + .S(\blk00000001/sig00000663 ), + .O(\blk00000001/sig00000674 ) + ); + MUXCY \blk00000001/blk00000320 ( + .CI(\blk00000001/sig00000674 ), + .DI(\blk00000001/sig00000319 ), + .S(\blk00000001/sig00000662 ), + .O(\blk00000001/sig00000673 ) + ); + MUXCY \blk00000001/blk0000031f ( + .CI(\blk00000001/sig00000673 ), + .DI(\blk00000001/sig0000031a ), + .S(\blk00000001/sig00000661 ), + .O(\blk00000001/sig00000672 ) + ); + MUXCY \blk00000001/blk0000031e ( + .CI(\blk00000001/sig00000672 ), + .DI(\blk00000001/sig0000031b ), + .S(\blk00000001/sig00000660 ), + .O(\blk00000001/sig00000671 ) + ); + MUXCY \blk00000001/blk0000031d ( + .CI(\blk00000001/sig00000671 ), + .DI(\blk00000001/sig0000031c ), + .S(\blk00000001/sig0000065f ), + .O(\blk00000001/sig00000670 ) + ); + MUXCY \blk00000001/blk0000031c ( + .CI(\blk00000001/sig00000670 ), + .DI(\blk00000001/sig0000031d ), + .S(\blk00000001/sig0000065e ), + .O(\blk00000001/sig0000066f ) + ); + MUXCY \blk00000001/blk0000031b ( + .CI(\blk00000001/sig0000066f ), + .DI(\blk00000001/sig0000031e ), + .S(\blk00000001/sig0000065d ), + .O(\blk00000001/sig0000066e ) + ); + MUXCY \blk00000001/blk0000031a ( + .CI(\blk00000001/sig0000066e ), + .DI(\blk00000001/sig0000031f ), + .S(\blk00000001/sig0000065c ), + .O(\blk00000001/sig0000066d ) + ); + MUXCY \blk00000001/blk00000319 ( + .CI(\blk00000001/sig0000066d ), + .DI(\blk00000001/sig00000320 ), + .S(\blk00000001/sig0000065b ), + .O(\blk00000001/sig0000066c ) + ); + MUXCY \blk00000001/blk00000318 ( + .CI(\blk00000001/sig0000066c ), + .DI(\blk00000001/sig00000321 ), + .S(\blk00000001/sig0000065a ), + .O(\blk00000001/sig0000066b ) + ); + MUXCY \blk00000001/blk00000317 ( + .CI(\blk00000001/sig0000066b ), + .DI(\blk00000001/sig00000322 ), + .S(\blk00000001/sig00000659 ), + .O(\blk00000001/sig0000066a ) + ); + MUXCY \blk00000001/blk00000316 ( + .CI(\blk00000001/sig0000066a ), + .DI(\blk00000001/sig00000323 ), + .S(\blk00000001/sig00000658 ), + .O(\blk00000001/sig00000669 ) + ); + XORCY \blk00000001/blk00000315 ( + .CI(\blk00000001/sig00000678 ), + .LI(\blk00000001/sig00000666 ), + .O(\blk00000001/sig00000304 ) + ); + XORCY \blk00000001/blk00000314 ( + .CI(\blk00000001/sig00000677 ), + .LI(\blk00000001/sig00000665 ), + .O(\blk00000001/sig00000305 ) + ); + XORCY \blk00000001/blk00000313 ( + .CI(\blk00000001/sig00000676 ), + .LI(\blk00000001/sig00000664 ), + .O(\blk00000001/sig00000306 ) + ); + XORCY \blk00000001/blk00000312 ( + .CI(\blk00000001/sig00000675 ), + .LI(\blk00000001/sig00000663 ), + .O(\blk00000001/sig00000307 ) + ); + XORCY \blk00000001/blk00000311 ( + .CI(\blk00000001/sig00000674 ), + .LI(\blk00000001/sig00000662 ), + .O(\blk00000001/sig00000308 ) + ); + XORCY \blk00000001/blk00000310 ( + .CI(\blk00000001/sig00000673 ), + .LI(\blk00000001/sig00000661 ), + .O(\blk00000001/sig00000309 ) + ); + XORCY \blk00000001/blk0000030f ( + .CI(\blk00000001/sig00000672 ), + .LI(\blk00000001/sig00000660 ), + .O(\blk00000001/sig0000030a ) + ); + XORCY \blk00000001/blk0000030e ( + .CI(\blk00000001/sig00000671 ), + .LI(\blk00000001/sig0000065f ), + .O(\blk00000001/sig0000030b ) + ); + XORCY \blk00000001/blk0000030d ( + .CI(\blk00000001/sig00000670 ), + .LI(\blk00000001/sig0000065e ), + .O(\blk00000001/sig0000030c ) + ); + XORCY \blk00000001/blk0000030c ( + .CI(\blk00000001/sig0000066f ), + .LI(\blk00000001/sig0000065d ), + .O(\blk00000001/sig0000030d ) + ); + XORCY \blk00000001/blk0000030b ( + .CI(\blk00000001/sig0000066e ), + .LI(\blk00000001/sig0000065c ), + .O(\blk00000001/sig0000030e ) + ); + XORCY \blk00000001/blk0000030a ( + .CI(\blk00000001/sig0000066d ), + .LI(\blk00000001/sig0000065b ), + .O(\blk00000001/sig0000030f ) + ); + XORCY \blk00000001/blk00000309 ( + .CI(\blk00000001/sig0000066c ), + .LI(\blk00000001/sig0000065a ), + .O(\blk00000001/sig00000310 ) + ); + XORCY \blk00000001/blk00000308 ( + .CI(\blk00000001/sig0000066b ), + .LI(\blk00000001/sig00000659 ), + .O(\blk00000001/sig00000311 ) + ); + XORCY \blk00000001/blk00000307 ( + .CI(\blk00000001/sig0000066a ), + .LI(\blk00000001/sig00000658 ), + .O(\blk00000001/sig00000312 ) + ); + XORCY \blk00000001/blk00000306 ( + .CI(\blk00000001/sig00000669 ), + .LI(\blk00000001/sig00000667 ), + .O(\blk00000001/sig00000302 ) + ); + MUXCY \blk00000001/blk00000305 ( + .CI(\blk00000001/sig00000361 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000647 ), + .O(\blk00000001/sig00000657 ) + ); + XORCY \blk00000001/blk00000304 ( + .CI(\blk00000001/sig00000361 ), + .LI(\blk00000001/sig00000647 ), + .O(\blk00000001/sig00000351 ) + ); + MUXCY \blk00000001/blk00000303 ( + .CI(\blk00000001/sig00000648 ), + .DI(\blk00000001/sig00000373 ), + .S(\blk00000001/sig00000646 ), + .O(\NLW_blk00000001/blk00000303_O_UNCONNECTED ) + ); + MUXCY \blk00000001/blk00000302 ( + .CI(\blk00000001/sig00000657 ), + .DI(\blk00000001/sig00000364 ), + .S(\blk00000001/sig00000645 ), + .O(\blk00000001/sig00000656 ) + ); + MUXCY \blk00000001/blk00000301 ( + .CI(\blk00000001/sig00000656 ), + .DI(\blk00000001/sig00000365 ), + .S(\blk00000001/sig00000644 ), + .O(\blk00000001/sig00000655 ) + ); + MUXCY \blk00000001/blk00000300 ( + .CI(\blk00000001/sig00000655 ), + .DI(\blk00000001/sig00000366 ), + .S(\blk00000001/sig00000643 ), + .O(\blk00000001/sig00000654 ) + ); + MUXCY \blk00000001/blk000002ff ( + .CI(\blk00000001/sig00000654 ), + .DI(\blk00000001/sig00000367 ), + .S(\blk00000001/sig00000642 ), + .O(\blk00000001/sig00000653 ) + ); + MUXCY \blk00000001/blk000002fe ( + .CI(\blk00000001/sig00000653 ), + .DI(\blk00000001/sig00000368 ), + .S(\blk00000001/sig00000641 ), + .O(\blk00000001/sig00000652 ) + ); + MUXCY \blk00000001/blk000002fd ( + .CI(\blk00000001/sig00000652 ), + .DI(\blk00000001/sig00000369 ), + .S(\blk00000001/sig00000640 ), + .O(\blk00000001/sig00000651 ) + ); + MUXCY \blk00000001/blk000002fc ( + .CI(\blk00000001/sig00000651 ), + .DI(\blk00000001/sig0000036a ), + .S(\blk00000001/sig0000063f ), + .O(\blk00000001/sig00000650 ) + ); + MUXCY \blk00000001/blk000002fb ( + .CI(\blk00000001/sig00000650 ), + .DI(\blk00000001/sig0000036b ), + .S(\blk00000001/sig0000063e ), + .O(\blk00000001/sig0000064f ) + ); + MUXCY \blk00000001/blk000002fa ( + .CI(\blk00000001/sig0000064f ), + .DI(\blk00000001/sig0000036c ), + .S(\blk00000001/sig0000063d ), + .O(\blk00000001/sig0000064e ) + ); + MUXCY \blk00000001/blk000002f9 ( + .CI(\blk00000001/sig0000064e ), + .DI(\blk00000001/sig0000036d ), + .S(\blk00000001/sig0000063c ), + .O(\blk00000001/sig0000064d ) + ); + MUXCY \blk00000001/blk000002f8 ( + .CI(\blk00000001/sig0000064d ), + .DI(\blk00000001/sig0000036e ), + .S(\blk00000001/sig0000063b ), + .O(\blk00000001/sig0000064c ) + ); + MUXCY \blk00000001/blk000002f7 ( + .CI(\blk00000001/sig0000064c ), + .DI(\blk00000001/sig0000036f ), + .S(\blk00000001/sig0000063a ), + .O(\blk00000001/sig0000064b ) + ); + MUXCY \blk00000001/blk000002f6 ( + .CI(\blk00000001/sig0000064b ), + .DI(\blk00000001/sig00000370 ), + .S(\blk00000001/sig00000639 ), + .O(\blk00000001/sig0000064a ) + ); + MUXCY \blk00000001/blk000002f5 ( + .CI(\blk00000001/sig0000064a ), + .DI(\blk00000001/sig00000371 ), + .S(\blk00000001/sig00000638 ), + .O(\blk00000001/sig00000649 ) + ); + MUXCY \blk00000001/blk000002f4 ( + .CI(\blk00000001/sig00000649 ), + .DI(\blk00000001/sig00000372 ), + .S(\blk00000001/sig00000637 ), + .O(\blk00000001/sig00000648 ) + ); + XORCY \blk00000001/blk000002f3 ( + .CI(\blk00000001/sig00000657 ), + .LI(\blk00000001/sig00000645 ), + .O(\blk00000001/sig00000352 ) + ); + XORCY \blk00000001/blk000002f2 ( + .CI(\blk00000001/sig00000656 ), + .LI(\blk00000001/sig00000644 ), + .O(\blk00000001/sig00000353 ) + ); + XORCY \blk00000001/blk000002f1 ( + .CI(\blk00000001/sig00000655 ), + .LI(\blk00000001/sig00000643 ), + .O(\blk00000001/sig00000354 ) + ); + XORCY \blk00000001/blk000002f0 ( + .CI(\blk00000001/sig00000654 ), + .LI(\blk00000001/sig00000642 ), + .O(\blk00000001/sig00000355 ) + ); + XORCY \blk00000001/blk000002ef ( + .CI(\blk00000001/sig00000653 ), + .LI(\blk00000001/sig00000641 ), + .O(\blk00000001/sig00000356 ) + ); + XORCY \blk00000001/blk000002ee ( + .CI(\blk00000001/sig00000652 ), + .LI(\blk00000001/sig00000640 ), + .O(\blk00000001/sig00000357 ) + ); + XORCY \blk00000001/blk000002ed ( + .CI(\blk00000001/sig00000651 ), + .LI(\blk00000001/sig0000063f ), + .O(\blk00000001/sig00000358 ) + ); + XORCY \blk00000001/blk000002ec ( + .CI(\blk00000001/sig00000650 ), + .LI(\blk00000001/sig0000063e ), + .O(\blk00000001/sig00000359 ) + ); + XORCY \blk00000001/blk000002eb ( + .CI(\blk00000001/sig0000064f ), + .LI(\blk00000001/sig0000063d ), + .O(\blk00000001/sig0000035a ) + ); + XORCY \blk00000001/blk000002ea ( + .CI(\blk00000001/sig0000064e ), + .LI(\blk00000001/sig0000063c ), + .O(\blk00000001/sig0000035b ) + ); + XORCY \blk00000001/blk000002e9 ( + .CI(\blk00000001/sig0000064d ), + .LI(\blk00000001/sig0000063b ), + .O(\blk00000001/sig0000035c ) + ); + XORCY \blk00000001/blk000002e8 ( + .CI(\blk00000001/sig0000064c ), + .LI(\blk00000001/sig0000063a ), + .O(\blk00000001/sig0000035d ) + ); + XORCY \blk00000001/blk000002e7 ( + .CI(\blk00000001/sig0000064b ), + .LI(\blk00000001/sig00000639 ), + .O(\blk00000001/sig0000035e ) + ); + XORCY \blk00000001/blk000002e6 ( + .CI(\blk00000001/sig0000064a ), + .LI(\blk00000001/sig00000638 ), + .O(\blk00000001/sig0000035f ) + ); + XORCY \blk00000001/blk000002e5 ( + .CI(\blk00000001/sig00000649 ), + .LI(\blk00000001/sig00000637 ), + .O(\blk00000001/sig00000360 ) + ); + XORCY \blk00000001/blk000002e4 ( + .CI(\blk00000001/sig00000648 ), + .LI(\blk00000001/sig00000646 ), + .O(\blk00000001/sig00000350 ) + ); + MUXCY \blk00000001/blk000002e3 ( + .CI(\blk00000001/sig000003ac ), + .DI(\blk00000001/sig000003ae ), + .S(\blk00000001/sig00000626 ), + .O(\blk00000001/sig00000636 ) + ); + XORCY \blk00000001/blk000002e2 ( + .CI(\blk00000001/sig000003ac ), + .LI(\blk00000001/sig00000626 ), + .O(\blk00000001/sig0000039c ) + ); + MUXCY \blk00000001/blk000002e1 ( + .CI(\blk00000001/sig00000627 ), + .DI(\blk00000001/sig000003be ), + .S(\blk00000001/sig00000625 ), + .O(\NLW_blk00000001/blk000002e1_O_UNCONNECTED ) + ); + MUXCY \blk00000001/blk000002e0 ( + .CI(\blk00000001/sig00000636 ), + .DI(\blk00000001/sig000003af ), + .S(\blk00000001/sig00000624 ), + .O(\blk00000001/sig00000635 ) + ); + MUXCY \blk00000001/blk000002df ( + .CI(\blk00000001/sig00000635 ), + .DI(\blk00000001/sig000003b0 ), + .S(\blk00000001/sig00000623 ), + .O(\blk00000001/sig00000634 ) + ); + MUXCY \blk00000001/blk000002de ( + .CI(\blk00000001/sig00000634 ), + .DI(\blk00000001/sig000003b1 ), + .S(\blk00000001/sig00000622 ), + .O(\blk00000001/sig00000633 ) + ); + MUXCY \blk00000001/blk000002dd ( + .CI(\blk00000001/sig00000633 ), + .DI(\blk00000001/sig000003b2 ), + .S(\blk00000001/sig00000621 ), + .O(\blk00000001/sig00000632 ) + ); + MUXCY \blk00000001/blk000002dc ( + .CI(\blk00000001/sig00000632 ), + .DI(\blk00000001/sig000003b3 ), + .S(\blk00000001/sig00000620 ), + .O(\blk00000001/sig00000631 ) + ); + MUXCY \blk00000001/blk000002db ( + .CI(\blk00000001/sig00000631 ), + .DI(\blk00000001/sig000003b4 ), + .S(\blk00000001/sig0000061f ), + .O(\blk00000001/sig00000630 ) + ); + MUXCY \blk00000001/blk000002da ( + .CI(\blk00000001/sig00000630 ), + .DI(\blk00000001/sig000003b5 ), + .S(\blk00000001/sig0000061e ), + .O(\blk00000001/sig0000062f ) + ); + MUXCY \blk00000001/blk000002d9 ( + .CI(\blk00000001/sig0000062f ), + .DI(\blk00000001/sig000003b6 ), + .S(\blk00000001/sig0000061d ), + .O(\blk00000001/sig0000062e ) + ); + MUXCY \blk00000001/blk000002d8 ( + .CI(\blk00000001/sig0000062e ), + .DI(\blk00000001/sig000003b7 ), + .S(\blk00000001/sig0000061c ), + .O(\blk00000001/sig0000062d ) + ); + MUXCY \blk00000001/blk000002d7 ( + .CI(\blk00000001/sig0000062d ), + .DI(\blk00000001/sig000003b8 ), + .S(\blk00000001/sig0000061b ), + .O(\blk00000001/sig0000062c ) + ); + MUXCY \blk00000001/blk000002d6 ( + .CI(\blk00000001/sig0000062c ), + .DI(\blk00000001/sig000003b9 ), + .S(\blk00000001/sig0000061a ), + .O(\blk00000001/sig0000062b ) + ); + MUXCY \blk00000001/blk000002d5 ( + .CI(\blk00000001/sig0000062b ), + .DI(\blk00000001/sig000003ba ), + .S(\blk00000001/sig00000619 ), + .O(\blk00000001/sig0000062a ) + ); + MUXCY \blk00000001/blk000002d4 ( + .CI(\blk00000001/sig0000062a ), + .DI(\blk00000001/sig000003bb ), + .S(\blk00000001/sig00000618 ), + .O(\blk00000001/sig00000629 ) + ); + MUXCY \blk00000001/blk000002d3 ( + .CI(\blk00000001/sig00000629 ), + .DI(\blk00000001/sig000003bc ), + .S(\blk00000001/sig00000617 ), + .O(\blk00000001/sig00000628 ) + ); + MUXCY \blk00000001/blk000002d2 ( + .CI(\blk00000001/sig00000628 ), + .DI(\blk00000001/sig000003bd ), + .S(\blk00000001/sig00000616 ), + .O(\blk00000001/sig00000627 ) + ); + XORCY \blk00000001/blk000002d1 ( + .CI(\blk00000001/sig00000636 ), + .LI(\blk00000001/sig00000624 ), + .O(\blk00000001/sig0000039d ) + ); + XORCY \blk00000001/blk000002d0 ( + .CI(\blk00000001/sig00000635 ), + .LI(\blk00000001/sig00000623 ), + .O(\blk00000001/sig0000039e ) + ); + XORCY \blk00000001/blk000002cf ( + .CI(\blk00000001/sig00000634 ), + .LI(\blk00000001/sig00000622 ), + .O(\blk00000001/sig0000039f ) + ); + XORCY \blk00000001/blk000002ce ( + .CI(\blk00000001/sig00000633 ), + .LI(\blk00000001/sig00000621 ), + .O(\blk00000001/sig000003a0 ) + ); + XORCY \blk00000001/blk000002cd ( + .CI(\blk00000001/sig00000632 ), + .LI(\blk00000001/sig00000620 ), + .O(\blk00000001/sig000003a1 ) + ); + XORCY \blk00000001/blk000002cc ( + .CI(\blk00000001/sig00000631 ), + .LI(\blk00000001/sig0000061f ), + .O(\blk00000001/sig000003a2 ) + ); + XORCY \blk00000001/blk000002cb ( + .CI(\blk00000001/sig00000630 ), + .LI(\blk00000001/sig0000061e ), + .O(\blk00000001/sig000003a3 ) + ); + XORCY \blk00000001/blk000002ca ( + .CI(\blk00000001/sig0000062f ), + .LI(\blk00000001/sig0000061d ), + .O(\blk00000001/sig000003a4 ) + ); + XORCY \blk00000001/blk000002c9 ( + .CI(\blk00000001/sig0000062e ), + .LI(\blk00000001/sig0000061c ), + .O(\blk00000001/sig000003a5 ) + ); + XORCY \blk00000001/blk000002c8 ( + .CI(\blk00000001/sig0000062d ), + .LI(\blk00000001/sig0000061b ), + .O(\blk00000001/sig000003a6 ) + ); + XORCY \blk00000001/blk000002c7 ( + .CI(\blk00000001/sig0000062c ), + .LI(\blk00000001/sig0000061a ), + .O(\blk00000001/sig000003a7 ) + ); + XORCY \blk00000001/blk000002c6 ( + .CI(\blk00000001/sig0000062b ), + .LI(\blk00000001/sig00000619 ), + .O(\blk00000001/sig000003a8 ) + ); + XORCY \blk00000001/blk000002c5 ( + .CI(\blk00000001/sig0000062a ), + .LI(\blk00000001/sig00000618 ), + .O(\blk00000001/sig000003a9 ) + ); + XORCY \blk00000001/blk000002c4 ( + .CI(\blk00000001/sig00000629 ), + .LI(\blk00000001/sig00000617 ), + .O(\blk00000001/sig000003aa ) + ); + XORCY \blk00000001/blk000002c3 ( + .CI(\blk00000001/sig00000628 ), + .LI(\blk00000001/sig00000616 ), + .O(\blk00000001/sig000003ab ) + ); + XORCY \blk00000001/blk000002c2 ( + .CI(\blk00000001/sig00000627 ), + .LI(\blk00000001/sig00000625 ), + .O(\blk00000001/sig0000039b ) + ); + MUXCY \blk00000001/blk000002c1 ( + .CI(\blk00000001/sig000003f7 ), + .DI(\blk00000001/sig000003f9 ), + .S(\blk00000001/sig00000605 ), + .O(\blk00000001/sig00000615 ) + ); + XORCY \blk00000001/blk000002c0 ( + .CI(\blk00000001/sig000003f7 ), + .LI(\blk00000001/sig00000605 ), + .O(\blk00000001/sig000003e7 ) + ); + MUXCY \blk00000001/blk000002bf ( + .CI(\blk00000001/sig00000606 ), + .DI(\blk00000001/sig00000409 ), + .S(\blk00000001/sig00000604 ), + .O(\NLW_blk00000001/blk000002bf_O_UNCONNECTED ) + ); + MUXCY \blk00000001/blk000002be ( + .CI(\blk00000001/sig00000615 ), + .DI(\blk00000001/sig000003fa ), + .S(\blk00000001/sig00000603 ), + .O(\blk00000001/sig00000614 ) + ); + MUXCY \blk00000001/blk000002bd ( + .CI(\blk00000001/sig00000614 ), + .DI(\blk00000001/sig000003fb ), + .S(\blk00000001/sig00000602 ), + .O(\blk00000001/sig00000613 ) + ); + MUXCY \blk00000001/blk000002bc ( + .CI(\blk00000001/sig00000613 ), + .DI(\blk00000001/sig000003fc ), + .S(\blk00000001/sig00000601 ), + .O(\blk00000001/sig00000612 ) + ); + MUXCY \blk00000001/blk000002bb ( + .CI(\blk00000001/sig00000612 ), + .DI(\blk00000001/sig000003fd ), + .S(\blk00000001/sig00000600 ), + .O(\blk00000001/sig00000611 ) + ); + MUXCY \blk00000001/blk000002ba ( + .CI(\blk00000001/sig00000611 ), + .DI(\blk00000001/sig000003fe ), + .S(\blk00000001/sig000005ff ), + .O(\blk00000001/sig00000610 ) + ); + MUXCY \blk00000001/blk000002b9 ( + .CI(\blk00000001/sig00000610 ), + .DI(\blk00000001/sig000003ff ), + .S(\blk00000001/sig000005fe ), + .O(\blk00000001/sig0000060f ) + ); + MUXCY \blk00000001/blk000002b8 ( + .CI(\blk00000001/sig0000060f ), + .DI(\blk00000001/sig00000400 ), + .S(\blk00000001/sig000005fd ), + .O(\blk00000001/sig0000060e ) + ); + MUXCY \blk00000001/blk000002b7 ( + .CI(\blk00000001/sig0000060e ), + .DI(\blk00000001/sig00000401 ), + .S(\blk00000001/sig000005fc ), + .O(\blk00000001/sig0000060d ) + ); + MUXCY \blk00000001/blk000002b6 ( + .CI(\blk00000001/sig0000060d ), + .DI(\blk00000001/sig00000402 ), + .S(\blk00000001/sig000005fb ), + .O(\blk00000001/sig0000060c ) + ); + MUXCY \blk00000001/blk000002b5 ( + .CI(\blk00000001/sig0000060c ), + .DI(\blk00000001/sig00000403 ), + .S(\blk00000001/sig000005fa ), + .O(\blk00000001/sig0000060b ) + ); + MUXCY \blk00000001/blk000002b4 ( + .CI(\blk00000001/sig0000060b ), + .DI(\blk00000001/sig00000404 ), + .S(\blk00000001/sig000005f9 ), + .O(\blk00000001/sig0000060a ) + ); + MUXCY \blk00000001/blk000002b3 ( + .CI(\blk00000001/sig0000060a ), + .DI(\blk00000001/sig00000405 ), + .S(\blk00000001/sig000005f8 ), + .O(\blk00000001/sig00000609 ) + ); + MUXCY \blk00000001/blk000002b2 ( + .CI(\blk00000001/sig00000609 ), + .DI(\blk00000001/sig00000406 ), + .S(\blk00000001/sig000005f7 ), + .O(\blk00000001/sig00000608 ) + ); + MUXCY \blk00000001/blk000002b1 ( + .CI(\blk00000001/sig00000608 ), + .DI(\blk00000001/sig00000407 ), + .S(\blk00000001/sig000005f6 ), + .O(\blk00000001/sig00000607 ) + ); + MUXCY \blk00000001/blk000002b0 ( + .CI(\blk00000001/sig00000607 ), + .DI(\blk00000001/sig00000408 ), + .S(\blk00000001/sig000005f5 ), + .O(\blk00000001/sig00000606 ) + ); + XORCY \blk00000001/blk000002af ( + .CI(\blk00000001/sig00000615 ), + .LI(\blk00000001/sig00000603 ), + .O(\blk00000001/sig000003e8 ) + ); + XORCY \blk00000001/blk000002ae ( + .CI(\blk00000001/sig00000614 ), + .LI(\blk00000001/sig00000602 ), + .O(\blk00000001/sig000003e9 ) + ); + XORCY \blk00000001/blk000002ad ( + .CI(\blk00000001/sig00000613 ), + .LI(\blk00000001/sig00000601 ), + .O(\blk00000001/sig000003ea ) + ); + XORCY \blk00000001/blk000002ac ( + .CI(\blk00000001/sig00000612 ), + .LI(\blk00000001/sig00000600 ), + .O(\blk00000001/sig000003eb ) + ); + XORCY \blk00000001/blk000002ab ( + .CI(\blk00000001/sig00000611 ), + .LI(\blk00000001/sig000005ff ), + .O(\blk00000001/sig000003ec ) + ); + XORCY \blk00000001/blk000002aa ( + .CI(\blk00000001/sig00000610 ), + .LI(\blk00000001/sig000005fe ), + .O(\blk00000001/sig000003ed ) + ); + XORCY \blk00000001/blk000002a9 ( + .CI(\blk00000001/sig0000060f ), + .LI(\blk00000001/sig000005fd ), + .O(\blk00000001/sig000003ee ) + ); + XORCY \blk00000001/blk000002a8 ( + .CI(\blk00000001/sig0000060e ), + .LI(\blk00000001/sig000005fc ), + .O(\blk00000001/sig000003ef ) + ); + XORCY \blk00000001/blk000002a7 ( + .CI(\blk00000001/sig0000060d ), + .LI(\blk00000001/sig000005fb ), + .O(\blk00000001/sig000003f0 ) + ); + XORCY \blk00000001/blk000002a6 ( + .CI(\blk00000001/sig0000060c ), + .LI(\blk00000001/sig000005fa ), + .O(\blk00000001/sig000003f1 ) + ); + XORCY \blk00000001/blk000002a5 ( + .CI(\blk00000001/sig0000060b ), + .LI(\blk00000001/sig000005f9 ), + .O(\blk00000001/sig000003f2 ) + ); + XORCY \blk00000001/blk000002a4 ( + .CI(\blk00000001/sig0000060a ), + .LI(\blk00000001/sig000005f8 ), + .O(\blk00000001/sig000003f3 ) + ); + XORCY \blk00000001/blk000002a3 ( + .CI(\blk00000001/sig00000609 ), + .LI(\blk00000001/sig000005f7 ), + .O(\blk00000001/sig000003f4 ) + ); + XORCY \blk00000001/blk000002a2 ( + .CI(\blk00000001/sig00000608 ), + .LI(\blk00000001/sig000005f6 ), + .O(\blk00000001/sig000003f5 ) + ); + XORCY \blk00000001/blk000002a1 ( + .CI(\blk00000001/sig00000607 ), + .LI(\blk00000001/sig000005f5 ), + .O(\blk00000001/sig000003f6 ) + ); + XORCY \blk00000001/blk000002a0 ( + .CI(\blk00000001/sig00000606 ), + .LI(\blk00000001/sig00000604 ), + .O(\blk00000001/sig000003e6 ) + ); + MUXCY \blk00000001/blk0000029f ( + .CI(\blk00000001/sig00000442 ), + .DI(\blk00000001/sig00000444 ), + .S(\blk00000001/sig000005e4 ), + .O(\blk00000001/sig000005f4 ) + ); + XORCY \blk00000001/blk0000029e ( + .CI(\blk00000001/sig00000442 ), + .LI(\blk00000001/sig000005e4 ), + .O(\blk00000001/sig00000432 ) + ); + MUXCY \blk00000001/blk0000029d ( + .CI(\blk00000001/sig000005e5 ), + .DI(\blk00000001/sig00000454 ), + .S(\blk00000001/sig000005e3 ), + .O(\NLW_blk00000001/blk0000029d_O_UNCONNECTED ) + ); + MUXCY \blk00000001/blk0000029c ( + .CI(\blk00000001/sig000005f4 ), + .DI(\blk00000001/sig00000445 ), + .S(\blk00000001/sig000005e2 ), + .O(\blk00000001/sig000005f3 ) + ); + MUXCY \blk00000001/blk0000029b ( + .CI(\blk00000001/sig000005f3 ), + .DI(\blk00000001/sig00000446 ), + .S(\blk00000001/sig000005e1 ), + .O(\blk00000001/sig000005f2 ) + ); + MUXCY \blk00000001/blk0000029a ( + .CI(\blk00000001/sig000005f2 ), + .DI(\blk00000001/sig00000447 ), + .S(\blk00000001/sig000005e0 ), + .O(\blk00000001/sig000005f1 ) + ); + MUXCY \blk00000001/blk00000299 ( + .CI(\blk00000001/sig000005f1 ), + .DI(\blk00000001/sig00000448 ), + .S(\blk00000001/sig000005df ), + .O(\blk00000001/sig000005f0 ) + ); + MUXCY \blk00000001/blk00000298 ( + .CI(\blk00000001/sig000005f0 ), + .DI(\blk00000001/sig00000449 ), + .S(\blk00000001/sig000005de ), + .O(\blk00000001/sig000005ef ) + ); + MUXCY \blk00000001/blk00000297 ( + .CI(\blk00000001/sig000005ef ), + .DI(\blk00000001/sig0000044a ), + .S(\blk00000001/sig000005dd ), + .O(\blk00000001/sig000005ee ) + ); + MUXCY \blk00000001/blk00000296 ( + .CI(\blk00000001/sig000005ee ), + .DI(\blk00000001/sig0000044b ), + .S(\blk00000001/sig000005dc ), + .O(\blk00000001/sig000005ed ) + ); + MUXCY \blk00000001/blk00000295 ( + .CI(\blk00000001/sig000005ed ), + .DI(\blk00000001/sig0000044c ), + .S(\blk00000001/sig000005db ), + .O(\blk00000001/sig000005ec ) + ); + MUXCY \blk00000001/blk00000294 ( + .CI(\blk00000001/sig000005ec ), + .DI(\blk00000001/sig0000044d ), + .S(\blk00000001/sig000005da ), + .O(\blk00000001/sig000005eb ) + ); + MUXCY \blk00000001/blk00000293 ( + .CI(\blk00000001/sig000005eb ), + .DI(\blk00000001/sig0000044e ), + .S(\blk00000001/sig000005d9 ), + .O(\blk00000001/sig000005ea ) + ); + MUXCY \blk00000001/blk00000292 ( + .CI(\blk00000001/sig000005ea ), + .DI(\blk00000001/sig0000044f ), + .S(\blk00000001/sig000005d8 ), + .O(\blk00000001/sig000005e9 ) + ); + MUXCY \blk00000001/blk00000291 ( + .CI(\blk00000001/sig000005e9 ), + .DI(\blk00000001/sig00000450 ), + .S(\blk00000001/sig000005d7 ), + .O(\blk00000001/sig000005e8 ) + ); + MUXCY \blk00000001/blk00000290 ( + .CI(\blk00000001/sig000005e8 ), + .DI(\blk00000001/sig00000451 ), + .S(\blk00000001/sig000005d6 ), + .O(\blk00000001/sig000005e7 ) + ); + MUXCY \blk00000001/blk0000028f ( + .CI(\blk00000001/sig000005e7 ), + .DI(\blk00000001/sig00000452 ), + .S(\blk00000001/sig000005d5 ), + .O(\blk00000001/sig000005e6 ) + ); + MUXCY \blk00000001/blk0000028e ( + .CI(\blk00000001/sig000005e6 ), + .DI(\blk00000001/sig00000453 ), + .S(\blk00000001/sig000005d4 ), + .O(\blk00000001/sig000005e5 ) + ); + XORCY \blk00000001/blk0000028d ( + .CI(\blk00000001/sig000005f4 ), + .LI(\blk00000001/sig000005e2 ), + .O(\blk00000001/sig00000433 ) + ); + XORCY \blk00000001/blk0000028c ( + .CI(\blk00000001/sig000005f3 ), + .LI(\blk00000001/sig000005e1 ), + .O(\blk00000001/sig00000434 ) + ); + XORCY \blk00000001/blk0000028b ( + .CI(\blk00000001/sig000005f2 ), + .LI(\blk00000001/sig000005e0 ), + .O(\blk00000001/sig00000435 ) + ); + XORCY \blk00000001/blk0000028a ( + .CI(\blk00000001/sig000005f1 ), + .LI(\blk00000001/sig000005df ), + .O(\blk00000001/sig00000436 ) + ); + XORCY \blk00000001/blk00000289 ( + .CI(\blk00000001/sig000005f0 ), + .LI(\blk00000001/sig000005de ), + .O(\blk00000001/sig00000437 ) + ); + XORCY \blk00000001/blk00000288 ( + .CI(\blk00000001/sig000005ef ), + .LI(\blk00000001/sig000005dd ), + .O(\blk00000001/sig00000438 ) + ); + XORCY \blk00000001/blk00000287 ( + .CI(\blk00000001/sig000005ee ), + .LI(\blk00000001/sig000005dc ), + .O(\blk00000001/sig00000439 ) + ); + XORCY \blk00000001/blk00000286 ( + .CI(\blk00000001/sig000005ed ), + .LI(\blk00000001/sig000005db ), + .O(\blk00000001/sig0000043a ) + ); + XORCY \blk00000001/blk00000285 ( + .CI(\blk00000001/sig000005ec ), + .LI(\blk00000001/sig000005da ), + .O(\blk00000001/sig0000043b ) + ); + XORCY \blk00000001/blk00000284 ( + .CI(\blk00000001/sig000005eb ), + .LI(\blk00000001/sig000005d9 ), + .O(\blk00000001/sig0000043c ) + ); + XORCY \blk00000001/blk00000283 ( + .CI(\blk00000001/sig000005ea ), + .LI(\blk00000001/sig000005d8 ), + .O(\blk00000001/sig0000043d ) + ); + XORCY \blk00000001/blk00000282 ( + .CI(\blk00000001/sig000005e9 ), + .LI(\blk00000001/sig000005d7 ), + .O(\blk00000001/sig0000043e ) + ); + XORCY \blk00000001/blk00000281 ( + .CI(\blk00000001/sig000005e8 ), + .LI(\blk00000001/sig000005d6 ), + .O(\blk00000001/sig0000043f ) + ); + XORCY \blk00000001/blk00000280 ( + .CI(\blk00000001/sig000005e7 ), + .LI(\blk00000001/sig000005d5 ), + .O(\blk00000001/sig00000440 ) + ); + XORCY \blk00000001/blk0000027f ( + .CI(\blk00000001/sig000005e6 ), + .LI(\blk00000001/sig000005d4 ), + .O(\blk00000001/sig00000441 ) + ); + XORCY \blk00000001/blk0000027e ( + .CI(\blk00000001/sig000005e5 ), + .LI(\blk00000001/sig000005e3 ), + .O(\blk00000001/sig00000431 ) + ); + MUXCY \blk00000001/blk0000027d ( + .CI(\blk00000001/sig0000048d ), + .DI(\blk00000001/sig0000048f ), + .S(\blk00000001/sig000005c3 ), + .O(\blk00000001/sig000005d3 ) + ); + XORCY \blk00000001/blk0000027c ( + .CI(\blk00000001/sig0000048d ), + .LI(\blk00000001/sig000005c3 ), + .O(\blk00000001/sig0000047d ) + ); + MUXCY \blk00000001/blk0000027b ( + .CI(\blk00000001/sig000005c4 ), + .DI(\blk00000001/sig0000049f ), + .S(\blk00000001/sig000005c2 ), + .O(\NLW_blk00000001/blk0000027b_O_UNCONNECTED ) + ); + MUXCY \blk00000001/blk0000027a ( + .CI(\blk00000001/sig000005d3 ), + .DI(\blk00000001/sig00000490 ), + .S(\blk00000001/sig000005c1 ), + .O(\blk00000001/sig000005d2 ) + ); + MUXCY \blk00000001/blk00000279 ( + .CI(\blk00000001/sig000005d2 ), + .DI(\blk00000001/sig00000491 ), + .S(\blk00000001/sig000005c0 ), + .O(\blk00000001/sig000005d1 ) + ); + MUXCY \blk00000001/blk00000278 ( + .CI(\blk00000001/sig000005d1 ), + .DI(\blk00000001/sig00000492 ), + .S(\blk00000001/sig000005bf ), + .O(\blk00000001/sig000005d0 ) + ); + MUXCY \blk00000001/blk00000277 ( + .CI(\blk00000001/sig000005d0 ), + .DI(\blk00000001/sig00000493 ), + .S(\blk00000001/sig000005be ), + .O(\blk00000001/sig000005cf ) + ); + MUXCY \blk00000001/blk00000276 ( + .CI(\blk00000001/sig000005cf ), + .DI(\blk00000001/sig00000494 ), + .S(\blk00000001/sig000005bd ), + .O(\blk00000001/sig000005ce ) + ); + MUXCY \blk00000001/blk00000275 ( + .CI(\blk00000001/sig000005ce ), + .DI(\blk00000001/sig00000495 ), + .S(\blk00000001/sig000005bc ), + .O(\blk00000001/sig000005cd ) + ); + MUXCY \blk00000001/blk00000274 ( + .CI(\blk00000001/sig000005cd ), + .DI(\blk00000001/sig00000496 ), + .S(\blk00000001/sig000005bb ), + .O(\blk00000001/sig000005cc ) + ); + MUXCY \blk00000001/blk00000273 ( + .CI(\blk00000001/sig000005cc ), + .DI(\blk00000001/sig00000497 ), + .S(\blk00000001/sig000005ba ), + .O(\blk00000001/sig000005cb ) + ); + MUXCY \blk00000001/blk00000272 ( + .CI(\blk00000001/sig000005cb ), + .DI(\blk00000001/sig00000498 ), + .S(\blk00000001/sig000005b9 ), + .O(\blk00000001/sig000005ca ) + ); + MUXCY \blk00000001/blk00000271 ( + .CI(\blk00000001/sig000005ca ), + .DI(\blk00000001/sig00000499 ), + .S(\blk00000001/sig000005b8 ), + .O(\blk00000001/sig000005c9 ) + ); + MUXCY \blk00000001/blk00000270 ( + .CI(\blk00000001/sig000005c9 ), + .DI(\blk00000001/sig0000049a ), + .S(\blk00000001/sig000005b7 ), + .O(\blk00000001/sig000005c8 ) + ); + MUXCY \blk00000001/blk0000026f ( + .CI(\blk00000001/sig000005c8 ), + .DI(\blk00000001/sig0000049b ), + .S(\blk00000001/sig000005b6 ), + .O(\blk00000001/sig000005c7 ) + ); + MUXCY \blk00000001/blk0000026e ( + .CI(\blk00000001/sig000005c7 ), + .DI(\blk00000001/sig0000049c ), + .S(\blk00000001/sig000005b5 ), + .O(\blk00000001/sig000005c6 ) + ); + MUXCY \blk00000001/blk0000026d ( + .CI(\blk00000001/sig000005c6 ), + .DI(\blk00000001/sig0000049d ), + .S(\blk00000001/sig000005b4 ), + .O(\blk00000001/sig000005c5 ) + ); + MUXCY \blk00000001/blk0000026c ( + .CI(\blk00000001/sig000005c5 ), + .DI(\blk00000001/sig0000049e ), + .S(\blk00000001/sig000005b3 ), + .O(\blk00000001/sig000005c4 ) + ); + XORCY \blk00000001/blk0000026b ( + .CI(\blk00000001/sig000005d3 ), + .LI(\blk00000001/sig000005c1 ), + .O(\blk00000001/sig0000047e ) + ); + XORCY \blk00000001/blk0000026a ( + .CI(\blk00000001/sig000005d2 ), + .LI(\blk00000001/sig000005c0 ), + .O(\blk00000001/sig0000047f ) + ); + XORCY \blk00000001/blk00000269 ( + .CI(\blk00000001/sig000005d1 ), + .LI(\blk00000001/sig000005bf ), + .O(\blk00000001/sig00000480 ) + ); + XORCY \blk00000001/blk00000268 ( + .CI(\blk00000001/sig000005d0 ), + .LI(\blk00000001/sig000005be ), + .O(\blk00000001/sig00000481 ) + ); + XORCY \blk00000001/blk00000267 ( + .CI(\blk00000001/sig000005cf ), + .LI(\blk00000001/sig000005bd ), + .O(\blk00000001/sig00000482 ) + ); + XORCY \blk00000001/blk00000266 ( + .CI(\blk00000001/sig000005ce ), + .LI(\blk00000001/sig000005bc ), + .O(\blk00000001/sig00000483 ) + ); + XORCY \blk00000001/blk00000265 ( + .CI(\blk00000001/sig000005cd ), + .LI(\blk00000001/sig000005bb ), + .O(\blk00000001/sig00000484 ) + ); + XORCY \blk00000001/blk00000264 ( + .CI(\blk00000001/sig000005cc ), + .LI(\blk00000001/sig000005ba ), + .O(\blk00000001/sig00000485 ) + ); + XORCY \blk00000001/blk00000263 ( + .CI(\blk00000001/sig000005cb ), + .LI(\blk00000001/sig000005b9 ), + .O(\blk00000001/sig00000486 ) + ); + XORCY \blk00000001/blk00000262 ( + .CI(\blk00000001/sig000005ca ), + .LI(\blk00000001/sig000005b8 ), + .O(\blk00000001/sig00000487 ) + ); + XORCY \blk00000001/blk00000261 ( + .CI(\blk00000001/sig000005c9 ), + .LI(\blk00000001/sig000005b7 ), + .O(\blk00000001/sig00000488 ) + ); + XORCY \blk00000001/blk00000260 ( + .CI(\blk00000001/sig000005c8 ), + .LI(\blk00000001/sig000005b6 ), + .O(\blk00000001/sig00000489 ) + ); + XORCY \blk00000001/blk0000025f ( + .CI(\blk00000001/sig000005c7 ), + .LI(\blk00000001/sig000005b5 ), + .O(\blk00000001/sig0000048a ) + ); + XORCY \blk00000001/blk0000025e ( + .CI(\blk00000001/sig000005c6 ), + .LI(\blk00000001/sig000005b4 ), + .O(\blk00000001/sig0000048b ) + ); + XORCY \blk00000001/blk0000025d ( + .CI(\blk00000001/sig000005c5 ), + .LI(\blk00000001/sig000005b3 ), + .O(\blk00000001/sig0000048c ) + ); + XORCY \blk00000001/blk0000025c ( + .CI(\blk00000001/sig000005c4 ), + .LI(\blk00000001/sig000005c2 ), + .O(\blk00000001/sig0000047c ) + ); + MUXCY \blk00000001/blk0000025b ( + .CI(\blk00000001/sig000004d8 ), + .DI(\blk00000001/sig000004da ), + .S(\blk00000001/sig000005a2 ), + .O(\blk00000001/sig000005b2 ) + ); + XORCY \blk00000001/blk0000025a ( + .CI(\blk00000001/sig000004d8 ), + .LI(\blk00000001/sig000005a2 ), + .O(\blk00000001/sig000004c8 ) + ); + MUXCY \blk00000001/blk00000259 ( + .CI(\blk00000001/sig000005a3 ), + .DI(\blk00000001/sig000004ea ), + .S(\blk00000001/sig000005a1 ), + .O(\NLW_blk00000001/blk00000259_O_UNCONNECTED ) + ); + MUXCY \blk00000001/blk00000258 ( + .CI(\blk00000001/sig000005b2 ), + .DI(\blk00000001/sig000004db ), + .S(\blk00000001/sig000005a0 ), + .O(\blk00000001/sig000005b1 ) + ); + MUXCY \blk00000001/blk00000257 ( + .CI(\blk00000001/sig000005b1 ), + .DI(\blk00000001/sig000004dc ), + .S(\blk00000001/sig0000059f ), + .O(\blk00000001/sig000005b0 ) + ); + MUXCY \blk00000001/blk00000256 ( + .CI(\blk00000001/sig000005b0 ), + .DI(\blk00000001/sig000004dd ), + .S(\blk00000001/sig0000059e ), + .O(\blk00000001/sig000005af ) + ); + MUXCY \blk00000001/blk00000255 ( + .CI(\blk00000001/sig000005af ), + .DI(\blk00000001/sig000004de ), + .S(\blk00000001/sig0000059d ), + .O(\blk00000001/sig000005ae ) + ); + MUXCY \blk00000001/blk00000254 ( + .CI(\blk00000001/sig000005ae ), + .DI(\blk00000001/sig000004df ), + .S(\blk00000001/sig0000059c ), + .O(\blk00000001/sig000005ad ) + ); + MUXCY \blk00000001/blk00000253 ( + .CI(\blk00000001/sig000005ad ), + .DI(\blk00000001/sig000004e0 ), + .S(\blk00000001/sig0000059b ), + .O(\blk00000001/sig000005ac ) + ); + MUXCY \blk00000001/blk00000252 ( + .CI(\blk00000001/sig000005ac ), + .DI(\blk00000001/sig000004e1 ), + .S(\blk00000001/sig0000059a ), + .O(\blk00000001/sig000005ab ) + ); + MUXCY \blk00000001/blk00000251 ( + .CI(\blk00000001/sig000005ab ), + .DI(\blk00000001/sig000004e2 ), + .S(\blk00000001/sig00000599 ), + .O(\blk00000001/sig000005aa ) + ); + MUXCY \blk00000001/blk00000250 ( + .CI(\blk00000001/sig000005aa ), + .DI(\blk00000001/sig000004e3 ), + .S(\blk00000001/sig00000598 ), + .O(\blk00000001/sig000005a9 ) + ); + MUXCY \blk00000001/blk0000024f ( + .CI(\blk00000001/sig000005a9 ), + .DI(\blk00000001/sig000004e4 ), + .S(\blk00000001/sig00000597 ), + .O(\blk00000001/sig000005a8 ) + ); + MUXCY \blk00000001/blk0000024e ( + .CI(\blk00000001/sig000005a8 ), + .DI(\blk00000001/sig000004e5 ), + .S(\blk00000001/sig00000596 ), + .O(\blk00000001/sig000005a7 ) + ); + MUXCY \blk00000001/blk0000024d ( + .CI(\blk00000001/sig000005a7 ), + .DI(\blk00000001/sig000004e6 ), + .S(\blk00000001/sig00000595 ), + .O(\blk00000001/sig000005a6 ) + ); + MUXCY \blk00000001/blk0000024c ( + .CI(\blk00000001/sig000005a6 ), + .DI(\blk00000001/sig000004e7 ), + .S(\blk00000001/sig00000594 ), + .O(\blk00000001/sig000005a5 ) + ); + MUXCY \blk00000001/blk0000024b ( + .CI(\blk00000001/sig000005a5 ), + .DI(\blk00000001/sig000004e8 ), + .S(\blk00000001/sig00000593 ), + .O(\blk00000001/sig000005a4 ) + ); + MUXCY \blk00000001/blk0000024a ( + .CI(\blk00000001/sig000005a4 ), + .DI(\blk00000001/sig000004e9 ), + .S(\blk00000001/sig00000592 ), + .O(\blk00000001/sig000005a3 ) + ); + XORCY \blk00000001/blk00000249 ( + .CI(\blk00000001/sig000005b2 ), + .LI(\blk00000001/sig000005a0 ), + .O(\blk00000001/sig000004c9 ) + ); + XORCY \blk00000001/blk00000248 ( + .CI(\blk00000001/sig000005b1 ), + .LI(\blk00000001/sig0000059f ), + .O(\blk00000001/sig000004ca ) + ); + XORCY \blk00000001/blk00000247 ( + .CI(\blk00000001/sig000005b0 ), + .LI(\blk00000001/sig0000059e ), + .O(\blk00000001/sig000004cb ) + ); + XORCY \blk00000001/blk00000246 ( + .CI(\blk00000001/sig000005af ), + .LI(\blk00000001/sig0000059d ), + .O(\blk00000001/sig000004cc ) + ); + XORCY \blk00000001/blk00000245 ( + .CI(\blk00000001/sig000005ae ), + .LI(\blk00000001/sig0000059c ), + .O(\blk00000001/sig000004cd ) + ); + XORCY \blk00000001/blk00000244 ( + .CI(\blk00000001/sig000005ad ), + .LI(\blk00000001/sig0000059b ), + .O(\blk00000001/sig000004ce ) + ); + XORCY \blk00000001/blk00000243 ( + .CI(\blk00000001/sig000005ac ), + .LI(\blk00000001/sig0000059a ), + .O(\blk00000001/sig000004cf ) + ); + XORCY \blk00000001/blk00000242 ( + .CI(\blk00000001/sig000005ab ), + .LI(\blk00000001/sig00000599 ), + .O(\blk00000001/sig000004d0 ) + ); + XORCY \blk00000001/blk00000241 ( + .CI(\blk00000001/sig000005aa ), + .LI(\blk00000001/sig00000598 ), + .O(\blk00000001/sig000004d1 ) + ); + XORCY \blk00000001/blk00000240 ( + .CI(\blk00000001/sig000005a9 ), + .LI(\blk00000001/sig00000597 ), + .O(\blk00000001/sig000004d2 ) + ); + XORCY \blk00000001/blk0000023f ( + .CI(\blk00000001/sig000005a8 ), + .LI(\blk00000001/sig00000596 ), + .O(\blk00000001/sig000004d3 ) + ); + XORCY \blk00000001/blk0000023e ( + .CI(\blk00000001/sig000005a7 ), + .LI(\blk00000001/sig00000595 ), + .O(\blk00000001/sig000004d4 ) + ); + XORCY \blk00000001/blk0000023d ( + .CI(\blk00000001/sig000005a6 ), + .LI(\blk00000001/sig00000594 ), + .O(\blk00000001/sig000004d5 ) + ); + XORCY \blk00000001/blk0000023c ( + .CI(\blk00000001/sig000005a5 ), + .LI(\blk00000001/sig00000593 ), + .O(\blk00000001/sig000004d6 ) + ); + XORCY \blk00000001/blk0000023b ( + .CI(\blk00000001/sig000005a4 ), + .LI(\blk00000001/sig00000592 ), + .O(\blk00000001/sig000004d7 ) + ); + XORCY \blk00000001/blk0000023a ( + .CI(\blk00000001/sig000005a3 ), + .LI(\blk00000001/sig000005a1 ), + .O(\blk00000001/sig000004c7 ) + ); + MUXCY \blk00000001/blk00000239 ( + .CI(\blk00000001/sig00000523 ), + .DI(\blk00000001/sig00000525 ), + .S(\blk00000001/sig00000581 ), + .O(\blk00000001/sig00000591 ) + ); + XORCY \blk00000001/blk00000238 ( + .CI(\blk00000001/sig00000523 ), + .LI(\blk00000001/sig00000581 ), + .O(\blk00000001/sig00000513 ) + ); + MUXCY \blk00000001/blk00000237 ( + .CI(\blk00000001/sig00000582 ), + .DI(\blk00000001/sig00000535 ), + .S(\blk00000001/sig00000580 ), + .O(\NLW_blk00000001/blk00000237_O_UNCONNECTED ) + ); + MUXCY \blk00000001/blk00000236 ( + .CI(\blk00000001/sig00000591 ), + .DI(\blk00000001/sig00000526 ), + .S(\blk00000001/sig0000057f ), + .O(\blk00000001/sig00000590 ) + ); + MUXCY \blk00000001/blk00000235 ( + .CI(\blk00000001/sig00000590 ), + .DI(\blk00000001/sig00000527 ), + .S(\blk00000001/sig0000057e ), + .O(\blk00000001/sig0000058f ) + ); + MUXCY \blk00000001/blk00000234 ( + .CI(\blk00000001/sig0000058f ), + .DI(\blk00000001/sig00000528 ), + .S(\blk00000001/sig0000057d ), + .O(\blk00000001/sig0000058e ) + ); + MUXCY \blk00000001/blk00000233 ( + .CI(\blk00000001/sig0000058e ), + .DI(\blk00000001/sig00000529 ), + .S(\blk00000001/sig0000057c ), + .O(\blk00000001/sig0000058d ) + ); + MUXCY \blk00000001/blk00000232 ( + .CI(\blk00000001/sig0000058d ), + .DI(\blk00000001/sig0000052a ), + .S(\blk00000001/sig0000057b ), + .O(\blk00000001/sig0000058c ) + ); + MUXCY \blk00000001/blk00000231 ( + .CI(\blk00000001/sig0000058c ), + .DI(\blk00000001/sig0000052b ), + .S(\blk00000001/sig0000057a ), + .O(\blk00000001/sig0000058b ) + ); + MUXCY \blk00000001/blk00000230 ( + .CI(\blk00000001/sig0000058b ), + .DI(\blk00000001/sig0000052c ), + .S(\blk00000001/sig00000579 ), + .O(\blk00000001/sig0000058a ) + ); + MUXCY \blk00000001/blk0000022f ( + .CI(\blk00000001/sig0000058a ), + .DI(\blk00000001/sig0000052d ), + .S(\blk00000001/sig00000578 ), + .O(\blk00000001/sig00000589 ) + ); + MUXCY \blk00000001/blk0000022e ( + .CI(\blk00000001/sig00000589 ), + .DI(\blk00000001/sig0000052e ), + .S(\blk00000001/sig00000577 ), + .O(\blk00000001/sig00000588 ) + ); + MUXCY \blk00000001/blk0000022d ( + .CI(\blk00000001/sig00000588 ), + .DI(\blk00000001/sig0000052f ), + .S(\blk00000001/sig00000576 ), + .O(\blk00000001/sig00000587 ) + ); + MUXCY \blk00000001/blk0000022c ( + .CI(\blk00000001/sig00000587 ), + .DI(\blk00000001/sig00000530 ), + .S(\blk00000001/sig00000575 ), + .O(\blk00000001/sig00000586 ) + ); + MUXCY \blk00000001/blk0000022b ( + .CI(\blk00000001/sig00000586 ), + .DI(\blk00000001/sig00000531 ), + .S(\blk00000001/sig00000574 ), + .O(\blk00000001/sig00000585 ) + ); + MUXCY \blk00000001/blk0000022a ( + .CI(\blk00000001/sig00000585 ), + .DI(\blk00000001/sig00000532 ), + .S(\blk00000001/sig00000573 ), + .O(\blk00000001/sig00000584 ) + ); + MUXCY \blk00000001/blk00000229 ( + .CI(\blk00000001/sig00000584 ), + .DI(\blk00000001/sig00000533 ), + .S(\blk00000001/sig00000572 ), + .O(\blk00000001/sig00000583 ) + ); + MUXCY \blk00000001/blk00000228 ( + .CI(\blk00000001/sig00000583 ), + .DI(\blk00000001/sig00000534 ), + .S(\blk00000001/sig00000571 ), + .O(\blk00000001/sig00000582 ) + ); + XORCY \blk00000001/blk00000227 ( + .CI(\blk00000001/sig00000591 ), + .LI(\blk00000001/sig0000057f ), + .O(\blk00000001/sig00000514 ) + ); + XORCY \blk00000001/blk00000226 ( + .CI(\blk00000001/sig00000590 ), + .LI(\blk00000001/sig0000057e ), + .O(\blk00000001/sig00000515 ) + ); + XORCY \blk00000001/blk00000225 ( + .CI(\blk00000001/sig0000058f ), + .LI(\blk00000001/sig0000057d ), + .O(\blk00000001/sig00000516 ) + ); + XORCY \blk00000001/blk00000224 ( + .CI(\blk00000001/sig0000058e ), + .LI(\blk00000001/sig0000057c ), + .O(\blk00000001/sig00000517 ) + ); + XORCY \blk00000001/blk00000223 ( + .CI(\blk00000001/sig0000058d ), + .LI(\blk00000001/sig0000057b ), + .O(\blk00000001/sig00000518 ) + ); + XORCY \blk00000001/blk00000222 ( + .CI(\blk00000001/sig0000058c ), + .LI(\blk00000001/sig0000057a ), + .O(\blk00000001/sig00000519 ) + ); + XORCY \blk00000001/blk00000221 ( + .CI(\blk00000001/sig0000058b ), + .LI(\blk00000001/sig00000579 ), + .O(\blk00000001/sig0000051a ) + ); + XORCY \blk00000001/blk00000220 ( + .CI(\blk00000001/sig0000058a ), + .LI(\blk00000001/sig00000578 ), + .O(\blk00000001/sig0000051b ) + ); + XORCY \blk00000001/blk0000021f ( + .CI(\blk00000001/sig00000589 ), + .LI(\blk00000001/sig00000577 ), + .O(\blk00000001/sig0000051c ) + ); + XORCY \blk00000001/blk0000021e ( + .CI(\blk00000001/sig00000588 ), + .LI(\blk00000001/sig00000576 ), + .O(\blk00000001/sig0000051d ) + ); + XORCY \blk00000001/blk0000021d ( + .CI(\blk00000001/sig00000587 ), + .LI(\blk00000001/sig00000575 ), + .O(\blk00000001/sig0000051e ) + ); + XORCY \blk00000001/blk0000021c ( + .CI(\blk00000001/sig00000586 ), + .LI(\blk00000001/sig00000574 ), + .O(\blk00000001/sig0000051f ) + ); + XORCY \blk00000001/blk0000021b ( + .CI(\blk00000001/sig00000585 ), + .LI(\blk00000001/sig00000573 ), + .O(\blk00000001/sig00000520 ) + ); + XORCY \blk00000001/blk0000021a ( + .CI(\blk00000001/sig00000584 ), + .LI(\blk00000001/sig00000572 ), + .O(\blk00000001/sig00000521 ) + ); + XORCY \blk00000001/blk00000219 ( + .CI(\blk00000001/sig00000583 ), + .LI(\blk00000001/sig00000571 ), + .O(\blk00000001/sig00000522 ) + ); + XORCY \blk00000001/blk00000218 ( + .CI(\blk00000001/sig00000582 ), + .LI(\blk00000001/sig00000580 ), + .O(\blk00000001/sig00000512 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000217 ( + .C(aclk), + .D(\blk00000001/sig000001cf ), + .Q(\blk00000001/sig00000523 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000216 ( + .C(aclk), + .D(\blk00000001/sig000001d0 ), + .Q(\blk00000001/sig00000524 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000215 ( + .C(aclk), + .D(\blk00000001/sig000001d1 ), + .Q(\blk00000001/sig00000525 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000214 ( + .C(aclk), + .D(\blk00000001/sig000001d2 ), + .Q(\blk00000001/sig00000526 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000213 ( + .C(aclk), + .D(\blk00000001/sig000001d3 ), + .Q(\blk00000001/sig00000527 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000212 ( + .C(aclk), + .D(\blk00000001/sig000001d4 ), + .Q(\blk00000001/sig00000528 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000211 ( + .C(aclk), + .D(\blk00000001/sig000001d5 ), + .Q(\blk00000001/sig00000529 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000210 ( + .C(aclk), + .D(\blk00000001/sig000001d6 ), + .Q(\blk00000001/sig0000052a ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000020f ( + .C(aclk), + .D(\blk00000001/sig000001d7 ), + .Q(\blk00000001/sig0000052b ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000020e ( + .C(aclk), + .D(\blk00000001/sig000001d8 ), + .Q(\blk00000001/sig0000052c ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000020d ( + .C(aclk), + .D(\blk00000001/sig000001d9 ), + .Q(\blk00000001/sig0000052d ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000020c ( + .C(aclk), + .D(\blk00000001/sig000001da ), + .Q(\blk00000001/sig0000052e ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000020b ( + .C(aclk), + .D(\blk00000001/sig000001db ), + .Q(\blk00000001/sig0000052f ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000020a ( + .C(aclk), + .D(\blk00000001/sig000001dc ), + .Q(\blk00000001/sig00000530 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000209 ( + .C(aclk), + .D(\blk00000001/sig000001dd ), + .Q(\blk00000001/sig00000531 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000208 ( + .C(aclk), + .D(\blk00000001/sig000001de ), + .Q(\blk00000001/sig00000532 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000207 ( + .C(aclk), + .D(\blk00000001/sig000001df ), + .Q(\blk00000001/sig00000533 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000206 ( + .C(aclk), + .D(\blk00000001/sig000001e0 ), + .Q(\blk00000001/sig00000534 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000205 ( + .C(aclk), + .D(\blk00000001/sig000001e1 ), + .Q(\blk00000001/sig00000535 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000204 ( + .C(aclk), + .D(\blk00000001/sig000001bc ), + .Q(\blk00000001/sig000004d8 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000203 ( + .C(aclk), + .D(\blk00000001/sig000001bd ), + .Q(\blk00000001/sig000004d9 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000202 ( + .C(aclk), + .D(\blk00000001/sig000001be ), + .Q(\blk00000001/sig000004da ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000201 ( + .C(aclk), + .D(\blk00000001/sig000001bf ), + .Q(\blk00000001/sig000004db ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000200 ( + .C(aclk), + .D(\blk00000001/sig000001c0 ), + .Q(\blk00000001/sig000004dc ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001ff ( + .C(aclk), + .D(\blk00000001/sig000001c1 ), + .Q(\blk00000001/sig000004dd ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001fe ( + .C(aclk), + .D(\blk00000001/sig000001c2 ), + .Q(\blk00000001/sig000004de ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001fd ( + .C(aclk), + .D(\blk00000001/sig000001c3 ), + .Q(\blk00000001/sig000004df ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001fc ( + .C(aclk), + .D(\blk00000001/sig000001c4 ), + .Q(\blk00000001/sig000004e0 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001fb ( + .C(aclk), + .D(\blk00000001/sig000001c5 ), + .Q(\blk00000001/sig000004e1 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001fa ( + .C(aclk), + .D(\blk00000001/sig000001c6 ), + .Q(\blk00000001/sig000004e2 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001f9 ( + .C(aclk), + .D(\blk00000001/sig000001c7 ), + .Q(\blk00000001/sig000004e3 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001f8 ( + .C(aclk), + .D(\blk00000001/sig000001c8 ), + .Q(\blk00000001/sig000004e4 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001f7 ( + .C(aclk), + .D(\blk00000001/sig000001c9 ), + .Q(\blk00000001/sig000004e5 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001f6 ( + .C(aclk), + .D(\blk00000001/sig000001ca ), + .Q(\blk00000001/sig000004e6 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001f5 ( + .C(aclk), + .D(\blk00000001/sig000001cb ), + .Q(\blk00000001/sig000004e7 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001f4 ( + .C(aclk), + .D(\blk00000001/sig000001cc ), + .Q(\blk00000001/sig000004e8 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001f3 ( + .C(aclk), + .D(\blk00000001/sig000001cd ), + .Q(\blk00000001/sig000004e9 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001f2 ( + .C(aclk), + .D(\blk00000001/sig000001ce ), + .Q(\blk00000001/sig000004ea ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000001f1 ( + .C(aclk), + .D(\blk00000001/sig000001a9 ), + .Q(\blk00000001/sig0000048d ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001f0 ( + .C(aclk), + .D(\blk00000001/sig000001aa ), + .Q(\blk00000001/sig0000048e ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000001ef ( + .C(aclk), + .D(\blk00000001/sig000001ab ), + .Q(\blk00000001/sig0000048f ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001ee ( + .C(aclk), + .D(\blk00000001/sig000001ac ), + .Q(\blk00000001/sig00000490 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001ed ( + .C(aclk), + .D(\blk00000001/sig000001ad ), + .Q(\blk00000001/sig00000491 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001ec ( + .C(aclk), + .D(\blk00000001/sig000001ae ), + .Q(\blk00000001/sig00000492 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001eb ( + .C(aclk), + .D(\blk00000001/sig000001af ), + .Q(\blk00000001/sig00000493 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001ea ( + .C(aclk), + .D(\blk00000001/sig000001b0 ), + .Q(\blk00000001/sig00000494 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001e9 ( + .C(aclk), + .D(\blk00000001/sig000001b1 ), + .Q(\blk00000001/sig00000495 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001e8 ( + .C(aclk), + .D(\blk00000001/sig000001b2 ), + .Q(\blk00000001/sig00000496 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001e7 ( + .C(aclk), + .D(\blk00000001/sig000001b3 ), + .Q(\blk00000001/sig00000497 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001e6 ( + .C(aclk), + .D(\blk00000001/sig000001b4 ), + .Q(\blk00000001/sig00000498 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001e5 ( + .C(aclk), + .D(\blk00000001/sig000001b5 ), + .Q(\blk00000001/sig00000499 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001e4 ( + .C(aclk), + .D(\blk00000001/sig000001b6 ), + .Q(\blk00000001/sig0000049a ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001e3 ( + .C(aclk), + .D(\blk00000001/sig000001b7 ), + .Q(\blk00000001/sig0000049b ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001e2 ( + .C(aclk), + .D(\blk00000001/sig000001b8 ), + .Q(\blk00000001/sig0000049c ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001e1 ( + .C(aclk), + .D(\blk00000001/sig000001b9 ), + .Q(\blk00000001/sig0000049d ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001e0 ( + .C(aclk), + .D(\blk00000001/sig000001ba ), + .Q(\blk00000001/sig0000049e ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001df ( + .C(aclk), + .D(\blk00000001/sig000001bb ), + .Q(\blk00000001/sig0000049f ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000001de ( + .C(aclk), + .D(\blk00000001/sig00000196 ), + .Q(\blk00000001/sig00000442 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001dd ( + .C(aclk), + .D(\blk00000001/sig00000197 ), + .Q(\blk00000001/sig00000443 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000001dc ( + .C(aclk), + .D(\blk00000001/sig00000198 ), + .Q(\blk00000001/sig00000444 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001db ( + .C(aclk), + .D(\blk00000001/sig00000199 ), + .Q(\blk00000001/sig00000445 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001da ( + .C(aclk), + .D(\blk00000001/sig0000019a ), + .Q(\blk00000001/sig00000446 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001d9 ( + .C(aclk), + .D(\blk00000001/sig0000019b ), + .Q(\blk00000001/sig00000447 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001d8 ( + .C(aclk), + .D(\blk00000001/sig0000019c ), + .Q(\blk00000001/sig00000448 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001d7 ( + .C(aclk), + .D(\blk00000001/sig0000019d ), + .Q(\blk00000001/sig00000449 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001d6 ( + .C(aclk), + .D(\blk00000001/sig0000019e ), + .Q(\blk00000001/sig0000044a ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001d5 ( + .C(aclk), + .D(\blk00000001/sig0000019f ), + .Q(\blk00000001/sig0000044b ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001d4 ( + .C(aclk), + .D(\blk00000001/sig000001a0 ), + .Q(\blk00000001/sig0000044c ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001d3 ( + .C(aclk), + .D(\blk00000001/sig000001a1 ), + .Q(\blk00000001/sig0000044d ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001d2 ( + .C(aclk), + .D(\blk00000001/sig000001a2 ), + .Q(\blk00000001/sig0000044e ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001d1 ( + .C(aclk), + .D(\blk00000001/sig000001a3 ), + .Q(\blk00000001/sig0000044f ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001d0 ( + .C(aclk), + .D(\blk00000001/sig000001a4 ), + .Q(\blk00000001/sig00000450 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001cf ( + .C(aclk), + .D(\blk00000001/sig000001a5 ), + .Q(\blk00000001/sig00000451 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001ce ( + .C(aclk), + .D(\blk00000001/sig000001a6 ), + .Q(\blk00000001/sig00000452 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001cd ( + .C(aclk), + .D(\blk00000001/sig000001a7 ), + .Q(\blk00000001/sig00000453 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001cc ( + .C(aclk), + .D(\blk00000001/sig000001a8 ), + .Q(\blk00000001/sig00000454 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000001cb ( + .C(aclk), + .D(\blk00000001/sig00000183 ), + .Q(\blk00000001/sig000003f7 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001ca ( + .C(aclk), + .D(\blk00000001/sig00000184 ), + .Q(\blk00000001/sig000003f8 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000001c9 ( + .C(aclk), + .D(\blk00000001/sig00000185 ), + .Q(\blk00000001/sig000003f9 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001c8 ( + .C(aclk), + .D(\blk00000001/sig00000186 ), + .Q(\blk00000001/sig000003fa ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001c7 ( + .C(aclk), + .D(\blk00000001/sig00000187 ), + .Q(\blk00000001/sig000003fb ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001c6 ( + .C(aclk), + .D(\blk00000001/sig00000188 ), + .Q(\blk00000001/sig000003fc ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001c5 ( + .C(aclk), + .D(\blk00000001/sig00000189 ), + .Q(\blk00000001/sig000003fd ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001c4 ( + .C(aclk), + .D(\blk00000001/sig0000018a ), + .Q(\blk00000001/sig000003fe ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001c3 ( + .C(aclk), + .D(\blk00000001/sig0000018b ), + .Q(\blk00000001/sig000003ff ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001c2 ( + .C(aclk), + .D(\blk00000001/sig0000018c ), + .Q(\blk00000001/sig00000400 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001c1 ( + .C(aclk), + .D(\blk00000001/sig0000018d ), + .Q(\blk00000001/sig00000401 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001c0 ( + .C(aclk), + .D(\blk00000001/sig0000018e ), + .Q(\blk00000001/sig00000402 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001bf ( + .C(aclk), + .D(\blk00000001/sig0000018f ), + .Q(\blk00000001/sig00000403 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001be ( + .C(aclk), + .D(\blk00000001/sig00000190 ), + .Q(\blk00000001/sig00000404 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001bd ( + .C(aclk), + .D(\blk00000001/sig00000191 ), + .Q(\blk00000001/sig00000405 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001bc ( + .C(aclk), + .D(\blk00000001/sig00000192 ), + .Q(\blk00000001/sig00000406 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001bb ( + .C(aclk), + .D(\blk00000001/sig00000193 ), + .Q(\blk00000001/sig00000407 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001ba ( + .C(aclk), + .D(\blk00000001/sig00000194 ), + .Q(\blk00000001/sig00000408 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001b9 ( + .C(aclk), + .D(\blk00000001/sig00000195 ), + .Q(\blk00000001/sig00000409 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000001b8 ( + .C(aclk), + .D(\blk00000001/sig00000170 ), + .Q(\blk00000001/sig000003ac ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001b7 ( + .C(aclk), + .D(\blk00000001/sig00000171 ), + .Q(\blk00000001/sig000003ad ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000001b6 ( + .C(aclk), + .D(\blk00000001/sig00000172 ), + .Q(\blk00000001/sig000003ae ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001b5 ( + .C(aclk), + .D(\blk00000001/sig00000173 ), + .Q(\blk00000001/sig000003af ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001b4 ( + .C(aclk), + .D(\blk00000001/sig00000174 ), + .Q(\blk00000001/sig000003b0 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001b3 ( + .C(aclk), + .D(\blk00000001/sig00000175 ), + .Q(\blk00000001/sig000003b1 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001b2 ( + .C(aclk), + .D(\blk00000001/sig00000176 ), + .Q(\blk00000001/sig000003b2 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001b1 ( + .C(aclk), + .D(\blk00000001/sig00000177 ), + .Q(\blk00000001/sig000003b3 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001b0 ( + .C(aclk), + .D(\blk00000001/sig00000178 ), + .Q(\blk00000001/sig000003b4 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001af ( + .C(aclk), + .D(\blk00000001/sig00000179 ), + .Q(\blk00000001/sig000003b5 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001ae ( + .C(aclk), + .D(\blk00000001/sig0000017a ), + .Q(\blk00000001/sig000003b6 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001ad ( + .C(aclk), + .D(\blk00000001/sig0000017b ), + .Q(\blk00000001/sig000003b7 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001ac ( + .C(aclk), + .D(\blk00000001/sig0000017c ), + .Q(\blk00000001/sig000003b8 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001ab ( + .C(aclk), + .D(\blk00000001/sig0000017d ), + .Q(\blk00000001/sig000003b9 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001aa ( + .C(aclk), + .D(\blk00000001/sig0000017e ), + .Q(\blk00000001/sig000003ba ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001a9 ( + .C(aclk), + .D(\blk00000001/sig0000017f ), + .Q(\blk00000001/sig000003bb ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001a8 ( + .C(aclk), + .D(\blk00000001/sig00000180 ), + .Q(\blk00000001/sig000003bc ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001a7 ( + .C(aclk), + .D(\blk00000001/sig00000181 ), + .Q(\blk00000001/sig000003bd ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001a6 ( + .C(aclk), + .D(\blk00000001/sig00000182 ), + .Q(\blk00000001/sig000003be ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000001a5 ( + .C(aclk), + .D(\blk00000001/sig0000015e ), + .Q(\blk00000001/sig00000361 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001a4 ( + .C(aclk), + .D(\blk00000001/sig0000015f ), + .Q(\blk00000001/sig00000362 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001a3 ( + .C(aclk), + .D(\blk00000001/sig00000160 ), + .Q(\blk00000001/sig00000364 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001a2 ( + .C(aclk), + .D(\blk00000001/sig00000161 ), + .Q(\blk00000001/sig00000365 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001a1 ( + .C(aclk), + .D(\blk00000001/sig00000162 ), + .Q(\blk00000001/sig00000366 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk000001a0 ( + .C(aclk), + .D(\blk00000001/sig00000163 ), + .Q(\blk00000001/sig00000367 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000019f ( + .C(aclk), + .D(\blk00000001/sig00000164 ), + .Q(\blk00000001/sig00000368 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000019e ( + .C(aclk), + .D(\blk00000001/sig00000165 ), + .Q(\blk00000001/sig00000369 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000019d ( + .C(aclk), + .D(\blk00000001/sig00000166 ), + .Q(\blk00000001/sig0000036a ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000019c ( + .C(aclk), + .D(\blk00000001/sig00000167 ), + .Q(\blk00000001/sig0000036b ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000019b ( + .C(aclk), + .D(\blk00000001/sig00000168 ), + .Q(\blk00000001/sig0000036c ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000019a ( + .C(aclk), + .D(\blk00000001/sig00000169 ), + .Q(\blk00000001/sig0000036d ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000199 ( + .C(aclk), + .D(\blk00000001/sig0000016a ), + .Q(\blk00000001/sig0000036e ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000198 ( + .C(aclk), + .D(\blk00000001/sig0000016b ), + .Q(\blk00000001/sig0000036f ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000197 ( + .C(aclk), + .D(\blk00000001/sig0000016c ), + .Q(\blk00000001/sig00000370 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000196 ( + .C(aclk), + .D(\blk00000001/sig0000016d ), + .Q(\blk00000001/sig00000371 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000195 ( + .C(aclk), + .D(\blk00000001/sig0000016e ), + .Q(\blk00000001/sig00000372 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000194 ( + .C(aclk), + .D(\blk00000001/sig0000016f ), + .Q(\blk00000001/sig00000373 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000193 ( + .C(aclk), + .D(\blk00000001/sig0000014c ), + .Q(\blk00000001/sig00000313 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000192 ( + .C(aclk), + .D(\blk00000001/sig0000014d ), + .Q(\blk00000001/sig00000314 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000191 ( + .C(aclk), + .D(\blk00000001/sig0000014e ), + .Q(\blk00000001/sig00000315 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000190 ( + .C(aclk), + .D(\blk00000001/sig0000014f ), + .Q(\blk00000001/sig00000316 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000018f ( + .C(aclk), + .D(\blk00000001/sig00000150 ), + .Q(\blk00000001/sig00000317 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000018e ( + .C(aclk), + .D(\blk00000001/sig00000151 ), + .Q(\blk00000001/sig00000318 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000018d ( + .C(aclk), + .D(\blk00000001/sig00000152 ), + .Q(\blk00000001/sig00000319 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000018c ( + .C(aclk), + .D(\blk00000001/sig00000153 ), + .Q(\blk00000001/sig0000031a ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000018b ( + .C(aclk), + .D(\blk00000001/sig00000154 ), + .Q(\blk00000001/sig0000031b ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000018a ( + .C(aclk), + .D(\blk00000001/sig00000155 ), + .Q(\blk00000001/sig0000031c ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000189 ( + .C(aclk), + .D(\blk00000001/sig00000156 ), + .Q(\blk00000001/sig0000031d ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000188 ( + .C(aclk), + .D(\blk00000001/sig00000157 ), + .Q(\blk00000001/sig0000031e ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000187 ( + .C(aclk), + .D(\blk00000001/sig00000158 ), + .Q(\blk00000001/sig0000031f ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000186 ( + .C(aclk), + .D(\blk00000001/sig00000159 ), + .Q(\blk00000001/sig00000320 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000185 ( + .C(aclk), + .D(\blk00000001/sig0000015a ), + .Q(\blk00000001/sig00000321 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000184 ( + .C(aclk), + .D(\blk00000001/sig0000015b ), + .Q(\blk00000001/sig00000322 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000183 ( + .C(aclk), + .D(\blk00000001/sig0000015c ), + .Q(\blk00000001/sig00000323 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000182 ( + .C(aclk), + .D(\blk00000001/sig0000015d ), + .Q(\blk00000001/sig00000324 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000181 ( + .C(aclk), + .D(\blk00000001/sig0000013a ), + .Q(\blk00000001/sig000002c1 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000180 ( + .C(aclk), + .D(\blk00000001/sig0000013b ), + .Q(\blk00000001/sig000002c2 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000017f ( + .C(aclk), + .D(\blk00000001/sig0000013c ), + .Q(\blk00000001/sig000002c3 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000017e ( + .C(aclk), + .D(\blk00000001/sig0000013d ), + .Q(\blk00000001/sig000002c4 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000017d ( + .C(aclk), + .D(\blk00000001/sig0000013e ), + .Q(\blk00000001/sig000002c5 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000017c ( + .C(aclk), + .D(\blk00000001/sig0000013f ), + .Q(\blk00000001/sig000002c6 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000017b ( + .C(aclk), + .D(\blk00000001/sig00000140 ), + .Q(\blk00000001/sig000002c7 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000017a ( + .C(aclk), + .D(\blk00000001/sig00000141 ), + .Q(\blk00000001/sig000002c8 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000179 ( + .C(aclk), + .D(\blk00000001/sig00000142 ), + .Q(\blk00000001/sig000002c9 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000178 ( + .C(aclk), + .D(\blk00000001/sig00000143 ), + .Q(\blk00000001/sig000002ca ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000177 ( + .C(aclk), + .D(\blk00000001/sig00000144 ), + .Q(\blk00000001/sig000002cb ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000176 ( + .C(aclk), + .D(\blk00000001/sig00000145 ), + .Q(\blk00000001/sig000002cc ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000175 ( + .C(aclk), + .D(\blk00000001/sig00000146 ), + .Q(\blk00000001/sig000002cd ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000174 ( + .C(aclk), + .D(\blk00000001/sig00000147 ), + .Q(\blk00000001/sig000002ce ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000173 ( + .C(aclk), + .D(\blk00000001/sig00000148 ), + .Q(\blk00000001/sig000002cf ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000172 ( + .C(aclk), + .D(\blk00000001/sig00000149 ), + .Q(\blk00000001/sig000002d0 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000171 ( + .C(aclk), + .D(\blk00000001/sig0000014a ), + .Q(\blk00000001/sig000002d1 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000170 ( + .C(aclk), + .D(\blk00000001/sig0000014b ), + .Q(\blk00000001/sig000002d2 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000016f ( + .C(aclk), + .D(\blk00000001/sig00000128 ), + .Q(\blk00000001/sig0000026b ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000016e ( + .C(aclk), + .D(\blk00000001/sig00000129 ), + .Q(\blk00000001/sig0000026c ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000016d ( + .C(aclk), + .D(\blk00000001/sig0000012a ), + .Q(\blk00000001/sig0000026d ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000016c ( + .C(aclk), + .D(\blk00000001/sig0000012b ), + .Q(\blk00000001/sig0000026e ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000016b ( + .C(aclk), + .D(\blk00000001/sig0000012c ), + .Q(\blk00000001/sig0000026f ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000016a ( + .C(aclk), + .D(\blk00000001/sig0000012d ), + .Q(\blk00000001/sig00000270 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000169 ( + .C(aclk), + .D(\blk00000001/sig0000012e ), + .Q(\blk00000001/sig00000271 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000168 ( + .C(aclk), + .D(\blk00000001/sig0000012f ), + .Q(\blk00000001/sig00000272 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000167 ( + .C(aclk), + .D(\blk00000001/sig00000130 ), + .Q(\blk00000001/sig00000273 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000166 ( + .C(aclk), + .D(\blk00000001/sig00000131 ), + .Q(\blk00000001/sig00000274 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000165 ( + .C(aclk), + .D(\blk00000001/sig00000132 ), + .Q(\blk00000001/sig00000275 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000164 ( + .C(aclk), + .D(\blk00000001/sig00000133 ), + .Q(\blk00000001/sig00000276 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000163 ( + .C(aclk), + .D(\blk00000001/sig00000134 ), + .Q(\blk00000001/sig00000277 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000162 ( + .C(aclk), + .D(\blk00000001/sig00000135 ), + .Q(\blk00000001/sig00000278 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000161 ( + .C(aclk), + .D(\blk00000001/sig00000136 ), + .Q(\blk00000001/sig00000279 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000160 ( + .C(aclk), + .D(\blk00000001/sig00000137 ), + .Q(\blk00000001/sig0000027a ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000015f ( + .C(aclk), + .D(\blk00000001/sig00000138 ), + .Q(\blk00000001/sig0000027b ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk0000015e ( + .C(aclk), + .D(\blk00000001/sig00000139 ), + .Q(\blk00000001/sig0000027c ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000015d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000561 ), + .Q(\blk00000001/sig00000536 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000015c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000562 ), + .Q(\blk00000001/sig00000537 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000015b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000563 ), + .Q(\blk00000001/sig00000538 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000015a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000564 ), + .Q(\blk00000001/sig00000539 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000159 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000565 ), + .Q(\blk00000001/sig0000053a ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000158 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000566 ), + .Q(\blk00000001/sig0000053b ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000157 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000567 ), + .Q(\blk00000001/sig0000053c ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000156 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000568 ), + .Q(\blk00000001/sig0000053d ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000155 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000569 ), + .Q(\blk00000001/sig0000053e ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000154 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000056a ), + .Q(\blk00000001/sig0000053f ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000153 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000056b ), + .Q(\blk00000001/sig00000540 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000152 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000056c ), + .Q(\blk00000001/sig00000541 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000151 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000056d ), + .Q(\blk00000001/sig00000542 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000150 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000056e ), + .Q(\blk00000001/sig00000543 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000014f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000056f ), + .Q(\blk00000001/sig00000544 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000014e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000570 ), + .Q(\blk00000001/sig00000545 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000014d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000536 ), + .Q(\blk00000001/sig000004eb ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000014c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000537 ), + .Q(\blk00000001/sig000004ec ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000014b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000538 ), + .Q(\blk00000001/sig000004ed ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000014a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000539 ), + .Q(\blk00000001/sig000004ee ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000149 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000053a ), + .Q(\blk00000001/sig000004ef ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000148 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000053b ), + .Q(\blk00000001/sig000004f0 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000147 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000053c ), + .Q(\blk00000001/sig000004f1 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000146 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000053d ), + .Q(\blk00000001/sig000004f2 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000145 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000053e ), + .Q(\blk00000001/sig000004f3 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000144 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000053f ), + .Q(\blk00000001/sig000004f4 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000143 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000540 ), + .Q(\blk00000001/sig000004f5 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000142 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000541 ), + .Q(\blk00000001/sig000004f6 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000141 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000542 ), + .Q(\blk00000001/sig000004f7 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000140 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000543 ), + .Q(\blk00000001/sig000004f8 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000013f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000544 ), + .Q(\blk00000001/sig000004f9 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000013e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000545 ), + .Q(\blk00000001/sig000004fa ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000013d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004eb ), + .Q(\blk00000001/sig000004a0 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000013c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004ec ), + .Q(\blk00000001/sig000004a1 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000013b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004ed ), + .Q(\blk00000001/sig000004a2 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000013a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004ee ), + .Q(\blk00000001/sig000004a3 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000139 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004ef ), + .Q(\blk00000001/sig000004a4 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000138 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004f0 ), + .Q(\blk00000001/sig000004a5 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000137 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004f1 ), + .Q(\blk00000001/sig000004a6 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000136 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004f2 ), + .Q(\blk00000001/sig000004a7 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000135 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004f3 ), + .Q(\blk00000001/sig000004a8 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000134 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004f4 ), + .Q(\blk00000001/sig000004a9 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000133 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004f5 ), + .Q(\blk00000001/sig000004aa ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000132 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004f6 ), + .Q(\blk00000001/sig000004ab ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000131 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004f7 ), + .Q(\blk00000001/sig000004ac ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000130 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004f8 ), + .Q(\blk00000001/sig000004ad ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000012f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004f9 ), + .Q(\blk00000001/sig000004ae ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000012e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004fa ), + .Q(\blk00000001/sig000004af ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000012d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004a0 ), + .Q(\blk00000001/sig00000455 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000012c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004a1 ), + .Q(\blk00000001/sig00000456 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000012b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004a2 ), + .Q(\blk00000001/sig00000457 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000012a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004a3 ), + .Q(\blk00000001/sig00000458 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000129 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004a4 ), + .Q(\blk00000001/sig00000459 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000128 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004a5 ), + .Q(\blk00000001/sig0000045a ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000127 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004a6 ), + .Q(\blk00000001/sig0000045b ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000126 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004a7 ), + .Q(\blk00000001/sig0000045c ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000125 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004a8 ), + .Q(\blk00000001/sig0000045d ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000124 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004a9 ), + .Q(\blk00000001/sig0000045e ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000123 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004aa ), + .Q(\blk00000001/sig0000045f ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000122 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004ab ), + .Q(\blk00000001/sig00000460 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000121 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004ac ), + .Q(\blk00000001/sig00000461 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000120 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004ad ), + .Q(\blk00000001/sig00000462 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000011f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004ae ), + .Q(\blk00000001/sig00000463 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000011e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000004af ), + .Q(\blk00000001/sig00000464 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000011d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000455 ), + .Q(\blk00000001/sig0000040a ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000011c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000456 ), + .Q(\blk00000001/sig0000040b ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000011b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000457 ), + .Q(\blk00000001/sig0000040c ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000011a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000458 ), + .Q(\blk00000001/sig0000040d ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000119 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000459 ), + .Q(\blk00000001/sig0000040e ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000118 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000045a ), + .Q(\blk00000001/sig0000040f ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000117 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000045b ), + .Q(\blk00000001/sig00000410 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000116 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000045c ), + .Q(\blk00000001/sig00000411 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000115 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000045d ), + .Q(\blk00000001/sig00000412 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000114 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000045e ), + .Q(\blk00000001/sig00000413 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000113 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000045f ), + .Q(\blk00000001/sig00000414 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000112 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000460 ), + .Q(\blk00000001/sig00000415 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000111 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000461 ), + .Q(\blk00000001/sig00000416 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000110 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000462 ), + .Q(\blk00000001/sig00000417 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000010f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000463 ), + .Q(\blk00000001/sig00000418 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000010e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000464 ), + .Q(\blk00000001/sig00000419 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000010d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000040a ), + .Q(\blk00000001/sig000003bf ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000010c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000040b ), + .Q(\blk00000001/sig000003c0 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000010b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000040c ), + .Q(\blk00000001/sig000003c1 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000010a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000040d ), + .Q(\blk00000001/sig000003c2 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000109 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000040e ), + .Q(\blk00000001/sig000003c3 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000108 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000040f ), + .Q(\blk00000001/sig000003c4 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000107 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000410 ), + .Q(\blk00000001/sig000003c5 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000106 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000411 ), + .Q(\blk00000001/sig000003c6 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000105 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000412 ), + .Q(\blk00000001/sig000003c7 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000104 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000413 ), + .Q(\blk00000001/sig000003c8 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000103 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000414 ), + .Q(\blk00000001/sig000003c9 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000102 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000415 ), + .Q(\blk00000001/sig000003ca ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000101 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000416 ), + .Q(\blk00000001/sig000003cb ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk00000100 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000417 ), + .Q(\blk00000001/sig000003cc ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000ff ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000418 ), + .Q(\blk00000001/sig000003cd ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000fe ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000419 ), + .Q(\blk00000001/sig000003ce ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000000fd ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003bf ), + .Q(\blk00000001/sig00000374 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000fc ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003c0 ), + .Q(\blk00000001/sig00000375 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000fb ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003c1 ), + .Q(\blk00000001/sig00000376 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000fa ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003c2 ), + .Q(\blk00000001/sig00000377 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000f9 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003c3 ), + .Q(\blk00000001/sig00000378 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000f8 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003c4 ), + .Q(\blk00000001/sig00000379 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000f7 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003c5 ), + .Q(\blk00000001/sig0000037a ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000f6 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003c6 ), + .Q(\blk00000001/sig0000037b ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000f5 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003c7 ), + .Q(\blk00000001/sig0000037c ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000f4 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003c8 ), + .Q(\blk00000001/sig0000037d ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000f3 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003c9 ), + .Q(\blk00000001/sig0000037e ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000f2 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003ca ), + .Q(\blk00000001/sig0000037f ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000f1 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003cb ), + .Q(\blk00000001/sig00000380 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000f0 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003cc ), + .Q(\blk00000001/sig00000381 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000ef ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003cd ), + .Q(\blk00000001/sig00000382 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000ee ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000003ce ), + .Q(\blk00000001/sig00000383 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000000ed ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000374 ), + .Q(\blk00000001/sig00000325 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000ec ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000375 ), + .Q(\blk00000001/sig00000326 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000eb ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000376 ), + .Q(\blk00000001/sig00000327 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000ea ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000377 ), + .Q(\blk00000001/sig00000328 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000e9 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000378 ), + .Q(\blk00000001/sig00000329 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000e8 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000379 ), + .Q(\blk00000001/sig0000032a ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000e7 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000037a ), + .Q(\blk00000001/sig0000032b ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000e6 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000037b ), + .Q(\blk00000001/sig0000032c ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000e5 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000037c ), + .Q(\blk00000001/sig0000032d ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000e4 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000037d ), + .Q(\blk00000001/sig0000032e ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000e3 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000037e ), + .Q(\blk00000001/sig0000032f ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000e2 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000037f ), + .Q(\blk00000001/sig00000330 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000e1 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000380 ), + .Q(\blk00000001/sig00000331 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000e0 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000381 ), + .Q(\blk00000001/sig00000332 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000df ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000382 ), + .Q(\blk00000001/sig00000333 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000de ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000383 ), + .Q(\blk00000001/sig00000334 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000000dd ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000325 ), + .Q(\blk00000001/sig000002d3 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000dc ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000326 ), + .Q(\blk00000001/sig000002d4 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000db ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000327 ), + .Q(\blk00000001/sig000002d5 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000da ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000328 ), + .Q(\blk00000001/sig000002d6 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000d9 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000329 ), + .Q(\blk00000001/sig000002d7 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000d8 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000032a ), + .Q(\blk00000001/sig000002d8 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000d7 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000032b ), + .Q(\blk00000001/sig000002d9 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000d6 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000032c ), + .Q(\blk00000001/sig000002da ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000d5 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000032d ), + .Q(\blk00000001/sig000002db ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000d4 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000032e ), + .Q(\blk00000001/sig000002dc ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000d3 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000032f ), + .Q(\blk00000001/sig000002dd ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000d2 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000330 ), + .Q(\blk00000001/sig000002de ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000d1 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000331 ), + .Q(\blk00000001/sig000002df ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000d0 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000332 ), + .Q(\blk00000001/sig000002e0 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000cf ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000333 ), + .Q(\blk00000001/sig000002e1 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000ce ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000334 ), + .Q(\blk00000001/sig000002e2 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000000cd ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002d3 ), + .Q(\blk00000001/sig0000027d ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000cc ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002d4 ), + .Q(\blk00000001/sig0000027e ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000cb ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002d5 ), + .Q(\blk00000001/sig0000027f ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000ca ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002d6 ), + .Q(\blk00000001/sig00000280 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000c9 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002d7 ), + .Q(\blk00000001/sig00000281 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000c8 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002d8 ), + .Q(\blk00000001/sig00000282 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000c7 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002d9 ), + .Q(\blk00000001/sig00000283 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000c6 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002da ), + .Q(\blk00000001/sig00000284 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000c5 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002db ), + .Q(\blk00000001/sig00000285 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000c4 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002dc ), + .Q(\blk00000001/sig00000286 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000c3 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002dd ), + .Q(\blk00000001/sig00000287 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000c2 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002de ), + .Q(\blk00000001/sig00000288 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000c1 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002df ), + .Q(\blk00000001/sig00000289 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000c0 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002e0 ), + .Q(\blk00000001/sig0000028a ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000bf ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002e1 ), + .Q(\blk00000001/sig0000028b ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000be ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig000002e2 ), + .Q(\blk00000001/sig0000028c ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000bd ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000096 ), + .Q(\blk00000001/sig00000546 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000bc ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000097 ), + .Q(\blk00000001/sig00000547 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000bb ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000098 ), + .Q(\blk00000001/sig00000548 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000ba ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000099 ), + .Q(\blk00000001/sig00000549 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000b9 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000009a ), + .Q(\blk00000001/sig0000054a ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000b8 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000009b ), + .Q(\blk00000001/sig0000054b ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000b7 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000009c ), + .Q(\blk00000001/sig0000054c ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000b6 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000009d ), + .Q(\blk00000001/sig0000054d ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000b5 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000009e ), + .Q(\blk00000001/sig0000054e ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000b4 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000009f ), + .Q(\blk00000001/sig0000054f ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000b3 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000a0 ), + .Q(\blk00000001/sig00000550 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000b2 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000a1 ), + .Q(\blk00000001/sig00000551 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000b1 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000a2 ), + .Q(\blk00000001/sig00000552 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000b0 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000a3 ), + .Q(\blk00000001/sig00000553 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000af ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000a4 ), + .Q(\blk00000001/sig00000554 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000ae ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000a5 ), + .Q(\blk00000001/sig00000555 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000ad ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000a6 ), + .Q(\blk00000001/sig00000556 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000ac ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000a7 ), + .Q(\blk00000001/sig00000557 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000ab ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000a8 ), + .Q(\blk00000001/sig00000558 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000aa ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000a9 ), + .Q(\blk00000001/sig00000559 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000a9 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000aa ), + .Q(\blk00000001/sig0000055a ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000a8 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000ab ), + .Q(\blk00000001/sig0000055b ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000a7 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000ac ), + .Q(\blk00000001/sig0000055c ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk000000a6 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig000000ad ), + .Q(\blk00000001/sig0000055d ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000000a5 ( + .C(aclk), + .D(\blk00000001/sig00000123 ), + .Q(\blk00000001/sig0000055e ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk000000a4 ( + .C(aclk), + .D(\blk00000001/sig00000122 ), + .Q(\blk00000001/sig0000055f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000000a3 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000086 ), + .Q(\blk00000001/sig00000561 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000000a2 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000087 ), + .Q(\blk00000001/sig00000562 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000000a1 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000088 ), + .Q(\blk00000001/sig00000563 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk000000a0 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000089 ), + .Q(\blk00000001/sig00000564 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000009f ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000008a ), + .Q(\blk00000001/sig00000565 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000009e ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000008b ), + .Q(\blk00000001/sig00000566 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000009d ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000008c ), + .Q(\blk00000001/sig00000567 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000009c ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000008d ), + .Q(\blk00000001/sig00000568 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000009b ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000008e ), + .Q(\blk00000001/sig00000569 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000009a ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig0000008f ), + .Q(\blk00000001/sig0000056a ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000099 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000090 ), + .Q(\blk00000001/sig0000056b ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000098 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000091 ), + .Q(\blk00000001/sig0000056c ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000097 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000092 ), + .Q(\blk00000001/sig0000056d ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000096 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000093 ), + .Q(\blk00000001/sig0000056e ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000095 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000094 ), + .Q(\blk00000001/sig0000056f ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000094 ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000095 ), + .Q(\blk00000001/sig00000570 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000093 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000431 ), + .Q(\blk00000001/sig000003d6 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000092 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000424 ), + .Q(\blk00000001/sig000003d7 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000091 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000423 ), + .Q(\blk00000001/sig000003d8 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000090 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000422 ), + .Q(\blk00000001/sig000003d9 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000008f ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000425 ), + .Q(\blk00000001/sig000003da ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000008e ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000426 ), + .Q(\blk00000001/sig000003db ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000008d ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000427 ), + .Q(\blk00000001/sig000003dc ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000008c ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000428 ), + .Q(\blk00000001/sig000003dd ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000008b ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000429 ), + .Q(\blk00000001/sig000003de ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk0000008a ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000042a ), + .Q(\blk00000001/sig000003df ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000089 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000042b ), + .Q(\blk00000001/sig000003e0 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000088 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000042c ), + .Q(\blk00000001/sig000003e1 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000087 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000042d ), + .Q(\blk00000001/sig000003e2 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000086 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000042e ), + .Q(\blk00000001/sig000003e3 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000085 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig0000042f ), + .Q(\blk00000001/sig000003e4 ) + ); + FDE #( + .INIT ( 1'b1 )) + \blk00000001/blk00000084 ( + .C(aclk), + .CE(\blk00000001/sig00000560 ), + .D(\blk00000001/sig00000430 ), + .Q(\blk00000001/sig000003e5 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000083 ( + .C(aclk), + .D(\blk00000001/sig00000125 ), + .Q(\blk00000001/sig00000123 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000082 ( + .C(aclk), + .D(\blk00000001/sig00000124 ), + .Q(\blk00000001/sig00000122 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000081 ( + .C(aclk), + .D(\blk00000001/sig00000058 ), + .Q(\blk00000001/sig00000560 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000080 ( + .C(aclk), + .D(\blk00000001/sig00000126 ), + .Q(\blk00000001/sig00000058 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000007f ( + .C(aclk), + .D(\blk00000001/sig00000127 ), + .Q(NlwRenamedSig_OI_s_axis_dividend_tready) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000007e ( + .C(aclk), + .D(\blk00000001/sig00000082 ), + .Q(\blk00000001/sig00000120 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000007d ( + .C(aclk), + .D(\blk00000001/sig00000083 ), + .Q(\blk00000001/sig00000121 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000007c ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000085 ), + .Q(\blk00000001/sig00000083 ) + ); + FDE #( + .INIT ( 1'b0 )) + \blk00000001/blk0000007b ( + .C(aclk), + .CE(\blk00000001/sig00000058 ), + .D(\blk00000001/sig00000084 ), + .Q(\blk00000001/sig00000082 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000007a ( + .C(aclk), + .D(s_axis_dividend_tdata[23]), + .Q(\blk00000001/sig00000085 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000079 ( + .C(aclk), + .D(s_axis_divisor_tdata[15]), + .Q(\blk00000001/sig00000084 ) + ); + FD #( + .INIT ( 1'b1 )) + \blk00000001/blk00000078 ( + .C(aclk), + .D(\blk00000001/sig00000102 ), + .Q(\blk00000001/sig00000086 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000077 ( + .C(aclk), + .D(\blk00000001/sig00000103 ), + .Q(\blk00000001/sig00000087 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000076 ( + .C(aclk), + .D(\blk00000001/sig00000104 ), + .Q(\blk00000001/sig00000088 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000075 ( + .C(aclk), + .D(\blk00000001/sig00000105 ), + .Q(\blk00000001/sig00000089 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000074 ( + .C(aclk), + .D(\blk00000001/sig00000106 ), + .Q(\blk00000001/sig0000008a ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000073 ( + .C(aclk), + .D(\blk00000001/sig00000107 ), + .Q(\blk00000001/sig0000008b ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000072 ( + .C(aclk), + .D(\blk00000001/sig00000108 ), + .Q(\blk00000001/sig0000008c ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000071 ( + .C(aclk), + .D(\blk00000001/sig00000109 ), + .Q(\blk00000001/sig0000008d ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000070 ( + .C(aclk), + .D(\blk00000001/sig0000010a ), + .Q(\blk00000001/sig0000008e ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000006f ( + .C(aclk), + .D(\blk00000001/sig0000010b ), + .Q(\blk00000001/sig0000008f ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000006e ( + .C(aclk), + .D(\blk00000001/sig0000010c ), + .Q(\blk00000001/sig00000090 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000006d ( + .C(aclk), + .D(\blk00000001/sig0000010d ), + .Q(\blk00000001/sig00000091 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000006c ( + .C(aclk), + .D(\blk00000001/sig0000010e ), + .Q(\blk00000001/sig00000092 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000006b ( + .C(aclk), + .D(\blk00000001/sig0000010f ), + .Q(\blk00000001/sig00000093 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000006a ( + .C(aclk), + .D(\blk00000001/sig00000110 ), + .Q(\blk00000001/sig00000094 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000069 ( + .C(aclk), + .D(\blk00000001/sig00000111 ), + .Q(\blk00000001/sig00000095 ) + ); + MUXCY \blk00000001/blk00000068 ( + .CI(\blk00000001/sig00000363 ), + .DI(s_axis_divisor_tdata[15]), + .S(\blk00000001/sig00000731 ), + .O(\blk00000001/sig00000101 ) + ); + XORCY \blk00000001/blk00000067 ( + .CI(\blk00000001/sig00000363 ), + .LI(\blk00000001/sig00000731 ), + .O(\blk00000001/sig00000102 ) + ); + MUXCY \blk00000001/blk00000066 ( + .CI(\blk00000001/sig00000101 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000112 ), + .O(\blk00000001/sig00000100 ) + ); + XORCY \blk00000001/blk00000065 ( + .CI(\blk00000001/sig00000101 ), + .LI(\blk00000001/sig00000112 ), + .O(\blk00000001/sig00000103 ) + ); + MUXCY \blk00000001/blk00000064 ( + .CI(\blk00000001/sig00000100 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000113 ), + .O(\blk00000001/sig000000ff ) + ); + XORCY \blk00000001/blk00000063 ( + .CI(\blk00000001/sig00000100 ), + .LI(\blk00000001/sig00000113 ), + .O(\blk00000001/sig00000104 ) + ); + MUXCY \blk00000001/blk00000062 ( + .CI(\blk00000001/sig000000ff ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000114 ), + .O(\blk00000001/sig000000fe ) + ); + XORCY \blk00000001/blk00000061 ( + .CI(\blk00000001/sig000000ff ), + .LI(\blk00000001/sig00000114 ), + .O(\blk00000001/sig00000105 ) + ); + MUXCY \blk00000001/blk00000060 ( + .CI(\blk00000001/sig000000fe ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000115 ), + .O(\blk00000001/sig000000fd ) + ); + XORCY \blk00000001/blk0000005f ( + .CI(\blk00000001/sig000000fe ), + .LI(\blk00000001/sig00000115 ), + .O(\blk00000001/sig00000106 ) + ); + MUXCY \blk00000001/blk0000005e ( + .CI(\blk00000001/sig000000fd ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000116 ), + .O(\blk00000001/sig000000fc ) + ); + XORCY \blk00000001/blk0000005d ( + .CI(\blk00000001/sig000000fd ), + .LI(\blk00000001/sig00000116 ), + .O(\blk00000001/sig00000107 ) + ); + MUXCY \blk00000001/blk0000005c ( + .CI(\blk00000001/sig000000fc ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000117 ), + .O(\blk00000001/sig000000fb ) + ); + XORCY \blk00000001/blk0000005b ( + .CI(\blk00000001/sig000000fc ), + .LI(\blk00000001/sig00000117 ), + .O(\blk00000001/sig00000108 ) + ); + MUXCY \blk00000001/blk0000005a ( + .CI(\blk00000001/sig000000fb ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000118 ), + .O(\blk00000001/sig000000fa ) + ); + XORCY \blk00000001/blk00000059 ( + .CI(\blk00000001/sig000000fb ), + .LI(\blk00000001/sig00000118 ), + .O(\blk00000001/sig00000109 ) + ); + MUXCY \blk00000001/blk00000058 ( + .CI(\blk00000001/sig000000fa ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig00000119 ), + .O(\blk00000001/sig000000f9 ) + ); + XORCY \blk00000001/blk00000057 ( + .CI(\blk00000001/sig000000fa ), + .LI(\blk00000001/sig00000119 ), + .O(\blk00000001/sig0000010a ) + ); + MUXCY \blk00000001/blk00000056 ( + .CI(\blk00000001/sig000000f9 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig0000011a ), + .O(\blk00000001/sig000000f8 ) + ); + XORCY \blk00000001/blk00000055 ( + .CI(\blk00000001/sig000000f9 ), + .LI(\blk00000001/sig0000011a ), + .O(\blk00000001/sig0000010b ) + ); + MUXCY \blk00000001/blk00000054 ( + .CI(\blk00000001/sig000000f8 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig0000011b ), + .O(\blk00000001/sig000000f7 ) + ); + XORCY \blk00000001/blk00000053 ( + .CI(\blk00000001/sig000000f8 ), + .LI(\blk00000001/sig0000011b ), + .O(\blk00000001/sig0000010c ) + ); + MUXCY \blk00000001/blk00000052 ( + .CI(\blk00000001/sig000000f7 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig0000011c ), + .O(\blk00000001/sig000000f6 ) + ); + XORCY \blk00000001/blk00000051 ( + .CI(\blk00000001/sig000000f7 ), + .LI(\blk00000001/sig0000011c ), + .O(\blk00000001/sig0000010d ) + ); + MUXCY \blk00000001/blk00000050 ( + .CI(\blk00000001/sig000000f6 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig0000011d ), + .O(\blk00000001/sig000000f5 ) + ); + XORCY \blk00000001/blk0000004f ( + .CI(\blk00000001/sig000000f6 ), + .LI(\blk00000001/sig0000011d ), + .O(\blk00000001/sig0000010e ) + ); + MUXCY \blk00000001/blk0000004e ( + .CI(\blk00000001/sig000000f5 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig0000011e ), + .O(\blk00000001/sig000000f4 ) + ); + XORCY \blk00000001/blk0000004d ( + .CI(\blk00000001/sig000000f5 ), + .LI(\blk00000001/sig0000011e ), + .O(\blk00000001/sig0000010f ) + ); + MUXCY \blk00000001/blk0000004c ( + .CI(\blk00000001/sig000000f4 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig0000011f ), + .O(\blk00000001/sig000000f3 ) + ); + XORCY \blk00000001/blk0000004b ( + .CI(\blk00000001/sig000000f4 ), + .LI(\blk00000001/sig0000011f ), + .O(\blk00000001/sig00000110 ) + ); + XORCY \blk00000001/blk0000004a ( + .CI(\blk00000001/sig000000f3 ), + .LI(\blk00000001/sig00000363 ), + .O(\blk00000001/sig00000111 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000049 ( + .C(aclk), + .D(\blk00000001/sig000000c5 ), + .Q(\blk00000001/sig00000096 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000048 ( + .C(aclk), + .D(\blk00000001/sig000000c6 ), + .Q(\blk00000001/sig00000097 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000047 ( + .C(aclk), + .D(\blk00000001/sig000000c7 ), + .Q(\blk00000001/sig00000098 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000046 ( + .C(aclk), + .D(\blk00000001/sig000000c8 ), + .Q(\blk00000001/sig00000099 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000045 ( + .C(aclk), + .D(\blk00000001/sig000000c9 ), + .Q(\blk00000001/sig0000009a ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000044 ( + .C(aclk), + .D(\blk00000001/sig000000ca ), + .Q(\blk00000001/sig0000009b ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000043 ( + .C(aclk), + .D(\blk00000001/sig000000cb ), + .Q(\blk00000001/sig0000009c ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000042 ( + .C(aclk), + .D(\blk00000001/sig000000cc ), + .Q(\blk00000001/sig0000009d ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000041 ( + .C(aclk), + .D(\blk00000001/sig000000cd ), + .Q(\blk00000001/sig0000009e ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000040 ( + .C(aclk), + .D(\blk00000001/sig000000ce ), + .Q(\blk00000001/sig0000009f ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000003f ( + .C(aclk), + .D(\blk00000001/sig000000cf ), + .Q(\blk00000001/sig000000a0 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000003e ( + .C(aclk), + .D(\blk00000001/sig000000d0 ), + .Q(\blk00000001/sig000000a1 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000003d ( + .C(aclk), + .D(\blk00000001/sig000000d1 ), + .Q(\blk00000001/sig000000a2 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000003c ( + .C(aclk), + .D(\blk00000001/sig000000d2 ), + .Q(\blk00000001/sig000000a3 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000003b ( + .C(aclk), + .D(\blk00000001/sig000000d3 ), + .Q(\blk00000001/sig000000a4 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk0000003a ( + .C(aclk), + .D(\blk00000001/sig000000d4 ), + .Q(\blk00000001/sig000000a5 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000039 ( + .C(aclk), + .D(\blk00000001/sig000000d5 ), + .Q(\blk00000001/sig000000a6 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000038 ( + .C(aclk), + .D(\blk00000001/sig000000d6 ), + .Q(\blk00000001/sig000000a7 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000037 ( + .C(aclk), + .D(\blk00000001/sig000000d7 ), + .Q(\blk00000001/sig000000a8 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000036 ( + .C(aclk), + .D(\blk00000001/sig000000d8 ), + .Q(\blk00000001/sig000000a9 ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000035 ( + .C(aclk), + .D(\blk00000001/sig000000d9 ), + .Q(\blk00000001/sig000000aa ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000034 ( + .C(aclk), + .D(\blk00000001/sig000000da ), + .Q(\blk00000001/sig000000ab ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000033 ( + .C(aclk), + .D(\blk00000001/sig000000db ), + .Q(\blk00000001/sig000000ac ) + ); + FD #( + .INIT ( 1'b0 )) + \blk00000001/blk00000032 ( + .C(aclk), + .D(\blk00000001/sig000000dc ), + .Q(\blk00000001/sig000000ad ) + ); + MUXCY \blk00000001/blk00000031 ( + .CI(\blk00000001/sig00000363 ), + .DI(s_axis_dividend_tdata[23]), + .S(\blk00000001/sig00000730 ), + .O(\blk00000001/sig000000c4 ) + ); + XORCY \blk00000001/blk00000030 ( + .CI(\blk00000001/sig00000363 ), + .LI(\blk00000001/sig00000730 ), + .O(\blk00000001/sig000000c5 ) + ); + MUXCY \blk00000001/blk0000002f ( + .CI(\blk00000001/sig000000c4 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000dd ), + .O(\blk00000001/sig000000c3 ) + ); + XORCY \blk00000001/blk0000002e ( + .CI(\blk00000001/sig000000c4 ), + .LI(\blk00000001/sig000000dd ), + .O(\blk00000001/sig000000c6 ) + ); + MUXCY \blk00000001/blk0000002d ( + .CI(\blk00000001/sig000000c3 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000de ), + .O(\blk00000001/sig000000c2 ) + ); + XORCY \blk00000001/blk0000002c ( + .CI(\blk00000001/sig000000c3 ), + .LI(\blk00000001/sig000000de ), + .O(\blk00000001/sig000000c7 ) + ); + MUXCY \blk00000001/blk0000002b ( + .CI(\blk00000001/sig000000c2 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000df ), + .O(\blk00000001/sig000000c1 ) + ); + XORCY \blk00000001/blk0000002a ( + .CI(\blk00000001/sig000000c2 ), + .LI(\blk00000001/sig000000df ), + .O(\blk00000001/sig000000c8 ) + ); + MUXCY \blk00000001/blk00000029 ( + .CI(\blk00000001/sig000000c1 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000e0 ), + .O(\blk00000001/sig000000c0 ) + ); + XORCY \blk00000001/blk00000028 ( + .CI(\blk00000001/sig000000c1 ), + .LI(\blk00000001/sig000000e0 ), + .O(\blk00000001/sig000000c9 ) + ); + MUXCY \blk00000001/blk00000027 ( + .CI(\blk00000001/sig000000c0 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000e1 ), + .O(\blk00000001/sig000000bf ) + ); + XORCY \blk00000001/blk00000026 ( + .CI(\blk00000001/sig000000c0 ), + .LI(\blk00000001/sig000000e1 ), + .O(\blk00000001/sig000000ca ) + ); + MUXCY \blk00000001/blk00000025 ( + .CI(\blk00000001/sig000000bf ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000e2 ), + .O(\blk00000001/sig000000be ) + ); + XORCY \blk00000001/blk00000024 ( + .CI(\blk00000001/sig000000bf ), + .LI(\blk00000001/sig000000e2 ), + .O(\blk00000001/sig000000cb ) + ); + MUXCY \blk00000001/blk00000023 ( + .CI(\blk00000001/sig000000be ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000e3 ), + .O(\blk00000001/sig000000bd ) + ); + XORCY \blk00000001/blk00000022 ( + .CI(\blk00000001/sig000000be ), + .LI(\blk00000001/sig000000e3 ), + .O(\blk00000001/sig000000cc ) + ); + MUXCY \blk00000001/blk00000021 ( + .CI(\blk00000001/sig000000bd ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000e4 ), + .O(\blk00000001/sig000000bc ) + ); + XORCY \blk00000001/blk00000020 ( + .CI(\blk00000001/sig000000bd ), + .LI(\blk00000001/sig000000e4 ), + .O(\blk00000001/sig000000cd ) + ); + MUXCY \blk00000001/blk0000001f ( + .CI(\blk00000001/sig000000bc ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000e5 ), + .O(\blk00000001/sig000000bb ) + ); + XORCY \blk00000001/blk0000001e ( + .CI(\blk00000001/sig000000bc ), + .LI(\blk00000001/sig000000e5 ), + .O(\blk00000001/sig000000ce ) + ); + MUXCY \blk00000001/blk0000001d ( + .CI(\blk00000001/sig000000bb ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000e6 ), + .O(\blk00000001/sig000000ba ) + ); + XORCY \blk00000001/blk0000001c ( + .CI(\blk00000001/sig000000bb ), + .LI(\blk00000001/sig000000e6 ), + .O(\blk00000001/sig000000cf ) + ); + MUXCY \blk00000001/blk0000001b ( + .CI(\blk00000001/sig000000ba ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000e7 ), + .O(\blk00000001/sig000000b9 ) + ); + XORCY \blk00000001/blk0000001a ( + .CI(\blk00000001/sig000000ba ), + .LI(\blk00000001/sig000000e7 ), + .O(\blk00000001/sig000000d0 ) + ); + MUXCY \blk00000001/blk00000019 ( + .CI(\blk00000001/sig000000b9 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000e8 ), + .O(\blk00000001/sig000000b8 ) + ); + XORCY \blk00000001/blk00000018 ( + .CI(\blk00000001/sig000000b9 ), + .LI(\blk00000001/sig000000e8 ), + .O(\blk00000001/sig000000d1 ) + ); + MUXCY \blk00000001/blk00000017 ( + .CI(\blk00000001/sig000000b8 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000e9 ), + .O(\blk00000001/sig000000b7 ) + ); + XORCY \blk00000001/blk00000016 ( + .CI(\blk00000001/sig000000b8 ), + .LI(\blk00000001/sig000000e9 ), + .O(\blk00000001/sig000000d2 ) + ); + MUXCY \blk00000001/blk00000015 ( + .CI(\blk00000001/sig000000b7 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000ea ), + .O(\blk00000001/sig000000b6 ) + ); + XORCY \blk00000001/blk00000014 ( + .CI(\blk00000001/sig000000b7 ), + .LI(\blk00000001/sig000000ea ), + .O(\blk00000001/sig000000d3 ) + ); + MUXCY \blk00000001/blk00000013 ( + .CI(\blk00000001/sig000000b6 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000eb ), + .O(\blk00000001/sig000000b5 ) + ); + XORCY \blk00000001/blk00000012 ( + .CI(\blk00000001/sig000000b6 ), + .LI(\blk00000001/sig000000eb ), + .O(\blk00000001/sig000000d4 ) + ); + MUXCY \blk00000001/blk00000011 ( + .CI(\blk00000001/sig000000b5 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000ec ), + .O(\blk00000001/sig000000b4 ) + ); + XORCY \blk00000001/blk00000010 ( + .CI(\blk00000001/sig000000b5 ), + .LI(\blk00000001/sig000000ec ), + .O(\blk00000001/sig000000d5 ) + ); + MUXCY \blk00000001/blk0000000f ( + .CI(\blk00000001/sig000000b4 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000ed ), + .O(\blk00000001/sig000000b3 ) + ); + XORCY \blk00000001/blk0000000e ( + .CI(\blk00000001/sig000000b4 ), + .LI(\blk00000001/sig000000ed ), + .O(\blk00000001/sig000000d6 ) + ); + MUXCY \blk00000001/blk0000000d ( + .CI(\blk00000001/sig000000b3 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000ee ), + .O(\blk00000001/sig000000b2 ) + ); + XORCY \blk00000001/blk0000000c ( + .CI(\blk00000001/sig000000b3 ), + .LI(\blk00000001/sig000000ee ), + .O(\blk00000001/sig000000d7 ) + ); + MUXCY \blk00000001/blk0000000b ( + .CI(\blk00000001/sig000000b2 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000ef ), + .O(\blk00000001/sig000000b1 ) + ); + XORCY \blk00000001/blk0000000a ( + .CI(\blk00000001/sig000000b2 ), + .LI(\blk00000001/sig000000ef ), + .O(\blk00000001/sig000000d8 ) + ); + MUXCY \blk00000001/blk00000009 ( + .CI(\blk00000001/sig000000b1 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000f0 ), + .O(\blk00000001/sig000000b0 ) + ); + XORCY \blk00000001/blk00000008 ( + .CI(\blk00000001/sig000000b1 ), + .LI(\blk00000001/sig000000f0 ), + .O(\blk00000001/sig000000d9 ) + ); + MUXCY \blk00000001/blk00000007 ( + .CI(\blk00000001/sig000000b0 ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000f1 ), + .O(\blk00000001/sig000000af ) + ); + XORCY \blk00000001/blk00000006 ( + .CI(\blk00000001/sig000000b0 ), + .LI(\blk00000001/sig000000f1 ), + .O(\blk00000001/sig000000da ) + ); + MUXCY \blk00000001/blk00000005 ( + .CI(\blk00000001/sig000000af ), + .DI(\blk00000001/sig00000363 ), + .S(\blk00000001/sig000000f2 ), + .O(\blk00000001/sig000000ae ) + ); + XORCY \blk00000001/blk00000004 ( + .CI(\blk00000001/sig000000af ), + .LI(\blk00000001/sig000000f2 ), + .O(\blk00000001/sig000000db ) + ); + XORCY \blk00000001/blk00000003 ( + .CI(\blk00000001/sig000000ae ), + .LI(\blk00000001/sig00000363 ), + .O(\blk00000001/sig000000dc ) + ); + GND \blk00000001/blk00000002 ( + .G(\blk00000001/sig00000363 ) + ); + +// synthesis translate_on + +endmodule + +// synthesis translate_off + +`ifndef GLBL +`define GLBL + +`timescale 1 ps / 1 ps + +module glbl (); + + parameter ROC_WIDTH = 100000; + parameter TOC_WIDTH = 0; + +//-------- STARTUP Globals -------------- + wire GSR; + wire GTS; + wire GWE; + wire PRLD; + tri1 p_up_tmp; + tri (weak1, strong0) PLL_LOCKG = p_up_tmp; + + wire PROGB_GLBL; + wire CCLKO_GLBL; + + reg GSR_int; + reg GTS_int; + reg PRLD_int; + +//-------- JTAG Globals -------------- + wire JTAG_TDO_GLBL; + wire JTAG_TCK_GLBL; + wire JTAG_TDI_GLBL; + wire JTAG_TMS_GLBL; + wire JTAG_TRST_GLBL; + + reg JTAG_CAPTURE_GLBL; + reg JTAG_RESET_GLBL; + reg JTAG_SHIFT_GLBL; + reg JTAG_UPDATE_GLBL; + reg JTAG_RUNTEST_GLBL; + + reg JTAG_SEL1_GLBL = 0; + reg JTAG_SEL2_GLBL = 0 ; + reg JTAG_SEL3_GLBL = 0; + reg JTAG_SEL4_GLBL = 0; + + reg JTAG_USER_TDO1_GLBL = 1'bz; + reg JTAG_USER_TDO2_GLBL = 1'bz; + reg JTAG_USER_TDO3_GLBL = 1'bz; + reg JTAG_USER_TDO4_GLBL = 1'bz; + + assign (weak1, weak0) GSR = GSR_int; + assign (weak1, weak0) GTS = GTS_int; + assign (weak1, weak0) PRLD = PRLD_int; + + initial begin + GSR_int = 1'b1; + PRLD_int = 1'b1; + #(ROC_WIDTH) + GSR_int = 1'b0; + PRLD_int = 1'b0; + end + + initial begin + GTS_int = 1'b1; + #(TOC_WIDTH) + GTS_int = 1'b0; + end + +endmodule + +`endif + +// synthesis translate_on diff --git a/ipcore_dir/div_8_dot_8_nodsp.veo b/ipcore_dir/div_8_dot_8_nodsp.veo new file mode 100644 index 0000000..cc722aa --- /dev/null +++ b/ipcore_dir/div_8_dot_8_nodsp.veo @@ -0,0 +1,69 @@ +/******************************************************************************* +* This file is owned and controlled by Xilinx and must be used solely * +* for design, simulation, implementation and creation of design files * +* limited to Xilinx devices or technologies. Use with non-Xilinx * +* devices or technologies is expressly prohibited and immediately * +* terminates your license. * +* * +* XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" SOLELY * +* FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR XILINX DEVICES. BY * +* PROVIDING THIS DESIGN, CODE, OR INFORMATION AS ONE POSSIBLE * +* IMPLEMENTATION OF THIS FEATURE, APPLICATION OR STANDARD, XILINX IS * +* MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION IS FREE FROM ANY * +* CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE FOR OBTAINING ANY * +* RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION. XILINX EXPRESSLY * +* DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE * +* IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR * +* REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF * +* INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * +* PARTICULAR PURPOSE. * +* * +* Xilinx products are not intended for use in life support appliances, * +* devices, or systems. Use in such applications are expressly * +* prohibited. * +* * +* (c) Copyright 1995-2018 Xilinx, Inc. * +* All rights reserved. * +*******************************************************************************/ + +/******************************************************************************* +* Generated from core with identifier: xilinx.com:ip:div_gen:4.0 * +* * +* This core provides division using one of two algorithms. The Radix-2 * +* algorithm provides a fabric solution suitable for smaller operand * +* division, and High Radix algorithm provides a solution based upon * +* XtremeDSP slices and so is well suited to larger operands (that is * +* above about 16 bits wide). * +*******************************************************************************/ + +// Interfaces: +// M_AXIS_DOUT +// aclk_intf +// aresetn_intf +// aclken_intf +// S_AXIS_DIVISOR +// S_AXIS_DIVIDEND + +// The following must be inserted into your Verilog file for this +// core to be instantiated. Change the instance name and port connections +// (in parentheses) to your own signal names. + +//----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG +div_8_dot_8_nodsp your_instance_name ( + .aclk(aclk), // input aclk + .s_axis_divisor_tvalid(s_axis_divisor_tvalid), // input s_axis_divisor_tvalid + .s_axis_divisor_tready(s_axis_divisor_tready), // output s_axis_divisor_tready + .s_axis_divisor_tdata(s_axis_divisor_tdata), // input [15 : 0] s_axis_divisor_tdata + .s_axis_dividend_tvalid(s_axis_dividend_tvalid), // input s_axis_dividend_tvalid + .s_axis_dividend_tready(s_axis_dividend_tready), // output s_axis_dividend_tready + .s_axis_dividend_tdata(s_axis_dividend_tdata), // input [23 : 0] s_axis_dividend_tdata + .m_axis_dout_tvalid(m_axis_dout_tvalid), // output m_axis_dout_tvalid + .m_axis_dout_tdata(m_axis_dout_tdata) // output [39 : 0] m_axis_dout_tdata +); +// INST_TAG_END ------ End INSTANTIATION Template --------- + +// You must compile the wrapper file div_8_dot_8_nodsp.v when simulating +// the core, div_8_dot_8_nodsp. When compiling the wrapper file, be sure to +// reference the XilinxCoreLib Verilog simulation library. For detailed +// instructions, please refer to the "CORE Generator Help". + diff --git a/ipcore_dir/div_8_dot_8_nodsp.xco b/ipcore_dir/div_8_dot_8_nodsp.xco new file mode 100644 index 0000000..b8eb314 --- /dev/null +++ b/ipcore_dir/div_8_dot_8_nodsp.xco @@ -0,0 +1,70 @@ +############################################################## +# +# Xilinx Core Generator version 14.7 +# Date: Fri Nov 30 06:46:53 2018 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# Generated from component: xilinx.com:ip:div_gen:4.0 +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = Verilog +SET device = xc6slx9 +SET devicefamily = spartan6 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = tqg144 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -2 +SET verilogsim = true +SET vhdlsim = false +# END Project Options +# BEGIN Select +SELECT Divider_Generator xilinx.com:ip:div_gen:4.0 +# END Select +# BEGIN Parameters +CSET aclken=false +CSET algorithm_type=Radix2 +CSET aresetn=false +CSET clocks_per_division=4 +CSET component_name=div_8_dot_8_nodsp +CSET divide_by_zero_detect=false +CSET dividend_and_quotient_width=24 +CSET dividend_has_tlast=false +CSET dividend_has_tuser=false +CSET dividend_tuser_width=1 +CSET divisor_has_tlast=false +CSET divisor_has_tuser=false +CSET divisor_tuser_width=1 +CSET divisor_width=16 +CSET flowcontrol=NonBlocking +CSET fractional_width=16 +CSET latency=45 +CSET latency_configuration=Automatic +CSET operand_sign=Signed +CSET optimizegoal=Performance +CSET outtlastbehv=Null +CSET outtready=false +CSET remainder_type=Fractional +# END Parameters +# BEGIN Extra information +MISC pkg_timestamp=2013-07-22T10:43:42Z +# END Extra information +GENERATE +# CRC: bbab219b diff --git a/ipcore_dir/div_8_dot_8_nodsp.xise b/ipcore_dir/div_8_dot_8_nodsp.xise new file mode 100644 index 0000000..7368985 --- /dev/null +++ b/ipcore_dir/div_8_dot_8_nodsp.xise @@ -0,0 +1,73 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/ipcore_dir/div_8_dot_8_nodsp/doc/div_gen_v4_0_readme.txt b/ipcore_dir/div_8_dot_8_nodsp/doc/div_gen_v4_0_readme.txt new file mode 100644 index 0000000..2f809f4 --- /dev/null +++ b/ipcore_dir/div_8_dot_8_nodsp/doc/div_gen_v4_0_readme.txt @@ -0,0 +1,164 @@ +CHANGE LOG for Xilinx LogiCORE Divider Generator 4.0 + +Release Date: October 2, 2013 +-------------------------------------------------------------------------------- + +Table of Contents + +1. INTRODUCTION +2. DEVICE SUPPORT +3. NEW FEATURE HISTORY +4. RESOLVED ISSUES +5. KNOWN ISSUES & LIMITATIONS +6. TECHNICAL SUPPORT & FEEDBACK +7. CORE RELEASE HISTORY +8. LEGAL DISCLAIMER + +-------------------------------------------------------------------------------- + + +1. INTRODUCTION + + This file contains the change log for all released versions of the Xilinx + LogiCORE IP Divider Generator. + + For the latest core updates, see the product page at: + + http://www.xilinx.com/products/ipcenter/Divider.htm + + For installation instructions for this release, please go to: + + http://www.xilinx.com/ipcenter/coregen/ip_update_install_instructions.htm + + For system requirements: + + http://www.xilinx.com/ipcenter/coregen/ip_update_system_requirements.htm + + +2. DEVICE SUPPORT + + 2.1. ISE + + The following device families are supported by the core for this release: + + All Series 7 devices + All Virtex-6 devices + All Spartan-6 devices + + +3. NEW FEATURE HISTORY + + 3.1 ISE + + v4.0 + - Ongoing new device support. + - AXI-4 Stream Interfaces replace old pinout + - Maximum operand and output widths increased to 64 bits. + + +4. RESOLVED ISSUES + + 4.1 ISE + + - N/A + + +5. KNOWN ISSUES & LIMITATIONS + + The following are known issues for this core at time of release: + + 5.1 ISE + - None + + - For a comprehensive listing of Known Issues for this core, please see the IP + Release Notes Guide, + + www.xilinx.com/support/documentation/user_guides/xtp025.pdf + + +6. TECHNICAL SUPPORT & FEEDBACK + + To obtain technical support, create a WebCase at www.xilinx.com/support. + Questions are routed to a team with expertise using this product. + Please feel free to leave feedback on this IP under the "Leave Feedback" + menu item in Vivado/PlanAhead. + + Xilinx provides technical support for use of this product when used + according to the guidelines described in the core documentation, and + cannot guarantee timing, functionality, or support of this product for + designs that do not follow specified guidelines. + + +7. CORE RELEASE HISTORY + +Date By Version Description +================================================================================ +10/02/2013 Xilinx, Inc. 4.0 ISE 14.7 support and Production support for Series 7 +06/19/2012 Xilinx, Inc. 4.0 ISE 14.6 support +03/20/2012 Xilinx, Inc. 4.0 ISE 14.5 support. +12/18/2012 Xilinx, Inc. 4.0 ISE 14.4 and Vivado 2012.4 support +10/16/2012 Xilinx, Inc. 4.0 ISE 14.3 and Vivado 2012.3 support +07/25/2012 Xilinx, Inc. 4.0 ISE 14.2 and Vivado 2012.2 support +04/24/2012 Xilinx, Inc. 4.0 ISE 14.1 and Vivado 2012.1 support +01/11/2012 Xilinx, Inc. 4.0 ISE 13.4 support +10/19/2011 Xilinx, Inc. 4.0 ISE 13.3 support, Artix-7 support +06/22/2011 Xilinx, Inc 4.0 13.2 support, Virtex7, Kintex7, Virtex7 + Low Power and Kintex7 Low Power Support + AXI4-Stream interfaces, 64 bit width support. +12/02/2009 Xilinx, Inc. 3.0 11.4 support, Spartan-6L support + and Automotive Spartan6 support +09/16/2009 Xilinx, Inc. 3.0 11.3 support, Virtex-6L support +06/24/2009 Xilinx, Inc. 3.0 11.2 support +04/25/2008 Xilinx, Inc. 2.0 10.1i support +01/18/2006 Xilinx, Inc. 1.0 Introduction +================================================================================ + + +8. LEGAL DISCLAIMER + + (c) Copyright 2002 - 2013 Xilinx, Inc. All rights reserved. + + This file contains confidential and proprietary information + of Xilinx, Inc. and is protected under U.S. and + international copyright and other intellectual property + laws. + + DISCLAIMER + This disclaimer is not a license and does not grant any + rights to the materials distributed herewith. Except as + otherwise provided in a valid license issued to you by + Xilinx, and to the maximum extent permitted by applicable + law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND + WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES + AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING + BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- + INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and + (2) Xilinx shall not be liable (whether in contract or tort, + including negligence, or under any other theory of + liability) for any loss or damage of any kind or nature + related to, arising under or in connection with these + materials, including for any direct, or any indirect, + special, incidental, or consequential loss or damage + (including loss of data, profits, goodwill, or any type of + loss or damage suffered as a result of any action brought + by a third party) even if such damage or loss was + reasonably foreseeable or Xilinx had been advised of the + possibility of the same. + + CRITICAL APPLICATIONS + Xilinx products are not designed or intended to be fail- + safe, or for use in any application requiring fail-safe + performance, such as life-support or safety devices or + systems, Class III medical devices, nuclear facilities, + applications related to the deployment of airbags, or any + other applications that could lead to death, personal + injury, or severe property or environmental damage + (individually and collectively, "Critical + Applications"). Customer assumes the sole risk and + liability of any use of Xilinx products in Critical + Applications, subject only to applicable laws and + regulations governing limitations on product liability. + + THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS + PART OF THIS FILE AT ALL TIMES. + diff --git a/ipcore_dir/div_8_dot_8_nodsp/doc/div_gen_v4_0_vinfo.html b/ipcore_dir/div_8_dot_8_nodsp/doc/div_gen_v4_0_vinfo.html new file mode 100644 index 0000000..094c527 --- /dev/null +++ b/ipcore_dir/div_8_dot_8_nodsp/doc/div_gen_v4_0_vinfo.html @@ -0,0 +1,175 @@ + + +div_gen_v4_0_vinfo + + + +

+CHANGE LOG for Xilinx LogiCORE Divider Generator 4.0
+
+Release Date:  October 2, 2013 
+--------------------------------------------------------------------------------
+
+Table of Contents
+
+1.   INTRODUCTION 
+2.   DEVICE SUPPORT    
+3.   NEW FEATURE HISTORY   
+4.   RESOLVED ISSUES 
+5.   KNOWN ISSUES & LIMITATIONS 
+6.   TECHNICAL SUPPORT & FEEDBACK 
+7.   CORE RELEASE HISTORY 
+8.   LEGAL DISCLAIMER 
+
+--------------------------------------------------------------------------------
+
+
+1. INTRODUCTION
+
+  This file contains the change log for all released versions of the Xilinx 
+  LogiCORE IP Divider Generator. 
+
+  For the latest core updates, see the product page at:
+
+    www.xilinx.com/products/ipcenter/Divider.htm
+
+  For installation instructions for this release, please go to:
+
+    www.xilinx.com/ipcenter/coregen/ip_update_install_instructions.htm
+
+  For system requirements:
+
+    www.xilinx.com/ipcenter/coregen/ip_update_system_requirements.htm
+
+
+2. DEVICE SUPPORT 
+
+  2.1. ISE
+
+    The following device families are supported by the core for this release:
+
+    All Series 7 devices
+    All Virtex-6 devices
+    All Spartan-6 devices
+
+
+3. NEW FEATURE HISTORY
+
+  3.1 ISE
+ 
+  v4.0
+    - Ongoing new device support.
+    - AXI-4 Stream Interfaces replace old pinout
+    - Maximum operand and output widths increased to 64 bits. 
+
+
+4. RESOLVED ISSUES 
+
+  4.1 ISE
+
+    - N/A
+
+
+5. KNOWN ISSUES & LIMITATIONS 
+
+  The following are known issues for this core at time of release:
+
+  5.1 ISE
+    - None
+
+  - For a comprehensive listing of Known Issues for this core, please see the IP 
+    Release Notes Guide,  
+    
+    www.xilinx.com/support/documentation/user_guides/xtp025.pdf
+
+
+6. TECHNICAL SUPPORT & FEEDBACK
+
+  To obtain technical support, create a WebCase at www.xilinx.com/support.
+  Questions are routed to a team with expertise using this product.
+  Please feel free to leave feedback on this IP under the "Leave Feedback"
+  menu item in Vivado/PlanAhead.
+
+  Xilinx provides technical support for use of this product when used
+  according to the guidelines described in the core documentation, and
+  cannot guarantee timing, functionality, or support of this product for
+  designs that do not follow specified guidelines.
+
+
+7. CORE RELEASE HISTORY
+
+Date        By            Version      Description
+================================================================================
+10/02/2013  Xilinx, Inc.  4.0          ISE 14.7 support and Production support for Series 7
+06/19/2012  Xilinx, Inc.  4.0          ISE 14.6 support
+03/20/2012  Xilinx, Inc.  4.0          ISE 14.5 support. 
+12/18/2012  Xilinx, Inc.  4.0          ISE 14.4 and Vivado 2012.4 support
+10/16/2012  Xilinx, Inc.  4.0          ISE 14.3 and Vivado 2012.3 support
+07/25/2012  Xilinx, Inc.  4.0          ISE 14.2 and Vivado 2012.2 support
+04/24/2012  Xilinx, Inc.  4.0          ISE 14.1 and Vivado 2012.1 support
+01/11/2012  Xilinx, Inc.  4.0          ISE 13.4 support
+10/19/2011  Xilinx, Inc.  4.0          ISE 13.3 support, Artix-7 support
+06/22/2011  Xilinx, Inc   4.0          13.2 support, Virtex7, Kintex7, Virtex7 
+                                       Low Power and Kintex7 Low Power Support
+                                       AXI4-Stream interfaces, 64 bit width support.
+12/02/2009  Xilinx, Inc.  3.0          11.4 support, Spartan-6L support
+                                       and Automotive Spartan6 support
+09/16/2009  Xilinx, Inc.  3.0          11.3 support, Virtex-6L support
+06/24/2009  Xilinx, Inc.  3.0          11.2 support
+04/25/2008  Xilinx, Inc.  2.0          10.1i support
+01/18/2006  Xilinx, Inc.  1.0          Introduction
+================================================================================
+
+
+8. LEGAL DISCLAIMER
+
+  (c) Copyright 2002 - 2013 Xilinx, Inc. All rights reserved.
+  
+  This file contains confidential and proprietary information
+  of Xilinx, Inc. and is protected under U.S. and
+  international copyright and other intellectual property
+  laws.
+  
+  DISCLAIMER
+  This disclaimer is not a license and does not grant any
+  rights to the materials distributed herewith. Except as
+  otherwise provided in a valid license issued to you by
+  Xilinx, and to the maximum extent permitted by applicable
+  law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
+  WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
+  AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
+  BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
+  INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
+  (2) Xilinx shall not be liable (whether in contract or tort,
+  including negligence, or under any other theory of
+  liability) for any loss or damage of any kind or nature
+  related to, arising under or in connection with these
+  materials, including for any direct, or any indirect,
+  special, incidental, or consequential loss or damage
+  (including loss of data, profits, goodwill, or any type of
+  loss or damage suffered as a result of any action brought
+  by a third party) even if such damage or loss was
+  reasonably foreseeable or Xilinx had been advised of the
+  possibility of the same.
+  
+  CRITICAL APPLICATIONS
+  Xilinx products are not designed or intended to be fail-
+  safe, or for use in any application requiring fail-safe
+  performance, such as life-support or safety devices or
+  systems, Class III medical devices, nuclear facilities,
+  applications related to the deployment of airbags, or any
+  other applications that could lead to death, personal
+  injury, or severe property or environmental damage
+  (individually and collectively, "Critical
+  Applications"). Customer assumes the sole risk and
+  liability of any use of Xilinx products in Critical
+  Applications, subject only to applicable laws and
+  regulations governing limitations on product liability.
+  
+  THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
+  PART OF THIS FILE AT ALL TIMES.
+  
+
+
+ + diff --git a/ipcore_dir/div_8_dot_8_nodsp/doc/ds819_div_gen.pdf b/ipcore_dir/div_8_dot_8_nodsp/doc/ds819_div_gen.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b760cc3fadf3bf4c2d2014718f741e1d8a5bf5bd GIT binary patch literal 698989 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

@aJlH>fklghB zKF9aDh#y<8zpp8s|7Lam$JD`oX2JJ@roH!C5!)LD2R3&PIKIC*Z-TqKG%U`@Inzk5=X4-8iBq4qOs5IkIZLb9H!B?TU30GB>sEmUKP`OF6IWBw49R z#v6O@^0X0>3{vN_Nb(ue>`oHypI<*%Y0^Jl`E^(A>;pd1r zWJA^G1GHL|2;La^thMaCsqLWY$Y{@KqiM@%-NReku=;(8WX((BcR9iWWIRID81QQzx??wN0e40?radrK&q@Q0+!JHUeNO$mCg9AdCHc- zdP1oX+*!e>r{9Md$>>Ge5@Ql9E~`f1g@3hJ>wi9{#yw|2dOhl9davgqC(Q%7g(jLI z(3fR73MPB%Oc_ps2K8I<{I2IN9-QP0&0ko3vclQM2qPcS=Tl%S?g~!&F6GkD#<=5H zrQ9pdgL}m@@f}5)I-5$^WtDmjrPZMp+=Z9QZA$mpipSKy_?_8cvtJe#56Dwp=*m`& ztB*Z6UHF-=*bjftE%=*;GjM>`mtm5l9GI|nvbCu|`z7`Fr*}dM3Kto=y2&7?X@ijI zHIeb#Zxn?^LNkLG$iKXitVrX%eI~U1qQlhsgw*uCjt&oPkBHn*ztq4hou}kOM=nxU zzwHjIu}D_4f~On#1}a{pg$gMr=t&Q3EL&3CN3ZRWt)f$M43}%<*H14{b@{N?X7RW% zeX*DcynQe8F)OWtAr(PjSqeIj@pjzp#$ts6ffnL!4tkBam)}q&DfBzwQ1bpzo&NLb zqi<~_PscjVuG;oLxl|X=;KIL6+Ox~;6sX=8|CO#oA!KrnsnfOis&mp_{o^(5Ty}az zxzO}^=sEQjGB(HJO6R15>)&?^eM`^u5!6C5gtx)(M}2G3q4!nZuzek+Y%k?*ojHM2 zdvpt#^W8~&T>9&MmGu<KG}(ZGSIW`nE<^*8HtgPIF*-i3u&F7@^E#M z?#bsO#huCP))LoCao^(z`pZzV>-Ie?(rxkHxck+{wTB{$|Jj7c?Ww9|uE|*eM|z?2 z1);_X!r$aZi!DANNk5r>Nn?E_uuT5|j3T%lCnHRG+G)+6)tR)dAMsd4sh1}-^olw~ zx^up??ruM0I3gCgx30mgBSK@#a~8tSkD}0gJfpMdnl|e(oCmvSUfii_SbwM2gkH4= zSu~$>^U>>fh`Z{w(w9@^Z9CGgR}{tuaTgU3^Y5v9WwvIKsym6X2%afXCsU6ti~lrQ zT`{PQ5U@cFUW-#I`dV~lAacEZ%X7EV?X&1+N|O124|m(>@b~O&cKrFtGSB%+wpXQQ zEa-)O$7TOB=LK(fMonBW;`iy{n7Tj3f_`{?>B+`TIJvIvO&_BA>lZc8%yoiwJqpnz z`8nMEXQP=rZo~vSFnA=sP2sAaZ8z$c|90(y<`=s}KZcwEvKg9EmKgm8m4_K!n-8qj z9p5F)^DAeK$f{lPAbPY#@IY8cd$7JOK1F-{aSq` zXs{5C;~L9WZoTOo&FIt03gS@Dn)7)dmCszh*hU_H-%{^dQ8RbsGrSW|BUxxKOo0RW z2|p#YRpIzvOq!x3UPY|tb+})$b(5PY6sqQqd--Zt_39&zwUyILdDdl@huvZ}Tga-o zRbPDTzDnZs`sKvQ4y3RJ2mJuU*BB@Fkl4FhqiE6-Dln+k+aI2SkNC&!Mi^tXZn!q+~wQZW;~ze3thy*5T_)viCig}s^ZLfz2`rk z_)fRnK7#p8jpp33MyOrL zR7lopjY8EW9SsF4F(oEHRsvHgvl$Ti0ALB!oy4Yhz65}_SHYj7TH2apsW*laOCr`s&KE8K9WJj!o8S=jhxi( z-NZL*vkxNF^zU!0sSQ(dt({{GC5gF3SkvxDf6)ybu0pqFqnR{(9~tXD!F$mn|bm$JZ>C9{IRXI?l|S@v$OlYvD8|N<~(s zcV4P^r=A(X=c2C3Yn~zw<%lZhUOUfy#XP z3>r!BO8XXZrVDtrcX?XR*Bke&LOO0t@!qf_i!-v&l)N*7IBb)y_FQV8e3}ly*=?@7 zPaFd&oyRV;o=SgNz^T=lE@2%Qr>GjHyedR96=VA1&TjR57-x`L5r}`6pM80uSyX7O zi}MBS+couR+I4Ci$~CcW>vKZ>xh>32^|`ID=}MkOgZnlRq%GOaa-eeo0w^xiq( z?@@SAc-IveKonPRcj(c*macG7`9LmJ+oh1~+GXQ<1>rGdD#-Jh_iNRe4e|3e&5I=J zJ;k;}Y;~GnwKBfB>zb-PD)-XcSaHl}f-MWl@|0!1$tt!Ol(ivsYi6WF&u5ifONAXA0Z#)0 zGkHfoN~6ci+$?#OkBU>f1xWap>4_yoE=Y(y$Y|mC_LVp$+2uhoSSqJcXykdIGog|p z^c`L=>*!YYy`;x0SKE7WBQ7mfKT+q=m_gpU70iF{RkUl6d_$&Ds`tEqTzT>P5XG|M z5^mM&S*`9|o{7lIk3aY;KDasYtkYP9jieW)sahMm%p>9%3$KQFpX``wCRd(O9%=F1&8Ac)(>0CudqH z!$r(S;5NE7i8>9UwgQj!5eSgBN0M$bU(3A|H^OE1RJd;>#CPku07qJEzogN?2<@=1 z0Nu+KB4+{*XT!WAWO9$aCBH*2^ko&WrO2 zjFaxd;f55SPCeAPt~=oQHoZgM({TNAOXr2BxhTQs+oapPn!=^E^Jx;<0UJ)2L8}c6 z>o-VFglKrikd)I5w{p_-aha2>cc!^m7r#)jO@&jKU znN5T21Db?TnF>*89@ROWH>zn8P8A`(_6_Rg^LNc>t4A3!!PC@Rs?t(Ui6OA?hW4_> zWml0mT1v}-L-gBL6pVc8ewTS4X6?RU&FrWDewU0*t)?}-*MBb7X;tUNR#8o^t!S-| zAY8t~dqDf~XzFz^Zpyt1%PWRYTzMs2c=+y2JQBU~ag)#NlIJa(ho`Q-5IU9PtzzqL z*EO2AW2yW#RWZr}$MXhG`IX@{I-!)-HO}eGn5oRQbfU+-iZ9>t}922cK8A$)HQmmg&_(qbO3*yM_4K$^NC$OGQ80WWq|% zmg~hr^NBA}tjh&~vp#5c4k*aQC0Q76%n>R@n!izmhKbOeqa#{@UGjTe zNq08DeE0ekWTDag%XNXkozkd>I-UcSUW;OisT_=3$z0P)qae zswhZ_kG69^$=>|;Yn*0oU_p7+e9A(-?dCg^CSzLmSHd7pYSMScC$F9s?&lf4>lkr% z%w)4bodr0CyB4Yca6|Bz`0bH>;hNm5H6Z z+E{3m6;6cdbR_Z>@39ZVFF)0oS5jPyV{PP$Gn&{|sfKJQ>$oU)v$WcjbU!psVlTExPAtn&o^qU19(GoCVrkVa=`N>Y znwJ@_%KntAS(&1kO1BbMTmdQ8XKvNqWGmkgF8G)_c!N-qd3j5wk%Cb&QhJN=i!k!r zZ9-P|xDu(&lk0EQi2d!hxzI{6L z<`;1SzFbF+;WJiI9az4;5867P&sxLgqyA(dJv^YSpT!OL0kiTh?qXmxiVti==kp}{ zDaTIL8);gK7gSwK)bFU1E)^={D=^Z%mrH-bSVt)5;<>_>9YXZv7MNDnk)$w~`U9Ej zYD)t1r9c+ws@yB0VtnhI*besC^D&Q7`1MlKJ)$Z?E(9`?3GIvXaqjazxE@!c7+bFR z9vRhY!6}M=#uXeL6Xo6|e$s_J!8iq4u&yz^oRebO$acTj`pnu^_;h_A<@7u& zYW%LKd+fS-X#=0r1>{Ksoh~&YSg*7R!H6T{?KdJMC>gG2%9Tm&`H(&`4F^Zn68?lU z<>~K;GbU7M49={_j^94Zqo7K1HX1+T>YOQ&J)evb^*dVum_sZuwz04=0NUw@*r17WFc8KNEug9KBHt$@q&91=96!hB0 zfk>okwO`ZBdQ?xS=5Ld3n;ju>+t6kj@B0tNMyj^k_^$0SixR`_I^18`S80mZ!w+5}9*-Xz+DlpKp`Ze(?Fos0VS_%m@5ixpa1 zXiuT$!D_DPH8?C>EuA#OE*ZCD1CKQz3QY;wG|V*x)cW|wDdDCIY4ziSJ)bTGCM-VH zUSZD2O{YOYoY%RcLk@t~5N@#*F9_2$#T7fW+ZcA`gpxSi3R7Q`bYm;76fUlbv%B4q zcu5;tb9%r&IA=FVJTMaaH0=v>^bLkn(C?R8Qmp$ffNn@BDNt%}+v{4$d2*-!F!q$L zW_z^oVSL8H;B)xoQ5Y-Kuiw%-b z)6s^b`okRLIb4=c!|wTMjB6$KSXxdud*64en;RtPrz`EK2Rc`gDAJa?UWk1`r}s!z z=2n-J$>oe10R_{O&k{$G;1TB}VPjDo+v_jlBr%=86!H$dYUWqdIXzWcN{~>~M(uA& zQe!5h6|;IjvjvKi=n!f;60Z~$MdjH|a5+yqhTvtlGSlVG(VE=mH6jF6yZHABFFY6R z3UOl4+co1PBU@Gm`#roqg=DGQde7+ZX`bm7JDodrH9INpos?OfBgu1^`_sO0VqYdT z1zIkY^DVCXFULXIA9OTc36uKanstt(2dbvFr(LLd$x(B`SjoUG>&(mbP^Kqz^d-s+ z#JnN@Bsi-)M~=X9a7IjQ9sLz0teadzF=T#Rio*Udj~ zV61CXHGho2?X*L!?zb1&!Qy9-dmV1#R@@Lll&WxNg6l*MnR%jVX>{PwSx|$&arx*IY@y3TUh;Fj?E5Yg8HR&)AV24v@rKNsP*i)-H*v=P%qOn`cp~ zQ%WN}`7V%ol2!qEa!8deM5q0|(<`K+AEnNxpfAQr)3jWON%;~*p;N@cs$Wu*X5>Oc zQYEh0v9$H^p0_B`={=c|3v0ObEk&m4oFIo$z`De|xkZ}Etx-@C zo#)hQPL+6P$~adQO7L?+@)nMJ%0NB8cC$^T1Me8b{V7FGKa-o1dKo2=3(UP%dXHiB zoM>Wdh4RM>H&M2$2~Jzpm5Oh(iUQcqflzz5r}w=s$L!RxM(#;2&yeDM)ZSIwZ!E=Y zE~ZVWl^(#O2rTqDQGZI-nR=77VeDLKHQ^Lb@5> zh4bvW({+Er6sbZ2yV*L3e|d;w4WGkKNkY`JhQnOtl;dX43(mdqt*_5!^yH9A`wa^9 z=Vv}8a`iKX4=LNTTf4X)6~8fJ^4KK zy~=arR@9kVZ>fO!BxLBc!zcW!0@)#wo&h6}EKg07@DN!yu4(QvLE*Oj6*m`aC9-v9K7g1p!z z?Xp%L1SdGF63OtkHxFh+8PC96)) z=Ca7~?#opUzOz<`yf91Jgxos@z5u9XGlc>KS>;Mc2nb06{P;o!s z?S6XMJDSyAR!5vuhe4hhsk}wT^_eeL1K&(jyUkZzmPZ~+lF{-p_JFMLbKBLFn*WEf zcL>&niP|jhJ+^(1ZQHi3_t>^=+qP}nwr$(2ui_tcR7XX0=Qt-h$;f>6-fPLnED9~j z2T_I@f#DylhToZQ^}?^R9Vl|lz$hr`J1FCW{UzKC9+m6;oy~4XOr1=f(fnfjI*}2* zeJ=Y}LmibEUnX{2dF020E~P0oZZn&{R^?VRx|Kj&8w|YUFhdP2f>~SA(+mbMdT9vD zLX6?U0cHy-&8W*4LnPxFkCVn^{ki)Sqp1~U5h~5N%f~wi;}gyhf@O0o_t!*I%1g^t zP}1eC0WA>Yb`TpRIyU;lq9L`V>ng;kY6ltE{lj~IZg2OZ4y!i!rJhlGBZ>|sb&?s| z;?7QqaIE&&4O!CSt6{Jfnb#-T)UY!_OlBFrjl_`BGI=+YmQI-%fSUF0WmR1VlZoi~Tavnwkl)#43}1`}MJGs5JeM7ni6YLbFqn^Fp-%AFU@ z&Zm@a7{WeTKc?n7wgX1nt$;2LsaiE^peBh}5Rlb;DWcHArXN<7p9d(xHcI z_-LqBRFG!0%-TtoXK2ldoVbC+Hu23vvS#p4-OEGLe=thgQ_P;MN~z{7t*1FN0u!)#F*J)Jmm%ein)H;H7rr8o%z zqC4xO=+-bkk-SomxpaO*Q=-2SK9Q8pjr<8|(?C3pI8ax;avnkxVz!a_SP;)W|LJH^ zP&I{~NGpBXaEPQmXXE%-kjm~LWAQAsnm&nUkh^SNLIbSSRxXKfIBRm3pRh{qSk2%% zPU}edR#0p_gF5>_Fe8i{Hoh~AUb9St z4}D{Y_K*M!=}u)o?E#)m_OUJfXt*3clFPA4_?a2*9M4*I+*movhsw zKLKO@@ZW69Po6$WXJgXV12k^JN$Pfkrc8OgW^VzHlcrzNG8nW_fSft2h$%IiM+xZd z@=mphg>puv0I>TM~iw?yYqRN)0WWhuJd6CyhZ_<7@|Eo69Vf)boK8 z1y`11hjpQd+J5h7p)WDKFW5>?i76ld;i|YVuq|DDECB68i}Zub=?%H-1(?w@Hd+_y z+qt59jN66%tk&&`?ck29{v|!DyKsc=><4R6XD`DF_k&LR2>oX7U+YVFX7~Qc?7KhZ zZajL172=0b_!l*vSF#$PWaH|>TRO9RJg36~vQ&UiD&3tKLM4UCLi-psH?;itjts6)33~c zuN*-xe-n&8VHBBy19+*9(iBt3H=q5Bt;CIC1XTbwygg*l=E&PB@o&`ruj|s=YMW2) z5)?)9B)Pr%y6CZ5&{GuJuUgxk7`1Qe*vX$%nN5bVEx{+XwhgiIUnZv?&mw!|S`)kl zg5+3}E}5a6{%Bsw@7cZ4UBcGYdMP@4$x;i2x+X|dQ~J)>r5~od$J%|{)pmu8JT(~y4fGLuy;h08HAAmb!<~1kWNv1C79j8 z``cf3z~~K==SV4{Pz zphBf&;>SEGx%k<*n!lC@v2uO0$xHB1Z+`=7yu=TAR5S3qY&PDaBe(49k#dvXl|#V2 zfx4*k=tK&n3VeV^t1;kZu1NOG{z&uHVng9~iTD)<)(g#uw5hZ>}?xn>*z zK)=WYx`_@s380daiwguqGz|wBWG?pyu3O!NS=9RXMd<}mz?!;7OAM;#2gP{x6C^qh zcR*rCe-^m%u0S`i4WDUc-$QhC^h|M8P46WW$ZrzcK{qgsr(|WnL%cY}ZUI*r{j|GH%861W3#7cY~bHRdTfwiUa@7 zQ>%v+tsM-sCKrL86WK^@z&<5}8kGIJ%#7#c`e4^QZJF8?z`r|X-7&}-WPJim&27+q zuxojSFRvE#C2?w}f66${+Nv&@P1`4}anrpz9=1~_$rULNHcNdk1G1ZOP9WQC`K%+; z0XwcSzX|kH+G)8@_xvbNw6(%&y5BlePlnMtjyGF#`3y4}Q@LF=xK^{v_#vvl)ageZ zSyfqI6cr3LUj>b_#0HDA+S0ECxBMcaV2b=9kGge2aeWN4L+sbFg-fyOwSj@=GB9C- zblkYx#0*uEhBWyrKg*krYcYX^{Mh-+U8WSB+gwl}Z(|r*pbHg6eUd0tx*hJ$ zG$AzY%K~Xmx>Mu~r?E8ofgLWqX*f=5R_l2x>Eo217V{2mgI7+VgZ9{A3y#gsfiBh; z6TnOXv@*|ugXNGyKyAI{*j>rTT--b3Ng1)aYtlG7$`lmGaguQd^Fs=7t(06EVRa&D z)dJD+?w7sInC%+EQiJJT@uI9cwMB8cEKrJ7C#hxPBl|kS(kaJ)8yDYg+*R4+c+zT- zDe5je8(V3UYrvbVa?cqA5I!`$FXXJ#l<1`pB;sh=B*{r@as$;nJ$D118Lq{lbZ>n`n{HmTKo45)U%wreD}iQ?9n z5ET1vi7(qXYonNE#>tiZN!t{ZZdyxq`$>IY!|W7F+P^w z34`KLBjDgJ8`YnYvD=5f)yz*jUIDVx$P)wII|hw2rQyE$d9+H>NS+o08Yb5P8)SSLCm zsw->Ry6jsJacgLP*;3~gpIzQbWL!!2dU~mlSo8Io_M0kv1{LO^mlfhi4rF6+2NV9x zu;d$*$TzB(3OOeufD$H*?*u$t3Rw|r^1~D68;gL>Fd&-%|H_?}zlvyrW%@~e)B7=O zOK?w3sA-P~9)v(%)jxnj`lL9(=QXqHw+xXfy3~i{L0?=gaDhVkny}D|qvFF(u^i~m zlOS?v^QTUY>4do88EIk{uD0iG#?n6otp>lo0B@|??}pgm1?gfJj@Os>NB&XQGT)I{ z^ObCpO3wzV#S`+n7QEMo^QZpew<_dj?`&A2peKP=c0h-&<~N?>9Rid}Tv+6g9xe-E z&l4&~ug)gsgD3gz574o+rauz`)TiAOPk3)pxlPJDP54f6og!8$lQ0-*tbzq*sji|G z+vGRWscnK6!Ehu#yxwH$-}57(7fd(29V-=U{q_^+F{$gNI4(aEgd17&Q*X6 zb3*yWUv+K2M#Hpa5%b*uKAoUmw|P%i`(%)rm;MVNZH&PzTFGC*oU8dz~EMdGKuNzpttj9Twr+nV{rcOVffA{&GbxccdE zIi6*@DrrmzF~aTSGuH@T*u$~(Uf^U~ftnhh+H6duN z^WQbLyah6FqC6766s5i8|0}znaDyzf#V=@azXmjMVO(o-k3$MbMD-bPXO&{8~5gnNjr9Tc(ZRPD#euv42Ci!X{{ zRyO@aD1@pPN2gY*uMb4R#LFSB8!iCyuP`^T4VqbH%kxf2T_g`#{?Oqe2BT7P32h2R z&5x9$KJ5(Im|YQuv&Do>Kxw4qcL|Jm@Vh?>GXwwQDLE9*B{h^p#I3lu=LkR3)cGEgXeGd?PxaHl63K_#Ds3ExUg z6%5IWYxfTECA+C52`dN+QxHaU7PR3-R%If5ha`KwJdnaU&m< z78pIc=gjtdu?}@|b#?b;B6s~r%jZHhOfS3FK-nK7sI8qeJZ60+wC3D&Z#NQW``1hi5))C~h%SF`s6VoQMt7Ivyl~o4J%B(7T+j5PhxC zZW5eIjmz{NM1Xxhu#x+#JWxjYL@pRf9Z?d4sj0mh!|bf0vO_)*M)*3W7)cEo5_(}H z?Fgr0slu>J{t;I7EG`*I3@wVeEX7c5S7xGy`WkH&D=r#a)GQ8Fn@gZcRH6!>v=EWy zOXE(IuuXJMQy|Fdb*_o84tbko5E*>r#L9Cdn9aIkByYr%Q85C1d?ZWIoHi-#c^4Px zoMDtWgRtyW0Rt8>=Yp#-RiH%6YZRXiwq0cJh6x&g-gtLk%v`!A zn7&eMGSQIO{s>t8>5iP6Fn^Mv;ZT+2n-sF9eHklIWQ*T3wz{RRSCs26_cIiE(?GLy z92+GC)-Db}Kkr_g`o#JwiHbVDH^p5yS&W5+YvTtpJ+r~_)a~Cz8L!8Fo-*E`d8wZv zn?2_b+^J@`ot(M^;>tMA;n40JXEPUkkbYVn&aP^DiM$S3D~bqL8r1#o z^}peu;F+x?1~^V9X}xqvq$I)0={>ngx;_qg=Cq9B{9ux@Tumkwk!6MSa8C`9uM9N6rHNBAcG) zV=V#x6D&Q@p&`E|Y<{p%0`{P92Yzbpuar5o`bd8ca5cA!pV4)5Ii|^7U8kZ z^S-55I#g7r6IMbwWn)61?W4(>H0SlC*;^W&Y9|xz3|gyX6C3h6*Y?S(NdhnLL7yo^O`cp^_0JscY8{2ZCKD|0$g zz$J(*k%Aic?O|1picDT=#; zmTs*T{Kz9e{2r*KEINcub=&w1J&4o9YsXN+I=k{*}+^v>}!bfr5EF)P6r zd#Zo!>c8hVd-r4L{P+*?6?LRfMww*cOMGRpvw%l!IQvWn{$O+Q`-1{u7sk=1d?CT+ z4j0NY_80jZk#@riL1S==A^~8&Ig)IInOv|762%FluLa(?C1a4B(5HQ1;+_$VMJOl* zM*o_i8}0O8kkbMY+f~(NPtEwxKp40r zTulFrF3eYZID`kw4$fbwHn2mRh#^!a&eiM%0y$LW{Y8Ne4O=4x?JDlqN3%vBgQicK z6*gjz!RJSivPGKv2Zdu2=90q;uGr2@?vDV|{}*Jt?~V=RJ*#As85-6;&Z1Rsuq)}_aqb^2l!R#jP&DBk5;79-xl>a+HR*{T)& z|ERpig=ZDRHyGq~Kp$)MTp`#tDVl|G&Yl=VJ`<(i!lJuR{mgN(5$06GsgVSt!{Us% z1xVn}pFF`bOyd9Mn4z9?LzSs#^fB23apK1tV`UnI{f)6fUBix|gor5=h9P=|vkK_{8WHzDrD^?}Mn$+AC(ED9n$;3SQ<>))-2bP`oKER+V*7 z%1LvHk3#mp0t{&nMM(%=mM*KRy7)(=Q4;AfWQ|`B>;PHFA(`+MH#bBib|EO5+I8U0 zB)RSn0A*zNW&2E+87m8M>J=NxKY$nArJ#6{0Ut81krhrul|u`NLIes@;}f?IEoG%) zqQ~omo5h<)%PeS9PW$`7Z5+jO;Qm7n(}}l;S5Fot2a{n~gN(GTJE9hgzIUqaYYFQT zWF#K`gK}B84jYnb+|Celd;E?j5C<8IpF~XYN$#GVVv1=VmF&S$E`mTZHDb>tpgvku zFMDolZk?pysZku9O57A?_zsf8McT!(;4Y<6*fc*`A?L0k{0~Dl((st5t4{Q2C*g+N z`nlmlNml>LdyF$C?Z=zxYbUIG!C#+eu{d7_YaGKr3K8ydo`J)E0hho735^B;J zPPhhAx_P`etpfmQml`sNyhNA*Ka4A&jXZ2I;7uE)Q@CCO1#;()8&TioW>?Et`yofIGo(c${-HMLp5zZ-HT8c53Z<;?EVd4}Y7KeD z;cv73Gx}5A*^ra1H7W43);(tfZOW2|EPk@Z=6HzDw*I zRoT?af{VjvcD(C{{&Ln&bflOzS=cK9|B}Z9DR{HNLmKsJ1G$^;#K3TBMBu6Jqmk%! z#pO;J2Wb~9535O^#Z85hp9CPa>G&Txj3x#{a0*rnG+|HTM?j^{1Q4}m4{sZWlB8fa zoodIMF18Gl;nC8+xf@fAciXR$reQO+Yx`R*1`I_Y(2BmZnocBcvCSutLS^dJ(6v!oDdNPHAX~-bMGGrbn8A8MTT`Bp%GOPo7q#)6E!PL@H}s$Ez1#UctE(4}~20 zyQrKr`6B3eOT1u_nhpVmHjiXaJ8QaZhK09vo{x)|GLfnD$U^L@2z{y$Cr=O#e2@z4NTA4~CuGfE7KMa3c8l6Cp$_kvf}% z_j*L`&EFY?hrnoFfOAxW-~#wbah4Cgisx*F5xTDU!@ z!m-!cdGE9}u_etm%IyGln%bqNXs8~oDC}bwpqp#_YSCy48XQhW&rmm*rk>1|-p z-WDePi4IM7i{fxYm}lmKbqr+R6@_jm(%_A+&%=%s|AaK>AdwMRz$a~1FnH-piLs{E z6B!)&2@C_;P!`1zPG*&Sd68OB_{%dcBDABkr14*Sd>(_Jg>})vO-^{I^O9OPh?J*q z#M!UuXw?pu)*`jf$hLO}6tn;(HUy}$ph{lco-7EEMA+@sRra;bZYz(V--432tgD<{ zZ0G+h=;x_kdRL}P7eMvvfwzz4Gj3w`XBHnN2M(*T9cIX^%J4zB^0w+++6K%&X@m%C z#@a=ZjB;i6BjLUlV#1O+{b+cg^-)VKe?=5klQ3p6Ye*~UgTV?EW@UI1l_*lk5@CCa zklmx9H1beXmaJ%@Ptgrtt~idYaD>PrDwb`^Z0x^+KLY*LA~{ys78tOPyz zV3+k&3tpX9sI*M{E!YkBp>?GKRAre?CmPjSyQ7DKc^T%-%cS41=MrJEGELQcn)(Nz zN}g_h+nDpnV+YN9`Pva!W~dD0ILroNp{Yj2dRnyxD2Fmu zRTe^vIb=Whw1$~wjGmaVXvcDQ{KQI1L=OvS^5zE0x;N6BUvOyBfZ+_0G-19;1nAYMxYxrymZ&tpJu%K=M)jpIbIn0C)@JYs8>t0e{c zwsRe7Xc*^H(scC3f?qYE3z6-iMCMw3xp8E)=2sF)jOK)2@v1bZX@f-KChNPgQdHVQ zQh8LyhM&2ze-fwz5cwv*29O1ag_1m8@Q5EIWk);<|G*zDFm*4PVg%Shbp`FG z9iCNOS{>a*n}~xMj8zJHa08ns8$7F=qne&lmNe%&!mgz-rb~6;{?7N@&JWCuzr>v` zfUxHZrc|>sArQ?gfbIm}c!@3TOO2#uw?$Rtj8jHF8qd|EcTQF(WwFO{_oPSHrrVPF zOw(E1EUc$NZsiH>yfXUcHS?kMgF3&+zQWBC~-c8SBT~7^dFCFi@B3}34SinM{^-l~PnGUL}Zpv!TDq2nf zd`)H|k44oWZ1YfOPKKNR6|dN#Tz&9AgBr12piOlxjECdSniRK{EqBQw+p=IPlbeLh zt1!bJ?xS+=82hiF?e_fxHLokhtV{7k8sjM?;F=xNz{7v$rh9J?7$RScsrYbL$MK6^)Z z?-~o!ra=a9IqD3KW8r1UkN^fU9fqJMof5hjVQS zlw}s-NCb~C;9H&GRIRzSP-Uc)8NGr(s}}SNK?HC;nio#1n*2qh7C{LDlbed zBwC};>OGR!c~4ON(+vk{MZ7!%+b9Ia7Jwn&%{*{8Im+H6wt7HAKk~2!y^-=DbWt^<`1J2B>H?g|N+X z^+*;9D`IC>8g#^LXc}BXbGOng5p&Ad8uN3AsYbOhJ4UI!m0tsrl8xL7BW-OYIV_M& zy_}6b4ZsZxInzTF)M(o(bH>&8Nples*&K)+ zGJzsuLYMwYqpF4+>xz=GaQXv*Fn$-U4NP}5K7klrWxv)XE=##pM-V6(U#TLGGQJ;8 z)PQMP=AM(CG^`I`fr4#`TD25LD~8LI&N?W_Vy74%%qTg=DCr|ay}?F=qqk2^Dy(9p zuo$e!&!KSADNkN%tZ?zOsFdNEz_5kFFZ*-6RM4Q>te2xQ_1)1Pk*ToZmB>pUUTG;Zs1zGqG8@dSoBJI3Sz8f6q})4L2M*D z^cAD6sTj|J(+hqkpoB68BWoIIMKG=60&-LzG+lngll?E?fhNvSxSfAl5vF5$KUTy- z)#TRv06~7u17{cuecB{}xD~@A{?vqIKZgL%0gqfr>_hJ4~RJW zAu*bcT{MRKCSqeIhkbsUQI@0pm|$236bImxtvx7_9xuxOIJeBShwv(lRgH%H81$$~ zf>1CX1N)vp^^^;bjQ>=F8H8|yG_&z($tkDlJFz<{?;aB{RF4<{I3Sz>_wOZf1w#N) z&HW>H0ocinv=Vr%ybud_Z8^jbxZ>Kn5pLTc68e$=0pJw`uGPB4wq_yC$tcw0sXDV5 zijzDWRm*Ga4OxR~oB^$pZSvC~5l`v*5T{BjyzKRIBCbaBQ}pYFtUzh@w>qKMb_2vL zlf8F>t~L6}NK!^q17tMJrgmN}S~K)gkMp@Q8;oZWziEMo6otT&Ia>;JhiBn(ys~KL z>h?UPMli0wLHJ3ZGBk91=HY9p;!{}IK8anbrM`$ zHP~i282WRPuONr9=Bxe=PC3EHc9d7knzUy}wn*)xG2R>s@p_LU%W0B@RzJ${^&X`b z=+Ip0AJTFhIk*Deho*7bf@NA8j_?)0p}B_I20^g*YYL01Cwf#i>*hw$aO=nFhPN0k z`Vu~^Xh5+(5p+X`48_Ip|FP;aS@bD?QuCB6d4e_C)J1~f{WZWCJCujzubyR2sHiIq zx6EiNn}mmPo|yaZY=5GCAdnhbD$gt{dde{2oeU+}Mqm;C)Zq;TnO#q;WEjwtod8c~ zElk;OW3x{AnBj8sZF!|=`#5~uk+M0eWVHzg;CSW9^j4DG@JZNi8Ku-XK6W2`Pj3A8 z39w28=5-xSe64Bt*Bx0r`QX*+(z^)J9EO;Sc^AZ0)38ZX?OGAb^=$U9bC*zX$5Ir> zskk$yWwWBT87ubNWQpw7Q+n)J4BLKA^=9KEMy$$xsX$B&;IgqV6vJ#l71-jk%IJbk zdvg~VgWx=5t_7!Y5mpSVDVht~Lc?K071@GSzho{2t??0N4wIfY8?=cqBvYs79|l<> zgTUAy1{o^tX4!o&fcHg!_o0vXgNXO8fcMRS_i2y!3z_>Sk^4oF`(d8@gPHrTk^5c4 z<@)&n4i*YD*dIS%fA5(e&PG-`u=r|fa*8Wl@Cc7LjE06sM^jrhvbw^?+S=mk^7;Y~ z7aM~-uKaPt?C6p+eM|>6tk|wtP2k+*zb_L|WEOJlCXi$#vg`!Rzu17Y`lxj+``X~@ z?EQFj-gru<)AM|>ZQJ{p^V)OkxbxeN_trK08$kC}K=+eC_uWAE8&UgJQTvlo``uCd z8)ExaV*8U~``u#u8*}?rbNiEX``vT<>yP)9kM|Rg_g#Bgz5A2B`~4rAC6Mo{@IN36-*@Bxuu6J=GJC%}dw)ZHze;_7QhmQ$ zeSc$rziNMHe|@=qiziZc-|(Vw8I53vD}fi8_S@gz!5im4fmuSV;II>@Q^}dghheKo z|J$Xz>iZw_wJNb#`Tq*y`Tyk_U}oW9_&=RTLjMnw&1@$~4O$&}wPgmw1Pn3Ih;xn9 z1ofavn{NCnJ-d7L%ktW{8zWfjALt=;~7EVJOH#l@>p1tI6rrP*AekNZ} zq1B1X?hUk=Z^dde-S)$upg)3sS-Td0s=q#4r?;3}SK~^?Lc}V^cH_3V;B1Pt{M)?A zF)cc!oXy=3Yt`N8(LgPeRIXOYR^5Jpddj$T&J*f{bL32N@AM4y>^<$?{xogw)vVnq zXo2FG;iX(L_0_8jgTBc2&0rMvGqBBlf`UoyI_}SzQkUt)fvM(vUlTkf{%nB9vmV=~ z5e5Kx=!VQ76#6sN?`?wy6bs+rzO;u?Vi)x%Cjx=tZ=Y(Fhk}BEv0^3FA;yHI;liG` z_5Fc9V_uMA7GvqVAH~`nmTg)vZ_%%JjKq23USc*`e z1BcT7gwkRYP=sD?iQI)=RgT}OCk=Inuc6#eG7QHU-QP&HT)WJoTotCxOr!jl)kHC_ z_ogzGX72Ozv#5y=W+2rDZ%CX8|27-&&W=+$JMexM`vY#zD;;_cuFv}>RUyfv z0RYCb2&F6gJ0DLBcgh%-+X2)byA>)>=GYvqhRPZTO!_=SrjNE}ihQx>%&5Q(_=0ru zV{4l2jh2AI>a`n_Zhv)CeJfsVYwNF^+s&pnx2tG>?xgJftlqFYdp?1NUCvwKAH^kA zmJkFGhnO1XNGJQz!Q`=(ziJdtMI*GXa1M~J1&zkRIvbd;cPLihT`feSo*|;~)xf)G ze=Ih$IMBaJs2i^VvORZt3@2yJ30~mH{aa-?P&;L44}x{!ld`xz8c%NZUF(r!WJU8U zjZS21f3GmzEHittbFh(G$yL#CPw4=yw7Ml9LPhb?#UFf4{U129J74K z*3S0Af^2Vn#qSMr9q!V;#i1i#2KPGWU^jP!Xnjg}xw@Bu)T9v%4dB%Gt5hVQB+4NG zyuv@~X=tW$Bhptm$_u~ZS=?{ZfED-aM50bOweiv!YaUlEV8pWb8sEMoSEW>OP?4+b z?YKV)_Pb5?(Y%;ZI08dJLkHLQ|)$ zA6GhKse#9`r}M)P%LOPR+t_3i?Y75$0h*v~FtD|YtWN(>qy8S#$yd)Di=fk_(8D3m z)db-B>CN>*`Q-b(fn{X1+&NUs=!3GM!PQvXUJK8k<+Jp{66x?FG)Dd`NFVz0Sal(q zy2ti87_B|;dyDDSQ`ZR*Q0f?MMha?vslT5b_R;e!6ZvLA+n?g{V|RPd?Y|7cJJoHqQ~ zvu{FEQi$%hW4H-io|SYTONveV``-I~DK~7r^Z_!oY}oc$H5$WPj%&L_eaxmDegyV@N25$~q{? zM9s)#(wV?MUEqjOMQodqZ972t(6X*^uPEkXUtwn|{rWlhUUliF-eL*|90@iS`M^SKP`SuAtnV z!Q(dG8vAM05T3}Qscj3M>~L<(;3EGJa5dqePC0T%R51rTa6NazE-YTuQ0j=zNA2j9i`cnWr<7?yoY>{vUWkPwT4I$Y8Hy-f%Fy5b%%felJlP#Qa|}z8_pkg=fA?G@SmvJ2 zo=7^&nrNsVM9chmzhWXh2y6g#)zE}MTCf0y6JBE;66LKB8i+)-k4ygF2rP2CJq6_A zkVy?v$JZKan45I=-rT6ec6qirM+7g#HBvixw!?pnSieS5?nOKEt5r54MA&5ccPZ+h zaGANhr-dljzMv>chz#Zl*j|yS4*A&52Jl3dRi9Aml_z}mk^}dA`B=4H_s?qyO||0yhjoeb+u&6<%>*Q$^f%k9TfJ29eQGiIiA{LR_@ko*q;(S8+cuymWN8 zi#`R_ZfKcv*PMU!BEf*>59vL`-{y)#1}9-v?MpBCgo}6Mx-c+PwRO)(c;N;Y8Ty?Etxnn!P88#s2a85H!NS>nL26kS4yg+kHMlv#% zmoi0)$pE|f-P6A#(g=1)8L<}o>O&K7NCyY11r&=|kx=L>^!J-!N#`#1qiSJJT+2ZT z2qpAKu0MFHk)+Gvh9`CB&xl(-HHiMk1K;0+-6rxA(vVf>VqkL4^8A|= zY$y05g(J767fGHa>f_PtSLCCD&qp1|CJb?`7>svP?SP;b4H= zQ$AeQ&l~~M=O?Nx=z8Xiw!vzZ1a7zgo@hdBQU8r3|MNBZgWk8rk;ZM6D4kz&HXfx~ z_E~M$C-^vIF)@g+HHBJb)VosZg;yrR0mN|?vvW$19g^GKbiDGnJ?sE`qYt_?+nQqG zGB*Gso1c7;4Lonl)HK0?1@%}P}Mz>Xa)Au0@qJ4JmY;y(@jnUu1H2$wn>B^@) ziik;YH(EX}=g+Ri9OE3UEfe>{ay!Z7rSVKrC$uk8&PwRh@o0iePLD z_C~L(2z2F&fI)R7kgu`jNd;(xIqVNF0-}f0=08@uks{Zp-3DUjZfaQAH-#6^d}%F?kWyjFsn@l zt$q#k#I$HC924Np^ku{o4MwW$3CnaNFC#bQ6ule88xjnt(mkGXi6$Sq#kj$Vdv^$5+{j#r6mw zj~bKBHe0yctvKH8AI3)Fz$q;{F2oPP86L7XG~VOARw=X1mxK2`+rl)c*Ur|!Ami6S zZ$xbe_A@LriaaMoyHPrPIYj^9(-YC@Gym}#X6G~#b1*xP`_qrH%XZ-5u69j=*)Q>t zXa@>)Q(~)Q+N^jD(#ksEyb;+w^Lj)ep)sKN`L?qt0CrFNIP0JGYM>b0H9(YN-*q9- zWERa7eq}-cAAmgY&Jk$VawQtDhMVPk>Fw%)*C+5N*~t4?+fEri_k=!EJO!yI)S3_` zP!73j_@q(iIfyjhp}Q?Os6G>xiGPviX;e;n8<)7w~9ztURvJ@{aL){n7TP_)4~;AMrH`%7(2(uysqAGU zvASt+=VH!!*gZ4<)C8`@HUREYw}s}ocp~2&=XZa7PgK3o`@5|4WJff22r8YLM#6#;>{hCp}E~|HY4jyD&RkkP(DsdjWqb8^XYD z{-tGDK@mpg!6d0`(n6ToiEiEsBZ6-%{O<--I%4lZvj28!!Zz@Z%XDkPc`*6Y-)yLN+vg(b$5%Xy_DnbSOEAd z*|hHaz2U*Dz1Ce_(nYbtT~L4LYiWx6ajfd-YAfq%Yv{e4qI>$}zl$tmlnU!%>QL!X z(ecszi7s&J-2FuO@oQ@+X=!R`3&!z<+ELp>_2p|IOZl-5!_h!hGWSZ`k#qcnMtnj_ zPC{-vT5nus8m0jl8eU)_vWkTQ6&|U)>50-<$ZY1Xp9w`p4*dP zKNz-#wx+f%r4849cm|k@?&>R_W{%(YjVosSmuH}02b>qHEr>!8aWvl?!XrX%4SvrflT?~v zAn9k03qpKO8^}}vT9eHUy6H>WBL|f}NAv(wHyAQ+d0r1_C=l(C;BPahCKO|zP&cv# z%bl(pwH}QJKMm2NR9@!?_nWyMoD+JM%30`kzudcgiY-82Vb)&^i`^E0pGPD#*@%kG z&M5TP?3i(`!m=OSB;maIF451JO#wb1!2|h89?V!jZ%`fvRtP60eDCmYy%ybWN3%2g zh{09B+1wnc8onyC^6{id>^>+|KN7tq?W710Obe?2Iwz{L)kDPkycy$va}OZe$INz$ zx1e-sqR9GTUm11Ys-q-^a1G zIiP`vUh>Y+-3NAcpt}gDc=(mDBl0M&0q7k8Vmw1~AWT?&p}+CIAm?^Ed%o>=hYr1U z<>kmgXuhuelr+b6(1Y3-^>;{azfTBJdk+skTg?XPF}`kQjzWVfL~r`1hCge3TX?@j z0pOLi??1jY$F)F=XUS% z+c?5|sHbtPhOz2iAN!#$dyL~aVBIk768`j(J zFB2+%f1!RHaV&z?K4e^VLq+dhAezDMq* zjq96Z_%eC%mOi=AlYK9L3;!aSz__v^YY9`UF>3FBt`$utN7|DvFuqN=woms`l(}YM zsP$yarA1dpCqBsb^@|yAc>Q#I#VOm*p3FXf$-a7oyl`g%P`F$MLYwF4O-55#jH?K~; zl$Axfykr%0MXl|)Z=L(}>4WCCZQ9QlXv0aD{O2uhALw7`?Q>0Bsmi+c+d22;{1FkO z7CpEYBvOpG<8Sl|n-dz_TDbb!%2voIjA2#Z@9zDv-AeAvc{`!V*gsbi-EbxQh3{kI zJYaM97G!bLX&yiJiMR^B*MSL86 zYOY^S)as19aT6crfNQi}dw1Wh3jCPZXJ;mw@ig$<=ckK)boV=Zc+4u@+9@Az4)jgf zBZ!}IYu3EcZ$qCvl@~=ncC;Le7`%DEWsqP;o;*0A{(3xTy@`1==23XfvlVP7>0(=u zDh)Pq*ujKF3Hs+rew8-s@KK9a;x=D4N21Nwu7&PIEZo46o;?w>vest!l+rRCf|y?K z*ODE{GZg!%PfruZy&0*ZMG#z#xPv+Qi_=zA>UpXSqu0Y)j!$VW&z{enQ?Z_b z0Hy0~@iFq8K}UP|#e^Js46TVS+S+5~y*oCi>q^jwRU+Qj*XP)~`yJfZduYql0-CqY zH$Euir+Ks}=5F%c+MSgVlWD-6cb*JNo^$w2 z*ym^6ngSzc_ehT}r=R=AS#$VyFd?`8#(mbA(F4__ZJNkhP`j>1PR$wyJ8O+s@4Y;6P|+Wm|vXF z%qI;ALf@9y$N5_uNo765R+@8ld$RN3Gc^Y%4cPjOfQaY+EPsD+6#Yhz zPup|bc;kA_cLu+-?c5N%;;d^&%dtg6mJupvu8d`0T26qF7Nvbk>=#;+Uv=nMnrI$F zo&Z^YfYF#Z*|~mPhnhPp{LDK}zhyfgPb}Y1`y(=Sp~ygEvVVI zzF#mUAkR^f3ZX2XU*Wcb8?X1yPxZ|YDL9puQ`yyL!}!}bH=XOZYvb2&&Y|)1sYiP) zxb>mqA(N0gIsZ6G{Vek2g1vyEk$Zpm>;ZWbW&~a4DBC5bO<$hx#VEd|Mu|0#%S7A_sfc5H6Lnbc5}TGhMWzOR?`3cERu?WF(3+Y;DoYZo8yeqOTdy6+ zEG^ruxrqyNo(^jnaHuML;Ne%-18 zq#i5D9;~2`<@A*9={F8OXm|c}brg$+1Wc5#j$wwJ`P6?YF43O$WEcEFPHFPzO$=ZA zYGN^A^S9Y{AI9d5Wz#1_JlY#~M)hID`iK*db6q0(pZ37GfPebISIsAjUFZ8BIK@g> zyL<6LpV)wWcgWp^VHNuxF5dBVod07j^jV)Co6|%;vhy>m$E2F0g?tP`d{UUW29PVEDVCJT<)2+-aS5i9~rzRzd?;YM&e*eM?;!%G8 z;75?CE#AQKb%HaY-M{$r9??$j%vqKC^LPHUH3bLNhes6$eaIyBhr$Am;fM8|^XOFl z{GW3McU`au^5*O9L?mkSW=zr+;_~jWkp1rh#+UB+k`sWVwUrf`{0{(y*ofdBE7q4u zI2)C(Q4xcKcIFb&X6U&|yI(KMeRqq9J$L%i<;Ts=B|a0zvS)mc>v1r#+oO^31&!al zR{qLqi9x??zD0A7eR$ktpmq2i2!y6O-8C~NyQ2O3R@W4E{e?6`@#m#|+##zs@U|?k zEZo^AVbj3PZTq9W(}^>eOlwu8A2p%q&gP7ppPB+%dtQ8H-!*Ua>J#0t8Jj-_Pl|YU zBKFAeJNc4*Pp(x-SKi)IDni3aRe_nU7g^ySj^6Jz2s5E$Yj&+XFm%SlT~B^ijNK)I z@2HrXK6|A7t>4Jkw#tROuWFN{ABQY!8e7y?G2cDB4%#o-{3$Ew&9BlSPD+FAP+CYP zTln_(?ZD0V>(63xe3bhJ5gKop5xi)%~dC@Qa6wexIoRe63}`+zY!?KjrwmE*|md)1K;x zphqo-+I*L7=~ET7S$wF=yE8XtF^Emk-kafHDwkphFP!t3nQa~xk@@n;U`5~Q{`)6R zLt{+eSC{AC^YbNy2gJRo9NR3;3L2lRJ->+fF#a|BPQORSHz9>vs$SI_d2?i^0+wH$ zhJMK7IW-&3x+ZiE&+@&8Xww+m`XmMMvz# z#IGBgopntpI-{h%^1E5SZ2a1z>%_lXx-6eW;Qk!F|9;;64o+0&hTohkr_Dzm6lOSA z)LrYjB;%HU?)SwDEB$i&KK>SP=6wrVRwH2TAGJ?U9RxrPT)=^0^4ePKe0`bQ{ zp!{rmT3vhGl}%GW-~M(spb1?%?RtJa_%lq0w(Osh2;o`A_v!uV%tFq471y-RmGYF3 znZzEGcZL2cXOt391up1&GLd#bS;UW>UF+AvH67ldDF|FwJ5|5x%JSzK7mcIJsw&Fct$`m_(ljdsqMvwGm(QwCrHa53~`=xDU$mj5U8fV)Y>T~;4nTA3}G_I600+1ODP zA>A-dl>2q(lD>BNF|GXfD4!iq>$(=+PU4zYxin8#u6vdW6}awR+}b$O^mAdBc-=2n z$*U{jyLQ>_w_nE_8_JH}=#g<{a!AvdMX9lUWrvoom^|ZY?nuvynCV@%MESk)IZzqo z-by$TGsG^Y$33U%c;OMoZXMQMjhD`8A0ST7jEpA*cz-v&?ZaXvy%)UJubSpKRo$l} zvb@V$c7f`D+-CT%*M`T${4Xzv!a{Ml|K(wo*lA@xT$tP(-|!pbl8qSKr~(ELRk z7S4Y z-#*6s7OmQ3^*l<=`%-xPz?2u4+Yz6yUcTP1XGD6B*!-5|yC4Pe6Mt&9pICc{za)EZ z`Oem^b6CHtXH}c~g<@_jOuhMK0J1l#Lv&|u>B`b@-&^WI^B3fstwl{&mJU`gz{kp% z7uL)xU$SLp@Yc|PCkfRv7@MZ(eiTk896zxgk$y zbz98|88H?b6tS(x0sTVdn{PgZ~h*RZ;0>0K0Rpjw^2f__3zQz?OZ@GeE!ld z!zTJ6`yT8&K7R|8C5FUAmxQ;!*oI2~x+Ej(ctj30vo=xR(-|8>eH(Fb=;+EV;k*6L zo?B4Qm=)-rQh(gNq+u1E_aa}HF(6nyEdg6narwgA(ADS)E3xnC)$L!GFTn(_xR3s{ zcD3lr;@m(bU*-8U=;?{fTvJ)=^RiO`CAZ0iyT91ypHIu$c`CW=SM9i;-0ZlkBWKrH zk34II%~1rG9(%TBudA-~^A+*hBZ1Y+hxdMRtXD7kcg)4NkM<7@?zZJ+WL*}rJfL7= z*v>KH!K3{AHsAxV1^B#u*j9S!#!+aWS3S>&a?YJ!iZwx3Db7#Yb|lXmx#UgxfMbJy zhGKkbt6JHtwB?b94D;~KP@;lzv}xE8Ouut0vIh7rn7_H>ftzQF8Jsz|=O*f|k5f+< zEz9F)27fseKXRQqF^P$t+FU~2{|fk`WtYZu z_JlR>#@i}K#o!g&m}A$J_Yvg``23VO;&Max9r$jQ<0@bYEAx+NYGS_xOUK9E8FnpU z_{u)7zxO!2A}_!9_f^o~CHE{a-7V^aDjl}0#*ei7~wt{nG#Ozpa~Wg>+L zow!K9_u#$*{r7%s?eEj_`DX81H*eI;G3{yzH11mhdH*eHzrj(1(Yl(hC*(%61I zMxxK%O3Ue2xkkJ1$B}vQeS-&G6!u*wj7ga@n|Mj`-ZwY0*C*_TyxiT()(s*)4qe7u zKmGjvF*(pHy-u7SJ%`kI&S|$pXXQxmG;O+Bd3>;5U&dH}>E(o{Ri5_&tm9Qmsprbq zjYC4#?mzoj#rktU4Xh~TEnd!A#<=cd*j9RGqUS4SIACWx8L9WRypxd!mMk1 zL*Czif7sJ8yV0}ug7H<^8+PyN?0W(FTJxIoZ(l7(j7u8YG17;giy#;%yF;$>YLiu z68ik`;6v|ToE84YuvTRHsFPyDcUdvL^~p))-bb2RI^?CUWrYu@8IV{bp2rkoS6RPS%q z-hSmB@xg(9-MZ{VtM^XzEqHkNkldYP>W4<=Mvu@L_8oXBjKP*&mLI>uTbNoj zS-(KxoV@PtFkH>{2`k6m8CULC{RzsLABu<$sl8)3hp&ry*{jIY&4(tdG>j{XUNH3G zuq$O9!Q-Gu&MaUAq@JGKcw^V$*NvlPAMwLd|~brB|iJsk*P@cfO8&f5!oCt(|L}Fn=#*<>lq)o!YF1#Ny1{ z#N8VV(?<7fADT1IKLK&5a@c`ku>QlMetM?>H*>@mUAXnCY`~nZ+N7lVRKeevz z;)nQothZ(5H!sfKLfo%^8yR@z_0-1SJ;!cov@Tj)x^3FhDxX~TN#a<)ExEl8iB3H8f3ugpQbDxCrOPrx z$FmdG5J$yV^t7(Ixm-8v_O~hWS05UrNX^N#-(Ppx_U(!3J~*a+Gt7GB+M}kC?xas2 z+7Zy#*gxB3IT@5k=asnD7JLxTe@*W6#e`qqAf z>f5c8@CVftEBiv)%`n8pr{{khJFOC2k@(y@|I>HHvz{+{pRakcjw%D6?6ce*Y=~^U zb-UI+aYIk;yEjz%Pb-lm)(+i!tXb7C0bRqKGwAfHdk<97sSn9% zujloWOgz@yaBtS8py@-toi2`OK%KakLVDD2ZRwK$ciQ7&+i#Pv-FR~`>=$9u!e?jA zgIl-%{`RA0Va(-AM)Ebkp7%1y6@BjZ>K|M&Bk93WjO6z84_W#wpH;xV3xl2o*EO=i zAQg|3%x6@C|L;x##D;19P1cC zIAz=zpP!zzVs~02BgzEd)1MVjO{zIp+=9NmrZNJ#lzoyleqDNXrsTxM%*5KTYtI&+ zDqYsa^6KF*rSnRtVaEd3EACfH*3ia@*SAI4uaN^=;}_Md!-khQww_tR-8t~(+oF9v zPE9!&1Y}~LK2)3wdXl?{#%b7T95Y5xHPzpzEC0swzBC@U_M_!>QZ>QABCh+m;o8W% zcle?l`tA+GP@)@?Ppk=(?D=$NJlk^PjCk=&A~mgQc&q+AUoo#M`;dwHCVsP?!MwZ& zaa+FtjlOxWgjJwbOK(bVNblZp-h|C*UUy}qI3hG$xMAlfTH=Ab@AFl&HP@Qh1E|DN zQ)iQQ#4uj$J+WW>J&x&SKR?pWy14#C{k=nZ+kcnef|t(<+!himyf?4QlkBARqaPL? zyft*^)HueOPojwn*SaVE?zUuEMDyw{X-)J`9mL;r_fG0y{9b?cX$Pz2K>MS9znQdP6=c!xR8n1J>Ndk5zY#byme zJZzm(_JGSa-`~>vDT_(lpP5OSIr{YU`J2Drupsq|pAC{>3-&C{o7%9c>O%SNn&*3i zJ~7jLo{oyX%l5x_%Hlr3F^ z)3s%19lO(T>&Bpt34L!Oa34cU5{y@UVC?XhX%k2NIM8!pNl)yh)a}3D-5+su{q5uz ze2J&$i1qj0+ovWQ)K1OYlkct>(X6k5nrqgCA;b1sINQWW2;1TV<0`G~>(y?dIdph^ zfIv6d-xu<};EtxBW@vlnbA0O7ifg7H38{nI%J#oL^wz(l?Ub;o$K@BIj7!Ry==OQW zq}F@1lSj9&8IM{qND+3orFn}#{EL5Dw_U3QLT=*D`iqmq1p^1&=>hHfyKBM9eX5YH zLx+qAV&;1VOXq*<0NSeyh7A6?({FBY3Gvc_9dSJdwmrGJG*{F2Tct;FengE~>>MzP9DZMR`CBb&^qu-~+83A7I>yAt1Wq14I0bx%-W9_Y z_RZr2FElXw_oz@~U>>(J-?(ki&805aI{Su`l~z{DOmU*%*a2xp=F)@n4FL0%YV*-n zcHi@@x%)ABd!;`UgllIf{GPf!3xLjIjhq{`do7nym;Cr%;W!4rd}u(;>F#Y=8pp`% z)@yEPbZ~URr4OM`@~eA0t&frhZ|oDX;B0M^%ebb3p^7{EmiqP34^q{DrmPEHaxM&8 zIrZ?6(*C<^0!g2zH2sVjl2Kk<({0qt%fG|N7L?Z3uW!8e8uxMla+qP$fCI9=m(O(L zi5c|Dyul6P_1n67rL*cHIG?6iMyLIJ^!T&gpw4b?dh|B#s@Q;vL?Wk5URU?IoadNC z-qXeAd%sySjF3Jl0(!i#I^&4s?AFBddww05?{|{)f-{ii)_uX4FQGWD{15^PBh`UY%YiuiAgBMH$)g?mfKv#gkqW!zM?D z&Ej%%{Y=|rn-k;o1RmjN!J%Q0%Ixz6Q3;&LQ18j?d%^}aRXhrh@#FrnK2*^ACi4OMZLhO@8K<`d2R| ztQzmNjo%3WaSNRjfFCk!&a&d+Z3oltrv~o1vZ?;w>e%qD=hLe01!+$%-4xEvu;u4X zNQz;csopVR&Y`}grCAa0w>6QXgI+ux1bpbQv*UQm0k{3u49*MAIq@)IWQTrnMPm5f zWLJ5?#V*co<#o_zX7hxhCBrv$EG6GhD4VOH9NLkTSri=^nzIY>T-GXYE+70=^E~uo zx~amyN_b^08%ZuvQh)f7o~xZZ3QJ~gw)8xpv{~N_ZNF=uR=5(@ZO=INl;EeoVj8mE zTln9WPVez>?9m@{`cLfg^FaN%O$%0tvgX>m#@VVThjoR|x;1dexT21f({Voz&wFw7 z!PTeD(dB_-4!_S{)pz}w0-oW+&DNmdsi}+i+`3T^eSK(nz>k`8Z@J`DVcP5?C*E#z zf2;kZSbrf2hG|TwPZZCrzB8h?R}(YBwEXJ#@N!1J@CByw6R}c|3J^XI~(bf z=N5+an)ba$w9&tnzVvf~V1#7UGU2Ba1feRNueFbxw)HJRTKPt)89zJ;Ui5mu?w(yL znSA#3WUMrOLfhsn@;noRE-zN-0%r}X75~|r;GF)mXfmbtZDzmn!C9h zH1xX(NW&=d+Auq_!9w*1r3+=m$^GB<2C~n zsTs+LI(8H~W$VVJr$xK?~ZX0Ul6Z5;AmW0CA(x2&JTR-c573TUevzYJxn z(T#&XZCRk4d9d`BhZTFA_(FE0NYVHP_qkF%p#I$#->>0=yXAB6tfgre@=Pz5e#ONl z)V;fNM1mXI)W7oJp3CLSTDO($&)f(1&W8ljT+!5hho>HZ9t(lQ#q-4Lj)*LZt9QPS+^C5=#^9}evVBMM*vX}{E7JUS|&2(0fu;gaxEppSlpwVyQdRKWCEhf@7|9V>(ap}6-_i{!(kd}~} z&0LSF`cN_ES7LLC|B&5VGQK4}-Iei~IePKJ=hqu_p0JkqHqd5ClM{`5sGJ(j7D%&hqfRcZv`fkj`sw+|M;%);@eD~{hvt>nFRqe8pA;=l) z;ss-S>+AMVH0_bkB_o~|_`MwC4SBn);p*(^!+d)`Hl7`l>px`uh{8TCOFsACZitsv z3Fm$g{}fsy(@p~cnR!>sIf&rB+)o2$r!1I&;wh4qht*{*Q_b6!Ykvpn+dP|O!?(^J zzMOHstQx<0R_gx!vHqtwO{l5Z3E|qNRLxBIy3aP8VOYqVB3Z5;F!#}|K_f)zy2;;5&!9W{jWge(DWh2qlSqU zeJ!=uuUk7lEvdt1YKDJ3H*n&_nA!`oem{J0g52-d;Dysh`xIf9kMUXYvip&|phoG# zZIB7uQ4I|n_2^YyU;34&q!ns^e>>e@v<<)R*7p(5xf9OSM$Q~p za=mxo+1mrBtpOHjO+Aji5*Jf7*!%j^sm+Myz{Ah) z*DUn;w%5^gr}pT)fRc&qEjgs*h@<&atwVog)|nl>UCX}=>i6Yaeec_M;@{|W-4FcI zzMAKQ!nB_KZvQ?wgvQ_4xqv_FmA2{q$Ju4I1%;25jwI9A zC2_NfuXbb)_`F8GoZWaS`}%HkMX+-RW0|-mF)DukPmeHr(e)aijKv!kZ-78l(|>bj zH6+}wt9f1BTvr!}Hd+((hPsBPx$-smCN^VC+O5bRi1`~k2(&e^O<5=7w=#qqr@ZYx z?MdpwbsBG5qz*Z}-uxrc)V|aCfYz_jjbgjCZ_mb@e&~L);?e!r%clK!c{e6IWXI^a zMcpP3IlSv0xydhQR4{qStf*7Xl4mRLKbf`qTS8Oh{J7z58SN9lpIsK-ydMU>l&fPg z_hU9UDsdaqY#UIKG1>fhMIZS3v5an^ecGNZu{_!_So32iSJQ3#`xQNp`J9>8h@a!~ z8xZ?cS-+2ey$@#F+%w=~IEbhLq~&LS&;2|-{N?<)cY4gNfTR@dQtPDF)Dh(x%x}G*XwS_03$s4Kdx4^T)R2< z0pa*{U|x}LgKtZg%5qm{h8)6nB;DKaEds{vs2p7k zyLV9Eq#k)$IyF()dt=t6lqLP&K{wvdZwUS{ofLd`)2+gg_boy1w>^Qr{FE{2%b69w z4__;mA1XOw?x-JX`F!`noK3G*jZA3VZJ?Sq3_U&R`3DYTraO`;V(A#yx&h~!tyH`CeEcJ5mm%&k0-+ON!vGm?YT;k+G*{CC) z(}HhJcl{>9A`<*}nllUU#(i%67(IOci(tGdTv6zbQ=8%={j*2!`?T~Er}jqo6L`F} zxgDNX78#I1UvG)TbVPIv$5C&`wGBxo4e8 z-K%b))F!menG@Ei9$HR%aTIl1a?eTd? z{C0SDbLP!m$p_e5()T?VUdTEC5tmwel_kqdN@t5d?17(vewT3v9xbdHb8q|&+(il5 z9y;o4^_wTHeNPI}=LYn%%Tg9vxmy`bN`Ow3p% zE*@cRw#q;IsU{gl%-H>8@y7xA$w6g^DI1qxVqeZ4aiIFxuTN50S4QuEonx@>El+n9 z4w}qcBigb4#P9yLQ+skgs4wPjUns|nxEwru*irQTy5tqi{S(Q@j)feY?gtq-b4mEK z?8pt{ery~xQ?u>d{LlJQ?#x-W7gLt;ziZO+4Eenudv{Ap>HhDc*Y2NzlN@L%=~@>^ zyzexQ*WQPGOp1wIDND|g-U~0_U3^p3^Tpv$K8e*Y`VEg7_^toP0UzV~uiA6^?Bcxa zL&+O%lrW1I8=lN~H#bN6{_2~$`|R&a!=B6X$B*8ZJ#JO(#31*hw&@MEZ^rm`oa?T- z@#2bh5GHd_+4{K+n=3XyKASQt^l{tTfE+%dizjWmA)OxfeVu1kpRlH~8h1!!;?}v} z-aotK`cQW^Mth_E``U4@ZYEz`#=}-@JL}!+a}?6iybtkso3Qt{#s!ct=cW_Fa$RYQ zv?pc%V+L@&pn2!7OB8#md{Ntz8x>CklP3Wy6qSm#d!H7qI!;;SH}yu->QJr3V%MW* zNJAEXe%JQ#hFEtd)<;(swwl9uDHu$0TejZIBKL0DRwNjN+O;rr(*3Y0(F7o}Zr|hM z0gGL|dx%#Ik1%&zMw%iwISMB4;#H(hT7Ne&QM2v4_AzuOFK4E5=Qs6jqjEu*&Az6$ zMNEubHZkM$Br&hw0+wt}q<&hzA*nL$o+Xt(F{?F!8|SO@-)RCb6A`k&xAP>>^lA6< zCD5RT>jNVW53SyI>N@=R(B=3Y*Zij1$(0(h54~;Mv4!W68`FCz$Ije-&Z*1H3BkQS z-+e95#p7~Yj7PAHte)E3_6fLE#UJ6by~@6cey1;u#~|Y*Z;wwV`yDG@b9?;$tn-8S ze<^WKIv8?t>b|jO!drIE-o5brO4VrC<_(WFZY|z?uOy>DNqe(bYBA}yU0JMC#NV9X zyk|ncH}h|%w=JDRxQbs9tnL{7x;KAy&(oJ=kh~+S8s6r{oboCAGPPvR*JHbH3hm

VnzU|fZ%@H++UH(g#K*1mKW2WogbAwH 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%0AHQ0a9v{OUh(3~bUa?BuLN{J&! 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 K#dOPVs{aE6FuVi+ literal 0 HcmV?d00001 diff --git a/ipcore_dir/div_8_dot_8_nodsp_flist.txt b/ipcore_dir/div_8_dot_8_nodsp_flist.txt new file mode 100644 index 0000000..01ab1e8 --- /dev/null +++ b/ipcore_dir/div_8_dot_8_nodsp_flist.txt @@ -0,0 +1,15 @@ +# Output products list for +_xmsgs/pn_parser.xmsgs +demo_tb/tb_div_8_dot_8_nodsp.vhd +div_8_dot_8_nodsp/doc/div_gen_v4_0_readme.txt +div_8_dot_8_nodsp/doc/div_gen_v4_0_vinfo.html +div_8_dot_8_nodsp/doc/ds819_div_gen.pdf +div_8_dot_8_nodsp.asy +div_8_dot_8_nodsp.gise +div_8_dot_8_nodsp.ngc +div_8_dot_8_nodsp.v +div_8_dot_8_nodsp.veo +div_8_dot_8_nodsp.xco +div_8_dot_8_nodsp.xise +div_8_dot_8_nodsp_flist.txt +div_8_dot_8_nodsp_xmdf.tcl diff --git a/ipcore_dir/div_8_dot_8_nodsp_xmdf.tcl b/ipcore_dir/div_8_dot_8_nodsp_xmdf.tcl new file mode 100644 index 0000000..506e60e --- /dev/null +++ b/ipcore_dir/div_8_dot_8_nodsp_xmdf.tcl @@ -0,0 +1,83 @@ +# The package naming convention is _xmdf +package provide div_8_dot_8_nodsp_xmdf 1.0 + +# This includes some utilities that support common XMDF operations +package require utilities_xmdf + +# Define a namespace for this package. The name of the name space +# is _xmdf +namespace eval ::div_8_dot_8_nodsp_xmdf { +# Use this to define any statics +} + +# Function called by client to rebuild the params and port arrays +# Optional when the use context does not require the param or ports +# arrays to be available. +proc ::div_8_dot_8_nodsp_xmdf::xmdfInit { instance } { +# Variable containing name of library into which module is compiled +# Recommendation: +# Required +utilities_xmdf::xmdfSetData $instance Module Attributes Name div_8_dot_8_nodsp +} +# ::div_8_dot_8_nodsp_xmdf::xmdfInit + +# Function called by client to fill in all the xmdf* data variables +# based on the current settings of the parameters +proc ::div_8_dot_8_nodsp_xmdf::xmdfApplyParams { instance } { + +set fcount 0 +# Array containing libraries that are assumed to exist +# Examples include unisim and xilinxcorelib +# Optional +# In this example, we assume that the unisim library will +# be available to the simulation and synthesis tool +utilities_xmdf::xmdfSetData $instance FileSet $fcount type logical_library +utilities_xmdf::xmdfSetData $instance FileSet $fcount logical_library unisim +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path demo_tb/tb_div_8_dot_8_nodsp.vhd +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path div_8_dot_8_nodsp/doc/div_gen_v4_0_readme.txt +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path div_8_dot_8_nodsp/doc/div_gen_v4_0_vinfo.html +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path div_8_dot_8_nodsp/doc/ds819_div_gen.pdf +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path div_8_dot_8_nodsp.asy +utilities_xmdf::xmdfSetData $instance FileSet $fcount type asy +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path div_8_dot_8_nodsp.ngc +utilities_xmdf::xmdfSetData $instance FileSet $fcount type ngc +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path div_8_dot_8_nodsp.v +utilities_xmdf::xmdfSetData $instance FileSet $fcount type verilog +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path div_8_dot_8_nodsp.veo +utilities_xmdf::xmdfSetData $instance FileSet $fcount type verilog_template +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path div_8_dot_8_nodsp.xco +utilities_xmdf::xmdfSetData $instance FileSet $fcount type coregen_ip +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path div_8_dot_8_nodsp_xmdf.tcl +utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount associated_module div_8_dot_8_nodsp +incr fcount + +} + +# ::gen_comp_name_xmdf::xmdfApplyParams diff --git a/ipcore_dir/lcd_spi_clk.asy b/ipcore_dir/lcd_spi_clk.asy new file mode 100644 index 0000000..2c24774 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk.asy @@ -0,0 +1,17 @@ +Version 4 +SymbolType BLOCK +TEXT 32 32 LEFT 4 lcd_spi_clk +RECTANGLE Normal 32 32 576 1088 +LINE Normal 0 80 32 80 +PIN 0 80 LEFT 36 +PINATTR PinName clk_in1 +PINATTR Polarity IN +LINE Normal 608 80 576 80 +PIN 608 80 RIGHT 36 +PINATTR PinName clk_out1 +PINATTR Polarity OUT +LINE Normal 608 176 576 176 +PIN 608 176 RIGHT 36 +PINATTR PinName clk_out2 +PINATTR Polarity OUT + diff --git a/ipcore_dir/lcd_spi_clk.gise b/ipcore_dir/lcd_spi_clk.gise new file mode 100644 index 0000000..ee50cca --- /dev/null +++ b/ipcore_dir/lcd_spi_clk.gise @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ipcore_dir/lcd_spi_clk.ncf b/ipcore_dir/lcd_spi_clk.ncf new file mode 100644 index 0000000..fc946d7 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk.ncf @@ -0,0 +1,59 @@ +# file: lcd_spi_clk.ucf +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# Input clock periods. These duplicate the values entered for the +# input clocks. You can use these to time your system +#---------------------------------------------------------------- +NET "CLK_IN1" TNM_NET = "CLK_IN1"; +TIMESPEC "TS_CLK_IN1" = PERIOD "CLK_IN1" 20.0 ns HIGH 50% INPUT_JITTER 200.0ps; + + +# FALSE PATH constraints + + diff --git a/ipcore_dir/lcd_spi_clk.sym b/ipcore_dir/lcd_spi_clk.sym new file mode 100644 index 0000000..a4ff736 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk.sym @@ -0,0 +1,18 @@ + + + BLOCK + 2018-12-10T8:32:51 + + + + + lcd_spi_clk + + + + + + + + + diff --git a/ipcore_dir/lcd_spi_clk.ucf b/ipcore_dir/lcd_spi_clk.ucf new file mode 100755 index 0000000..5320c00 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk.ucf @@ -0,0 +1,58 @@ +# file: lcd_spi_clk.ucf +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# Input clock periods. These duplicate the values entered for the +# input clocks. You can use these to time your system +#---------------------------------------------------------------- +NET "CLK_IN1" TNM_NET = "CLK_IN1"; +TIMESPEC "TS_CLK_IN1" = PERIOD "CLK_IN1" 20.0 ns HIGH 50% INPUT_JITTER 200.0ps; + + +# FALSE PATH constraints + diff --git a/ipcore_dir/lcd_spi_clk.v b/ipcore_dir/lcd_spi_clk.v new file mode 100755 index 0000000..0924f75 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk.v @@ -0,0 +1,150 @@ +// file: lcd_spi_clk.v +// +// (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +// +// This file contains confidential and proprietary information +// of Xilinx, Inc. and is protected under U.S. and +// international copyright and other intellectual property +// laws. +// +// DISCLAIMER +// This disclaimer is not a license and does not grant any +// rights to the materials distributed herewith. Except as +// otherwise provided in a valid license issued to you by +// Xilinx, and to the maximum extent permitted by applicable +// law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +// WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +// AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +// BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +// INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +// (2) Xilinx shall not be liable (whether in contract or tort, +// including negligence, or under any other theory of +// liability) for any loss or damage of any kind or nature +// related to, arising under or in connection with these +// materials, including for any direct, or any indirect, +// special, incidental, or consequential loss or damage +// (including loss of data, profits, goodwill, or any type of +// loss or damage suffered as a result of any action brought +// by a third party) even if such damage or loss was +// reasonably foreseeable or Xilinx had been advised of the +// possibility of the same. +// +// CRITICAL APPLICATIONS +// Xilinx products are not designed or intended to be fail- +// safe, or for use in any application requiring fail-safe +// performance, such as life-support or safety devices or +// systems, Class III medical devices, nuclear facilities, +// applications related to the deployment of airbags, or any +// other applications that could lead to death, personal +// injury, or severe property or environmental damage +// (individually and collectively, "Critical +// Applications"). Customer assumes the sole risk and +// liability of any use of Xilinx products in Critical +// Applications, subject only to applicable laws and +// regulations governing limitations on product liability. +// +// THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +// PART OF THIS FILE AT ALL TIMES. +// +//---------------------------------------------------------------------------- +// User entered comments +//---------------------------------------------------------------------------- +// None +// +//---------------------------------------------------------------------------- +// "Output Output Phase Duty Pk-to-Pk Phase" +// "Clock Freq (MHz) (degrees) Cycle (%) Jitter (ps) Error (ps)" +//---------------------------------------------------------------------------- +// CLK_OUT1___250.000______0.000______50.0______280.000____150.000 +// CLK_OUT2____50.000______0.000______50.0______200.000____150.000 +// +//---------------------------------------------------------------------------- +// "Input Clock Freq (MHz) Input Jitter (UI)" +//---------------------------------------------------------------------------- +// __primary__________50.000____________0.010 + +`timescale 1ps/1ps + +(* CORE_GENERATION_INFO = "lcd_spi_clk,clk_wiz_v3_6,{component_name=lcd_spi_clk,use_phase_alignment=true,use_min_o_jitter=false,use_max_i_jitter=false,use_dyn_phase_shift=false,use_inclk_switchover=false,use_dyn_reconfig=false,feedback_source=FDBK_AUTO,primtype_sel=DCM_SP,num_out_clk=2,clkin1_period=20.0,clkin2_period=20.0,use_power_down=false,use_reset=false,use_locked=false,use_inclk_stopped=false,use_status=false,use_freeze=false,use_clk_valid=false,feedback_type=SINGLE,clock_mgr_type=AUTO,manual_override=false}" *) +module lcd_spi_clk + (// Clock in ports + input clk_in, + // Clock out ports + output clk_fout, + output clk_nout + ); + + // Input buffering + //------------------------------------ + IBUFG clkin1_buf + (.O (clkin1), + .I (clk_in)); + + + // Clocking primitive + //------------------------------------ + + // Instantiation of the DCM primitive + // * Unused inputs are tied off + // * Unused outputs are labeled unused + wire psdone_unused; + wire locked_int; + wire [7:0] status_int; + wire clkfb; + wire clk0; + wire clkfx; + + DCM_SP + #(.CLKDV_DIVIDE (2.000), + .CLKFX_DIVIDE (1), + .CLKFX_MULTIPLY (5), + .CLKIN_DIVIDE_BY_2 ("FALSE"), + .CLKIN_PERIOD (20.0), + .CLKOUT_PHASE_SHIFT ("NONE"), + .CLK_FEEDBACK ("1X"), + .DESKEW_ADJUST ("SYSTEM_SYNCHRONOUS"), + .PHASE_SHIFT (0), + .STARTUP_WAIT ("FALSE")) + dcm_sp_inst + // Input clock + (.CLKIN (clkin1), + .CLKFB (clkfb), + // Output clocks + .CLK0 (clk0), + .CLK90 (), + .CLK180 (), + .CLK270 (), + .CLK2X (), + .CLK2X180 (), + .CLKFX (clkfx), + .CLKFX180 (), + .CLKDV (), + // Ports for dynamic phase shift + .PSCLK (1'b0), + .PSEN (1'b0), + .PSINCDEC (1'b0), + .PSDONE (), + // Other control and status signals + .LOCKED (locked_int), + .STATUS (status_int), + .RST (1'b0), + // Unused pin- tie low + .DSSEN (1'b0)); + + + // Output buffering + //----------------------------------- + assign clkfb = clk_nout; + + BUFG clkout1_buf + (.O (clk_fout), + .I (clkfx)); + + + BUFG clkout2_buf + (.O (clk_nout), + .I (clk0)); + + + +endmodule diff --git a/ipcore_dir/lcd_spi_clk.veo b/ipcore_dir/lcd_spi_clk.veo new file mode 100755 index 0000000..3f78df7 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk.veo @@ -0,0 +1,77 @@ +// +// (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +// +// This file contains confidential and proprietary information +// of Xilinx, Inc. and is protected under U.S. and +// international copyright and other intellectual property +// laws. +// +// DISCLAIMER +// This disclaimer is not a license and does not grant any +// rights to the materials distributed herewith. Except as +// otherwise provided in a valid license issued to you by +// Xilinx, and to the maximum extent permitted by applicable +// law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +// WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +// AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +// BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +// INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +// (2) Xilinx shall not be liable (whether in contract or tort, +// including negligence, or under any other theory of +// liability) for any loss or damage of any kind or nature +// related to, arising under or in connection with these +// materials, including for any direct, or any indirect, +// special, incidental, or consequential loss or damage +// (including loss of data, profits, goodwill, or any type of +// loss or damage suffered as a result of any action brought +// by a third party) even if such damage or loss was +// reasonably foreseeable or Xilinx had been advised of the +// possibility of the same. +// +// CRITICAL APPLICATIONS +// Xilinx products are not designed or intended to be fail- +// safe, or for use in any application requiring fail-safe +// performance, such as life-support or safety devices or +// systems, Class III medical devices, nuclear facilities, +// applications related to the deployment of airbags, or any +// other applications that could lead to death, personal +// injury, or severe property or environmental damage +// (individually and collectively, "Critical +// Applications"). Customer assumes the sole risk and +// liability of any use of Xilinx products in Critical +// Applications, subject only to applicable laws and +// regulations governing limitations on product liability. +// +// THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +// PART OF THIS FILE AT ALL TIMES. +// +//---------------------------------------------------------------------------- +// User entered comments +//---------------------------------------------------------------------------- +// None +// +//---------------------------------------------------------------------------- +// "Output Output Phase Duty Pk-to-Pk Phase" +// "Clock Freq (MHz) (degrees) Cycle (%) Jitter (ps) Error (ps)" +//---------------------------------------------------------------------------- +// CLK_OUT1___250.000______0.000______50.0______280.000____150.000 +// CLK_OUT2____50.000______0.000______50.0______200.000____150.000 +// +//---------------------------------------------------------------------------- +// "Input Clock Freq (MHz) Input Jitter (UI)" +//---------------------------------------------------------------------------- +// __primary__________50.000____________0.010 + +// The following must be inserted into your Verilog file for this +// core to be instantiated. Change the instance name and port connections +// (in parentheses) to your own signal names. + +//----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG + + lcd_spi_clk instance_name + (// Clock in ports + .clk_in(clk_in), // IN + // Clock out ports + .clk_fout(clk_fout), // OUT + .clk_nout(clk_nout)); // OUT +// INST_TAG_END ------ End INSTANTIATION Template --------- diff --git a/ipcore_dir/lcd_spi_clk.xco b/ipcore_dir/lcd_spi_clk.xco new file mode 100644 index 0000000..af9736d --- /dev/null +++ b/ipcore_dir/lcd_spi_clk.xco @@ -0,0 +1,269 @@ +############################################################## +# +# Xilinx Core Generator version 14.7 +# Date: Wed Dec 12 08:29:52 2018 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# Generated from component: xilinx.com:ip:clk_wiz:3.6 +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = Verilog +SET device = xc6slx9 +SET devicefamily = spartan6 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = tqg144 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -2 +SET verilogsim = true +SET vhdlsim = false +# END Project Options +# BEGIN Select +SELECT Clocking_Wizard xilinx.com:ip:clk_wiz:3.6 +# END Select +# BEGIN Parameters +CSET calc_done=DONE +CSET clk_in_sel_port=CLK_IN_SEL +CSET clk_out1_port=clk_fout +CSET clk_out1_use_fine_ps_gui=false +CSET clk_out2_port=clk_nout +CSET clk_out2_use_fine_ps_gui=false +CSET clk_out3_port=CLK_OUT3 +CSET clk_out3_use_fine_ps_gui=false +CSET clk_out4_port=CLK_OUT4 +CSET clk_out4_use_fine_ps_gui=false +CSET clk_out5_port=CLK_OUT5 +CSET clk_out5_use_fine_ps_gui=false +CSET clk_out6_port=CLK_OUT6 +CSET clk_out6_use_fine_ps_gui=false +CSET clk_out7_port=CLK_OUT7 +CSET clk_out7_use_fine_ps_gui=false +CSET clk_valid_port=CLK_VALID +CSET clkfb_in_n_port=CLKFB_IN_N +CSET clkfb_in_p_port=CLKFB_IN_P +CSET clkfb_in_port=CLKFB_IN +CSET clkfb_in_signaling=SINGLE +CSET clkfb_out_n_port=CLKFB_OUT_N +CSET clkfb_out_p_port=CLKFB_OUT_P +CSET clkfb_out_port=CLKFB_OUT +CSET clkfb_stopped_port=CLKFB_STOPPED +CSET clkin1_jitter_ps=200.0 +CSET clkin1_ui_jitter=0.010 +CSET clkin2_jitter_ps=100.0 +CSET clkin2_ui_jitter=0.010 +CSET clkout1_drives=BUFG +CSET clkout1_requested_duty_cycle=50.000 +CSET clkout1_requested_out_freq=250.000 +CSET clkout1_requested_phase=0.000 +CSET clkout2_drives=BUFG +CSET clkout2_requested_duty_cycle=50.000 +CSET clkout2_requested_out_freq=50.000 +CSET clkout2_requested_phase=0.000 +CSET clkout2_used=true +CSET clkout3_drives=BUFG +CSET clkout3_requested_duty_cycle=50.000 +CSET clkout3_requested_out_freq=100.000 +CSET clkout3_requested_phase=0.000 +CSET clkout3_used=false +CSET clkout4_drives=BUFG +CSET clkout4_requested_duty_cycle=50.000 +CSET clkout4_requested_out_freq=100.000 +CSET clkout4_requested_phase=0.000 +CSET clkout4_used=false +CSET clkout5_drives=BUFG +CSET clkout5_requested_duty_cycle=50.000 +CSET clkout5_requested_out_freq=100.000 +CSET clkout5_requested_phase=0.000 +CSET clkout5_used=false +CSET clkout6_drives=BUFG +CSET clkout6_requested_duty_cycle=50.000 +CSET clkout6_requested_out_freq=100.000 +CSET clkout6_requested_phase=0.000 +CSET clkout6_used=false +CSET clkout7_drives=BUFG +CSET clkout7_requested_duty_cycle=50.000 +CSET clkout7_requested_out_freq=100.000 +CSET clkout7_requested_phase=0.000 +CSET clkout7_used=false +CSET clock_mgr_type=AUTO +CSET component_name=lcd_spi_clk +CSET daddr_port=DADDR +CSET dclk_port=DCLK +CSET dcm_clk_feedback=1X +CSET dcm_clk_out1_port=CLKFX +CSET dcm_clk_out2_port=CLK0 +CSET dcm_clk_out3_port=CLK0 +CSET dcm_clk_out4_port=CLK0 +CSET dcm_clk_out5_port=CLK0 +CSET dcm_clk_out6_port=CLK0 +CSET dcm_clkdv_divide=2.0 +CSET dcm_clkfx_divide=1 +CSET dcm_clkfx_multiply=5 +CSET dcm_clkgen_clk_out1_port=CLKFX +CSET dcm_clkgen_clk_out2_port=CLKFX +CSET dcm_clkgen_clk_out3_port=CLKFX +CSET dcm_clkgen_clkfx_divide=1 +CSET dcm_clkgen_clkfx_md_max=0.000 +CSET dcm_clkgen_clkfx_multiply=4 +CSET dcm_clkgen_clkfxdv_divide=2 +CSET dcm_clkgen_clkin_period=10.000 +CSET dcm_clkgen_notes=None +CSET dcm_clkgen_spread_spectrum=NONE +CSET dcm_clkgen_startup_wait=false +CSET dcm_clkin_divide_by_2=false +CSET dcm_clkin_period=20.000 +CSET dcm_clkout_phase_shift=NONE +CSET dcm_deskew_adjust=SYSTEM_SYNCHRONOUS +CSET dcm_notes=None +CSET dcm_phase_shift=0 +CSET dcm_pll_cascade=NONE +CSET dcm_startup_wait=false +CSET den_port=DEN +CSET din_port=DIN +CSET dout_port=DOUT +CSET drdy_port=DRDY +CSET dwe_port=DWE +CSET feedback_source=FDBK_AUTO +CSET in_freq_units=Units_MHz +CSET in_jitter_units=Units_UI +CSET input_clk_stopped_port=INPUT_CLK_STOPPED +CSET jitter_options=UI +CSET jitter_sel=No_Jitter +CSET locked_port=LOCKED +CSET mmcm_bandwidth=OPTIMIZED +CSET mmcm_clkfbout_mult_f=4.000 +CSET mmcm_clkfbout_phase=0.000 +CSET mmcm_clkfbout_use_fine_ps=false +CSET mmcm_clkin1_period=10.000 +CSET mmcm_clkin2_period=10.000 +CSET mmcm_clkout0_divide_f=4.000 +CSET mmcm_clkout0_duty_cycle=0.500 +CSET mmcm_clkout0_phase=0.000 +CSET mmcm_clkout0_use_fine_ps=false +CSET mmcm_clkout1_divide=1 +CSET mmcm_clkout1_duty_cycle=0.500 +CSET mmcm_clkout1_phase=0.000 +CSET mmcm_clkout1_use_fine_ps=false +CSET mmcm_clkout2_divide=1 +CSET mmcm_clkout2_duty_cycle=0.500 +CSET mmcm_clkout2_phase=0.000 +CSET mmcm_clkout2_use_fine_ps=false +CSET mmcm_clkout3_divide=1 +CSET mmcm_clkout3_duty_cycle=0.500 +CSET mmcm_clkout3_phase=0.000 +CSET mmcm_clkout3_use_fine_ps=false +CSET mmcm_clkout4_cascade=false +CSET mmcm_clkout4_divide=1 +CSET mmcm_clkout4_duty_cycle=0.500 +CSET mmcm_clkout4_phase=0.000 +CSET mmcm_clkout4_use_fine_ps=false +CSET mmcm_clkout5_divide=1 +CSET mmcm_clkout5_duty_cycle=0.500 +CSET mmcm_clkout5_phase=0.000 +CSET mmcm_clkout5_use_fine_ps=false +CSET mmcm_clkout6_divide=1 +CSET mmcm_clkout6_duty_cycle=0.500 +CSET mmcm_clkout6_phase=0.000 +CSET mmcm_clkout6_use_fine_ps=false +CSET mmcm_clock_hold=false +CSET mmcm_compensation=ZHOLD +CSET mmcm_divclk_divide=1 +CSET mmcm_notes=None +CSET mmcm_ref_jitter1=0.010 +CSET mmcm_ref_jitter2=0.010 +CSET mmcm_startup_wait=false +CSET num_out_clks=2 +CSET override_dcm=false +CSET override_dcm_clkgen=false +CSET override_mmcm=false +CSET override_pll=false +CSET platform=lin64 +CSET pll_bandwidth=OPTIMIZED +CSET pll_clk_feedback=CLKFBOUT +CSET pll_clkfbout_mult=8 +CSET pll_clkfbout_phase=0.000 +CSET pll_clkin_period=20.0 +CSET pll_clkout0_divide=128 +CSET pll_clkout0_duty_cycle=0.500 +CSET pll_clkout0_phase=0.000 +CSET pll_clkout1_divide=8 +CSET pll_clkout1_duty_cycle=0.500 +CSET pll_clkout1_phase=0.000 +CSET pll_clkout2_divide=1 +CSET pll_clkout2_duty_cycle=0.500 +CSET pll_clkout2_phase=0.000 +CSET pll_clkout3_divide=1 +CSET pll_clkout3_duty_cycle=0.500 +CSET pll_clkout3_phase=0.000 +CSET pll_clkout4_divide=1 +CSET pll_clkout4_duty_cycle=0.500 +CSET pll_clkout4_phase=0.000 +CSET pll_clkout5_divide=1 +CSET pll_clkout5_duty_cycle=0.500 +CSET pll_clkout5_phase=0.000 +CSET pll_compensation=SYSTEM_SYNCHRONOUS +CSET pll_divclk_divide=1 +CSET pll_notes=None +CSET pll_ref_jitter=0.010 +CSET power_down_port=POWER_DOWN +CSET prim_in_freq=50.000 +CSET prim_in_jitter=0.010 +CSET prim_source=Single_ended_clock_capable_pin +CSET primary_port=clk_in +CSET primitive=MMCM +CSET primtype_sel=PLL_BASE +CSET psclk_port=PSCLK +CSET psdone_port=PSDONE +CSET psen_port=PSEN +CSET psincdec_port=PSINCDEC +CSET relative_inclk=REL_PRIMARY +CSET reset_port=RESET +CSET secondary_in_freq=100.000 +CSET secondary_in_jitter=0.010 +CSET secondary_port=CLK_IN2 +CSET secondary_source=Single_ended_clock_capable_pin +CSET ss_mod_freq=250 +CSET ss_mode=CENTER_HIGH +CSET status_port=STATUS +CSET summary_strings=empty +CSET use_clk_valid=false +CSET use_clkfb_stopped=false +CSET use_dyn_phase_shift=false +CSET use_dyn_reconfig=false +CSET use_freeze=false +CSET use_freq_synth=true +CSET use_inclk_stopped=false +CSET use_inclk_switchover=false +CSET use_locked=false +CSET use_max_i_jitter=false +CSET use_min_o_jitter=false +CSET use_min_power=false +CSET use_phase_alignment=true +CSET use_power_down=false +CSET use_reset=false +CSET use_spread_spectrum=false +CSET use_spread_spectrum_1=false +CSET use_status=false +# END Parameters +# BEGIN Extra information +MISC pkg_timestamp=2012-05-10T12:44:55Z +# END Extra information +GENERATE +# CRC: cd91ca7d diff --git a/ipcore_dir/lcd_spi_clk.xdc b/ipcore_dir/lcd_spi_clk.xdc new file mode 100755 index 0000000..1ee05e8 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk.xdc @@ -0,0 +1,66 @@ +# file: lcd_spi_clk.xdc +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# Input clock periods. These duplicate the values entered for the +# input clocks. You can use these to time your system +#---------------------------------------------------------------- +create_clock -name CLK_IN1 -period 20.0 [get_ports CLK_IN1] +set_propagated_clock CLK_IN1 +set_input_jitter CLK_IN1 0.2 + + +# Derived clock periods. These are commented out because they are +# automatically propogated by the tools +# However, if you'd like to use them for module level testing, you +# can copy them into your module level timing checks +#----------------------------------------------------------------- + +#----------------------------------------------------------------- + +#----------------------------------------------------------------- diff --git a/ipcore_dir/lcd_spi_clk.xise b/ipcore_dir/lcd_spi_clk.xise new file mode 100644 index 0000000..4c15e86 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk.xise @@ -0,0 +1,69 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/ipcore_dir/lcd_spi_clk/clk_wiz_v3_6_readme.txt b/ipcore_dir/lcd_spi_clk/clk_wiz_v3_6_readme.txt new file mode 100644 index 0000000..91dcdd0 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/clk_wiz_v3_6_readme.txt @@ -0,0 +1,184 @@ +CHANGE LOG for LogiCORE Clocking Wizard V3.6 + + Release Date: June 19, 2013 +-------------------------------------------------------------------------------- + +Table of Contents + +1. INTRODUCTION +2. DEVICE SUPPORT +3. NEW FEATURE HISTORY +4. RESOLVED ISSUES +5. KNOWN ISSUES & LIMITATIONS +6. TECHNICAL SUPPORT & FEEDBACK +7. CORE RELEASE HISTORY +8. LEGAL DISCLAIMER + +-------------------------------------------------------------------------------- + + +1. INTRODUCTION + +For installation instructions for this release, please go to: + + http://www.xilinx.com/ipcenter/coregen/ip_update_install_instructions.htm + +For system requirements: + + http://www.xilinx.com/ipcenter/coregen/ip_update_system_requirements.htm + +This file contains release notes for the Xilinx LogiCORE IP Clocking Wizard v3.6 +solution. For the latest core updates, see the product page at: + + http://www.xilinx.com/products/design_resources/conn_central/solution_kits/wizards/ + +................................................................................ + +2. DEVICE SUPPORT + + + 2.1 ISE + + + The following device families are supported by the core for this release. + + All 7 Series devices + + + Zynq-7000 devices + Zynq-7000 + Defense Grade Zynq-7000Q (XQ) + + + All Virtex-6 devices + + + All Spartan-6 devices + + +................................................................................ + +3. NEW FEATURE HISTORY + + + 3.1 ISE + + - Spread Spectrum support for 7 series MMCME2 + + - ISE 14.2 software support + +................................................................................ + +4. RESOLVED ISSUES + + + 4.1 ISE + + Resolved issue with example design becoming core top in planAhead + + Resolved issue with Virtex6 MMCM instantiation for VHDL project + Please refer to AR 50719 - http://www.xilinx.com/support/answers/50719.htm + +................................................................................ + +5. KNOWN ISSUES & LIMITATIONS + + + 5.1 ISE + + + The most recent information, including known issues, workarounds, and + resolutions for this version is provided in the IP Release Notes Guide + located at + + www.xilinx.com/support/documentation/user_guides/xtp025.pdf + + +................................................................................ + +6. TECHNICAL SUPPORT & FEEDBACK + + +To obtain technical support, create a WebCase at www.xilinx.com/support. +Questions are routed to a team with expertise using this product. + +Xilinx provides technical support for use of this product when used +according to the guidelines described in the core documentation, and +cannot guarantee timing, functionality, or support of this product for +designs that do not follow specified guidelines. + + +................................................................................ + +7. CORE RELEASE HISTORY + + +Date By Version Description +================================================================================ +06/19/2013 Xilinx, Inc. 3.6(Rev3) ISE 14.6 support +10/16/2012 Xilinx, Inc. 3.6(Rev2) ISE 14.3 support +07/25/2012 Xilinx, Inc. 3.6 ISE 14.2 support +04/24/2012 Xilinx, Inc. 3.5 ISE 14.1 support +01/18/2012 Xilinx, Inc. 3.3 ISE 13.4 support +06/22/2011 Xilinx, Inc. 3.2 ISE 13.2 support +03/01/2011 Xilinx, Inc. 3.1 ISE 13.1 support +12/14/2010 Xilinx, Inc. 1.8 ISE 12.4 support +09/21/2010 Xilinx, Inc. 1.7 ISE 12.3 support +07/23/2010 Xilinx, Inc. 1.6 ISE 12.2 support +04/19/2010 Xilinx, Inc. 1.5 ISE 12.1 support +12/02/2009 Xilinx, Inc. 1.4 ISE 11.4 support +09/16/2009 Xilinx, Inc. 1.3 ISE 11.3 support +06/24/2009 Xilinx, Inc. 1.2 ISE 11.2 support +04/24/2009 Xilinx, Inc. 1.1 Initial release; 11.1 support +================================================================================ + +................................................................................ + +8. LEGAL DISCLAIMER + +(c) Copyright 2008 - 2013 Xilinx, Inc. All rights reserved. + +This file contains confidential and proprietary information +of Xilinx, Inc. and is protected under U.S. and +international copyright and other intellectual property +laws. + +DISCLAIMER +This disclaimer is not a license and does not grant any +rights to the materials distributed herewith. Except as +otherwise provided in a valid license issued to you by +Xilinx, and to the maximum extent permitted by applicable +law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +(2) Xilinx shall not be liable (whether in contract or tort, +including negligence, or under any other theory of +liability) for any loss or damage of any kind or nature +related to, arising under or in connection with these +materials, including for any direct, or any indirect, +special, incidental, or consequential loss or damage +(including loss of data, profits, goodwill, or any type of +loss or damage suffered as a result of any action brought +by a third party) even if such damage or loss was +reasonably foreseeable or Xilinx had been advised of the +possibility of the same. + +CRITICAL APPLICATIONS +Xilinx products are not designed or intended to be fail- +safe, or for use in any application requiring fail-safe +performance, such as life-support or safety devices or +systems, Class III medical devices, nuclear facilities, +applications related to the deployment of airbags, or any +other applications that could lead to death, personal +injury, or severe property or environmental damage +(individually and collectively, "Critical +Applications"). Customer assumes the sole risk and +liability of any use of Xilinx products in Critical +Applications, subject only to applicable laws and +regulations governing limitations on product liability. + +THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +PART OF THIS FILE AT ALL TIMES. + diff --git a/ipcore_dir/lcd_spi_clk/doc/clk_wiz_v3_6_readme.txt b/ipcore_dir/lcd_spi_clk/doc/clk_wiz_v3_6_readme.txt new file mode 100644 index 0000000..91dcdd0 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/doc/clk_wiz_v3_6_readme.txt @@ -0,0 +1,184 @@ +CHANGE LOG for LogiCORE Clocking Wizard V3.6 + + Release Date: June 19, 2013 +-------------------------------------------------------------------------------- + +Table of Contents + +1. INTRODUCTION +2. DEVICE SUPPORT +3. NEW FEATURE HISTORY +4. RESOLVED ISSUES +5. KNOWN ISSUES & LIMITATIONS +6. TECHNICAL SUPPORT & FEEDBACK +7. CORE RELEASE HISTORY +8. LEGAL DISCLAIMER + +-------------------------------------------------------------------------------- + + +1. INTRODUCTION + +For installation instructions for this release, please go to: + + http://www.xilinx.com/ipcenter/coregen/ip_update_install_instructions.htm + +For system requirements: + + http://www.xilinx.com/ipcenter/coregen/ip_update_system_requirements.htm + +This file contains release notes for the Xilinx LogiCORE IP Clocking Wizard v3.6 +solution. For the latest core updates, see the product page at: + + http://www.xilinx.com/products/design_resources/conn_central/solution_kits/wizards/ + +................................................................................ + +2. DEVICE SUPPORT + + + 2.1 ISE + + + The following device families are supported by the core for this release. + + All 7 Series devices + + + Zynq-7000 devices + Zynq-7000 + Defense Grade Zynq-7000Q (XQ) + + + All Virtex-6 devices + + + All Spartan-6 devices + + +................................................................................ + +3. NEW FEATURE HISTORY + + + 3.1 ISE + + - Spread Spectrum support for 7 series MMCME2 + + - ISE 14.2 software support + +................................................................................ + +4. RESOLVED ISSUES + + + 4.1 ISE + + Resolved issue with example design becoming core top in planAhead + + Resolved issue with Virtex6 MMCM instantiation for VHDL project + Please refer to AR 50719 - http://www.xilinx.com/support/answers/50719.htm + +................................................................................ + +5. KNOWN ISSUES & LIMITATIONS + + + 5.1 ISE + + + The most recent information, including known issues, workarounds, and + resolutions for this version is provided in the IP Release Notes Guide + located at + + www.xilinx.com/support/documentation/user_guides/xtp025.pdf + + +................................................................................ + +6. TECHNICAL SUPPORT & FEEDBACK + + +To obtain technical support, create a WebCase at www.xilinx.com/support. +Questions are routed to a team with expertise using this product. + +Xilinx provides technical support for use of this product when used +according to the guidelines described in the core documentation, and +cannot guarantee timing, functionality, or support of this product for +designs that do not follow specified guidelines. + + +................................................................................ + +7. CORE RELEASE HISTORY + + +Date By Version Description +================================================================================ +06/19/2013 Xilinx, Inc. 3.6(Rev3) ISE 14.6 support +10/16/2012 Xilinx, Inc. 3.6(Rev2) ISE 14.3 support +07/25/2012 Xilinx, Inc. 3.6 ISE 14.2 support +04/24/2012 Xilinx, Inc. 3.5 ISE 14.1 support +01/18/2012 Xilinx, Inc. 3.3 ISE 13.4 support +06/22/2011 Xilinx, Inc. 3.2 ISE 13.2 support +03/01/2011 Xilinx, Inc. 3.1 ISE 13.1 support +12/14/2010 Xilinx, Inc. 1.8 ISE 12.4 support +09/21/2010 Xilinx, Inc. 1.7 ISE 12.3 support +07/23/2010 Xilinx, Inc. 1.6 ISE 12.2 support +04/19/2010 Xilinx, Inc. 1.5 ISE 12.1 support +12/02/2009 Xilinx, Inc. 1.4 ISE 11.4 support +09/16/2009 Xilinx, Inc. 1.3 ISE 11.3 support +06/24/2009 Xilinx, Inc. 1.2 ISE 11.2 support +04/24/2009 Xilinx, Inc. 1.1 Initial release; 11.1 support +================================================================================ + +................................................................................ + +8. LEGAL DISCLAIMER + +(c) Copyright 2008 - 2013 Xilinx, Inc. All rights reserved. + +This file contains confidential and proprietary information +of Xilinx, Inc. and is protected under U.S. and +international copyright and other intellectual property +laws. + +DISCLAIMER +This disclaimer is not a license and does not grant any +rights to the materials distributed herewith. Except as +otherwise provided in a valid license issued to you by +Xilinx, and to the maximum extent permitted by applicable +law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +(2) Xilinx shall not be liable (whether in contract or tort, +including negligence, or under any other theory of +liability) for any loss or damage of any kind or nature +related to, arising under or in connection with these +materials, including for any direct, or any indirect, +special, incidental, or consequential loss or damage +(including loss of data, profits, goodwill, or any type of +loss or damage suffered as a result of any action brought +by a third party) even if such damage or loss was +reasonably foreseeable or Xilinx had been advised of the +possibility of the same. + +CRITICAL APPLICATIONS +Xilinx products are not designed or intended to be fail- +safe, or for use in any application requiring fail-safe +performance, such as life-support or safety devices or +systems, Class III medical devices, nuclear facilities, +applications related to the deployment of airbags, or any +other applications that could lead to death, personal +injury, or severe property or environmental damage +(individually and collectively, "Critical +Applications"). Customer assumes the sole risk and +liability of any use of Xilinx products in Critical +Applications, subject only to applicable laws and +regulations governing limitations on product liability. + +THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +PART OF THIS FILE AT ALL TIMES. + diff --git a/ipcore_dir/lcd_spi_clk/doc/clk_wiz_v3_6_vinfo.html b/ipcore_dir/lcd_spi_clk/doc/clk_wiz_v3_6_vinfo.html new file mode 100644 index 0000000..d6deba0 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/doc/clk_wiz_v3_6_vinfo.html @@ -0,0 +1,195 @@ + + +clk_wiz_v3_6_vinfo + + + +
+ + diff --git a/ipcore_dir/lcd_spi_clk/doc/pg065_clk_wiz.pdf b/ipcore_dir/lcd_spi_clk/doc/pg065_clk_wiz.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a7daa6089fb11fc95652ecbb7534db7fa9e8b245 GIT binary patch literal 42657 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 PkOtdKjEoH};KOYIFuVn2 literal 0 HcmV?d00001 diff --git a/ipcore_dir/lcd_spi_clk/example_design/lcd_spi_clk_exdes.ucf b/ipcore_dir/lcd_spi_clk/example_design/lcd_spi_clk_exdes.ucf new file mode 100755 index 0000000..f979bce --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/example_design/lcd_spi_clk_exdes.ucf @@ -0,0 +1,59 @@ +# file: lcd_spi_clk_exdes.ucf +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# Input clock periods. These duplicate the values entered for the +# input clocks. You can use these to time your system +#---------------------------------------------------------------- +NET "CLK_IN1" TNM_NET = "CLK_IN1"; +TIMESPEC "TS_CLK_IN1" = PERIOD "CLK_IN1" 20.0 ns HIGH 50% INPUT_JITTER 200.0ps; + + +# FALSE PATH constraints +PIN "COUNTER_RESET" TIG; + diff --git a/ipcore_dir/lcd_spi_clk/example_design/lcd_spi_clk_exdes.v b/ipcore_dir/lcd_spi_clk/example_design/lcd_spi_clk_exdes.v new file mode 100755 index 0000000..e034060 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/example_design/lcd_spi_clk_exdes.v @@ -0,0 +1,169 @@ +// file: lcd_spi_clk_exdes.v +// +// (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +// +// This file contains confidential and proprietary information +// of Xilinx, Inc. and is protected under U.S. and +// international copyright and other intellectual property +// laws. +// +// DISCLAIMER +// This disclaimer is not a license and does not grant any +// rights to the materials distributed herewith. Except as +// otherwise provided in a valid license issued to you by +// Xilinx, and to the maximum extent permitted by applicable +// law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +// WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +// AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +// BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +// INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +// (2) Xilinx shall not be liable (whether in contract or tort, +// including negligence, or under any other theory of +// liability) for any loss or damage of any kind or nature +// related to, arising under or in connection with these +// materials, including for any direct, or any indirect, +// special, incidental, or consequential loss or damage +// (including loss of data, profits, goodwill, or any type of +// loss or damage suffered as a result of any action brought +// by a third party) even if such damage or loss was +// reasonably foreseeable or Xilinx had been advised of the +// possibility of the same. +// +// CRITICAL APPLICATIONS +// Xilinx products are not designed or intended to be fail- +// safe, or for use in any application requiring fail-safe +// performance, such as life-support or safety devices or +// systems, Class III medical devices, nuclear facilities, +// applications related to the deployment of airbags, or any +// other applications that could lead to death, personal +// injury, or severe property or environmental damage +// (individually and collectively, "Critical +// Applications"). Customer assumes the sole risk and +// liability of any use of Xilinx products in Critical +// Applications, subject only to applicable laws and +// regulations governing limitations on product liability. +// +// THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +// PART OF THIS FILE AT ALL TIMES. +// + +//---------------------------------------------------------------------------- +// Clocking wizard example design +//---------------------------------------------------------------------------- +// This example design instantiates the created clocking network, where each +// output clock drives a counter. The high bit of each counter is ported. +//---------------------------------------------------------------------------- + +`timescale 1ps/1ps + +module lcd_spi_clk_exdes + #( + parameter TCQ = 100 + ) + (// Clock in ports + input CLK_IN1, + // Reset that only drives logic in example design + input COUNTER_RESET, + output [2:1] CLK_OUT, + // High bits of counters driven by clocks + output [2:1] COUNT + ); + + // Parameters for the counters + //------------------------------- + // Counter width + localparam C_W = 16; + localparam NUM_C = 2; + genvar count_gen; + // Create reset for the counters + wire reset_int = COUNTER_RESET; + + reg [NUM_C:1] rst_sync; + reg [NUM_C:1] rst_sync_int; + reg [NUM_C:1] rst_sync_int1; + reg [NUM_C:1] rst_sync_int2; + + + // Declare the clocks and counters + wire [NUM_C:1] clk_int; + wire [NUM_C:1] clk_n; + wire [NUM_C:1] clk; + reg [C_W-1:0] counter [NUM_C:1]; + + // Instantiation of the clocking network + //-------------------------------------- + lcd_spi_clk clknetwork + (// Clock in ports + .clk_in (CLK_IN1), + // Clock out ports + .clk_fout (clk_int[1]), + .clk_nout (clk_int[2])); + +genvar clk_out_pins; + +generate + for (clk_out_pins = 1; clk_out_pins <= NUM_C; clk_out_pins = clk_out_pins + 1) + begin: gen_outclk_oddr + assign clk_n[clk_out_pins] = ~clk[clk_out_pins]; + + ODDR2 clkout_oddr + (.Q (CLK_OUT[clk_out_pins]), + .C0 (clk[clk_out_pins]), + .C1 (clk_n[clk_out_pins]), + .CE (1'b1), + .D0 (1'b1), + .D1 (1'b0), + .R (1'b0), + .S (1'b0)); + end +endgenerate + + // Connect the output clocks to the design + //----------------------------------------- + assign clk[1] = clk_int[1]; + assign clk[2] = clk_int[2]; + + + // Reset synchronizer + //----------------------------------- + generate for (count_gen = 1; count_gen <= NUM_C; count_gen = count_gen + 1) begin: counters_1 + always @(posedge reset_int or posedge clk[count_gen]) begin + if (reset_int) begin + rst_sync[count_gen] <= 1'b1; + rst_sync_int[count_gen]<= 1'b1; + rst_sync_int1[count_gen]<= 1'b1; + rst_sync_int2[count_gen]<= 1'b1; + end + else begin + rst_sync[count_gen] <= 1'b0; + rst_sync_int[count_gen] <= rst_sync[count_gen]; + rst_sync_int1[count_gen] <= rst_sync_int[count_gen]; + rst_sync_int2[count_gen] <= rst_sync_int1[count_gen]; + end + end + end + endgenerate + + + // Output clock sampling + //----------------------------------- + generate for (count_gen = 1; count_gen <= NUM_C; count_gen = count_gen + 1) begin: counters + + always @(posedge clk[count_gen] or posedge rst_sync_int2[count_gen]) begin + if (rst_sync_int2[count_gen]) begin + counter[count_gen] <= #TCQ { C_W { 1'b 0 } }; + end else begin + counter[count_gen] <= #TCQ counter[count_gen] + 1'b 1; + end + end + // alias the high bit of each counter to the corresponding + // bit in the output bus + assign COUNT[count_gen] = counter[count_gen][C_W-1]; + end + endgenerate + + + + + +endmodule diff --git a/ipcore_dir/lcd_spi_clk/example_design/lcd_spi_clk_exdes.xdc b/ipcore_dir/lcd_spi_clk/example_design/lcd_spi_clk_exdes.xdc new file mode 100755 index 0000000..85d7e7c --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/example_design/lcd_spi_clk_exdes.xdc @@ -0,0 +1,68 @@ +# file: lcd_spi_clk_exdes.xdc +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# Input clock periods. These duplicate the values entered for the +# input clocks. You can use these to time your system +#---------------------------------------------------------------- +create_clock -name CLK_IN1 -period 20.0 [get_ports CLK_IN1] +set_propagated_clock CLK_IN1 +set_input_jitter CLK_IN1 0.2 + +# FALSE PATH constraint added on COUNTER_RESET +set_false_path -from [get_ports "COUNTER_RESET"] + +# Derived clock periods. These are commented out because they are +# automatically propogated by the tools +# However, if you'd like to use them for module level testing, you +# can copy them into your module level timing checks +#----------------------------------------------------------------- + +#----------------------------------------------------------------- + +#----------------------------------------------------------------- diff --git a/ipcore_dir/lcd_spi_clk/implement/implement.bat b/ipcore_dir/lcd_spi_clk/implement/implement.bat new file mode 100755 index 0000000..b6bb1e8 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/implement/implement.bat @@ -0,0 +1,90 @@ +REM file: implement.bat +REM +REM (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +REM +REM This file contains confidential and proprietary information +REM of Xilinx, Inc. and is protected under U.S. and +REM international copyright and other intellectual property +REM laws. +REM +REM DISCLAIMER +REM This disclaimer is not a license and does not grant any +REM rights to the materials distributed herewith. Except as +REM otherwise provided in a valid license issued to you by +REM Xilinx, and to the maximum extent permitted by applicable +REM law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +REM WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +REM AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +REM BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +REM INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +REM (2) Xilinx shall not be liable (whether in contract or tort, +REM including negligence, or under any other theory of +REM liability) for any loss or damage of any kind or nature +REM related to, arising under or in connection with these +REM materials, including for any direct, or any indirect, +REM special, incidental, or consequential loss or damage +REM (including loss of data, profits, goodwill, or any type of +REM loss or damage suffered as a result of any action brought +REM by a third party) even if such damage or loss was +REM reasonably foreseeable or Xilinx had been advised of the +REM possibility of the same. +REM +REM CRITICAL APPLICATIONS +REM Xilinx products are not designed or intended to be fail- +REM safe, or for use in any application requiring fail-safe +REM performance, such as life-support or safety devices or +REM systems, Class III medical devices, nuclear facilities, +REM applications related to the deployment of airbags, or any +REM other applications that could lead to death, personal +REM injury, or severe property or environmental damage +REM (individually and collectively, "Critical +REM Applications"). Customer assumes the sole risk and +REM liability of any use of Xilinx products in Critical +REM Applications, subject only to applicable laws and +REM regulations governing limitations on product liability. +REM +REM THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +REM PART OF THIS FILE AT ALL TIMES. +REM + +REM ----------------------------------------------------------------------------- +REM Script to synthesize and implement the RTL provided for the clocking wizard +REM ----------------------------------------------------------------------------- + +REM Clean up the results directory +rmdir /S /Q results +mkdir results + +REM Copy unisim_comp.v file to results directory +copy %XILINX%\verilog\src\iSE\unisim_comp.v .\results\ + +REM Synthesize the Verilog Wrapper Files +echo 'Synthesizing Clocking Wizard design with XST' +xst -ifn xst.scr +move lcd_spi_clk_exdes.ngc results\ + +REM Copy the constraints files generated by Coregen +echo 'Copying files from constraints directory to results directory' +copy ..\example_design\lcd_spi_clk_exdes.ucf results\ + +cd results + +echo 'Running ngdbuild' +ngdbuild -uc lcd_spi_clk_exdes.ucf lcd_spi_clk_exdes + +echo 'Running map' +map -timing -pr b lcd_spi_clk_exdes -o mapped.ncd + +echo 'Running par' +par -w mapped.ncd routed mapped.pcf + +echo 'Running trce' +trce -e 10 routed -o routed mapped.pcf + +echo 'Running design through bitgen' +bitgen -w routed + +echo 'Running netgen to create gate level model for the clocking wizard example design' +netgen -ofmt verilog -sim -sdf_anno false -tm lcd_spi_clk_exdes -w routed.ncd routed.v +cd .. + diff --git a/ipcore_dir/lcd_spi_clk/implement/implement.sh b/ipcore_dir/lcd_spi_clk/implement/implement.sh new file mode 100755 index 0000000..a90b83c --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/implement/implement.sh @@ -0,0 +1,91 @@ +#!/bin/sh +# file: implement.sh +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +#----------------------------------------------------------------------------- +# Script to synthesize and implement the RTL provided for the clocking wizard +#----------------------------------------------------------------------------- + +# Clean up the results directory +rm -rf results +mkdir results + +# Copy unisim_comp.v file to results directory +cp $XILINX/verilog/src/iSE/unisim_comp.v ./results/ + +# Synthesize the Verilog Wrapper Files +echo 'Synthesizing Clocking Wizard design with XST' +xst -ifn xst.scr +mv lcd_spi_clk_exdes.ngc results/ + +# Copy the constraints files generated by Coregen +echo 'Copying files from constraints directory to results directory' +cp ../example_design/lcd_spi_clk_exdes.ucf results/ + +cd results + +echo 'Running ngdbuild' +ngdbuild -uc lcd_spi_clk_exdes.ucf lcd_spi_clk_exdes + +echo 'Running map' +map -timing lcd_spi_clk_exdes -o mapped.ncd + +echo 'Running par' +par -w mapped.ncd routed mapped.pcf + +echo 'Running trce' +trce -e 10 routed -o routed mapped.pcf + +echo 'Running design through bitgen' +bitgen -w routed + +echo 'Running netgen to create gate level model for the clocking wizard example design' +netgen -ofmt verilog -sim -sdf_anno false -tm lcd_spi_clk_exdes -w routed.ncd routed.v + +cd .. diff --git a/ipcore_dir/lcd_spi_clk/implement/planAhead_ise.bat b/ipcore_dir/lcd_spi_clk/implement/planAhead_ise.bat new file mode 100755 index 0000000..8ac7718 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/implement/planAhead_ise.bat @@ -0,0 +1,58 @@ +REM file: planAhead_ise.bat +REM +REM (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +REM +REM This file contains confidential and proprietary information +REM of Xilinx, Inc. and is protected under U.S. and +REM international copyright and other intellectual property +REM laws. +REM +REM DISCLAIMER +REM This disclaimer is not a license and does not grant any +REM rights to the materials distributed herewith. Except as +REM otherwise provided in a valid license issued to you by +REM Xilinx, and to the maximum extent permitted by applicable +REM law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +REM WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +REM AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +REM BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +REM INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +REM (2) Xilinx shall not be liable (whether in contract or tort, +REM including negligence, or under any other theory of +REM liability) for any loss or damage of any kind or nature +REM related to, arising under or in connection with these +REM materials, including for any direct, or any indirect, +REM special, incidental, or consequential loss or damage +REM (including loss of data, profits, goodwill, or any type of +REM loss or damage suffered as a result of any action brought +REM by a third party) even if such damage or loss was +REM reasonably foreseeable or Xilinx had been advised of the +REM possibility of the same. +REM +REM CRITICAL APPLICATIONS +REM Xilinx products are not designed or intended to be fail- +REM safe, or for use in any application requiring fail-safe +REM performance, such as life-support or safety devices or +REM systems, Class III medical devices, nuclear facilities, +REM applications related to the deployment of airbags, or any +REM other applications that could lead to death, personal +REM injury, or severe property or environmental damage +REM (individually and collectively, "Critical +REM Applications"). Customer assumes the sole risk and +REM liability of any use of Xilinx products in Critical +REM Applications, subject only to applicable laws and +REM regulations governing limitations on product liability. +REM +REM THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +REM PART OF THIS FILE AT ALL TIMES. +REM + +REM----------------------------------------------------------------------------- +REM Script to synthesize and implement the RTL provided for the clocking wizard +REM----------------------------------------------------------------------------- + +del \f results +mkdir results +cd results + +planAhead -mode batch -source ..\planAhead_ise.tcl diff --git a/ipcore_dir/lcd_spi_clk/implement/planAhead_ise.sh b/ipcore_dir/lcd_spi_clk/implement/planAhead_ise.sh new file mode 100755 index 0000000..6c8c837 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/implement/planAhead_ise.sh @@ -0,0 +1,59 @@ +#!/bin/sh +# file: planAhead_ise.sh +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +#----------------------------------------------------------------------------- +# Script to synthesize and implement the RTL provided for the clocking wizard +#----------------------------------------------------------------------------- + +rm -rf results +mkdir results +cd results + +planAhead -mode batch -source ../planAhead_ise.tcl diff --git a/ipcore_dir/lcd_spi_clk/implement/planAhead_ise.tcl b/ipcore_dir/lcd_spi_clk/implement/planAhead_ise.tcl new file mode 100755 index 0000000..69f66c4 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/implement/planAhead_ise.tcl @@ -0,0 +1,78 @@ +# file: planAhead_ise.tcl +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +set projDir [file dirname [info script]] +set projName lcd_spi_clk +set topName lcd_spi_clk_exdes +set device xc6slx9tqg144-2 + +create_project $projName $projDir/results/$projName -part $device + +set_property design_mode RTL [get_filesets sources_1] + +## Source files +#set verilogSources [glob $srcDir/*.v] +import_files -fileset [get_filesets sources_1] -force -norecurse ../../example_design/lcd_spi_clk_exdes.v +import_files -fileset [get_filesets sources_1] -force -norecurse ../../../lcd_spi_clk.v + + +#UCF file +import_files -fileset [get_filesets constrs_1] -force -norecurse ../../example_design/lcd_spi_clk_exdes.ucf + +set_property top $topName [get_property srcset [current_run]] + +launch_runs -runs synth_1 +wait_on_run synth_1 + +set_property add_step Bitgen [get_runs impl_1] +launch_runs -runs impl_1 +wait_on_run impl_1 + + + diff --git a/ipcore_dir/lcd_spi_clk/implement/planAhead_rdn.bat b/ipcore_dir/lcd_spi_clk/implement/planAhead_rdn.bat new file mode 100755 index 0000000..42273f5 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/implement/planAhead_rdn.bat @@ -0,0 +1,58 @@ +REM file: planAhead_rdn.sh +REM +REM (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +REM +REM This file contains confidential and proprietary information +REM of Xilinx, Inc. and is protected under U.S. and +REM international copyright and other intellectual property +REM laws. +REM +REM DISCLAIMER +REM This disclaimer is not a license and does not grant any +REM rights to the materials distributed herewith. Except as +REM otherwise provided in a valid license issued to you by +REM Xilinx, and to the maximum extent permitted by applicable +REM law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +REM WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +REM AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +REM BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +REM INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +REM (2) Xilinx shall not be liable (whether in contract or tort, +REM including negligence, or under any other theory of +REM liability) for any loss or damage of any kind or nature +REM related to, arising under or in connection with these +REM materials, including for any direct, or any indirect, +REM special, incidental, or consequential loss or damage +REM (including loss of data, profits, goodwill, or any type of +REM loss or damage suffered as a result of any action brought +REM by a third party) even if such damage or loss was +REM reasonably foreseeable or Xilinx had been advised of the +REM possibility of the same. +REM +REM CRITICAL APPLICATIONS +REM Xilinx products are not designed or intended to be fail- +REM safe, or for use in any application requiring fail-safe +REM performance, such as life-support or safety devices or +REM systems, Class III medical devices, nuclear facilities, +REM applications related to the deployment of airbags, or any +REM other applications that could lead to death, personal +REM injury, or severe property or environmental damage +REM (individually and collectively, "Critical +REM Applications"). Customer assumes the sole risk and +REM liability of any use of Xilinx products in Critical +REM Applications, subject only to applicable laws and +REM regulations governing limitations on product liability. +REM +REM THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +REM PART OF THIS FILE AT ALL TIMES. +REM + +REM----------------------------------------------------------------------------- +REM Script to synthesize and implement the RTL provided for the XADC wizard +REM----------------------------------------------------------------------------- + +del \f results +mkdir results +cd results + +planAhead -mode batch -source ..\planAhead_rdn.tcl diff --git a/ipcore_dir/lcd_spi_clk/implement/planAhead_rdn.sh b/ipcore_dir/lcd_spi_clk/implement/planAhead_rdn.sh new file mode 100755 index 0000000..f4c1472 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/implement/planAhead_rdn.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# file: planAhead_rdn.sh +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +#----------------------------------------------------------------------------- +# Script to synthesize and implement the RTL provided for the XADC wizard +#----------------------------------------------------------------------------- +rm -rf results +mkdir results +cd results +planAhead -mode batch -source ../planAhead_rdn.tcl diff --git a/ipcore_dir/lcd_spi_clk/implement/planAhead_rdn.tcl b/ipcore_dir/lcd_spi_clk/implement/planAhead_rdn.tcl new file mode 100755 index 0000000..5e0bbc9 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/implement/planAhead_rdn.tcl @@ -0,0 +1,69 @@ +# file : planAhead_rdn.tcl +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +set device xc6slx9tqg144-2 +set projName lcd_spi_clk +set design lcd_spi_clk +set projDir [file dirname [info script]] +create_project $projName $projDir/results/$projName -part $device -force +set_property design_mode RTL [current_fileset -srcset] +set top_module lcd_spi_clk_exdes +set_property top lcd_spi_clk_exdes [get_property srcset [current_run]] +add_files -norecurse {../../../lcd_spi_clk.v} +add_files -norecurse {../../example_design/lcd_spi_clk_exdes.v} +import_files -fileset [get_filesets constrs_1 ] -force -norecurse {../../example_design/lcd_spi_clk_exdes.xdc} +synth_design +opt_design +place_design +route_design +write_sdf -rename_top_module lcd_spi_clk_exdes -file routed.sdf +write_verilog -nolib -mode timesim -sdf_anno false -rename_top_module lcd_spi_clk_exdes -file routed.v +report_timing -nworst 30 -path_type full -file routed.twr +report_drc -file report.drc +write_bitstream -bitgen_options {-g UnconstrainedPins:Allow} -file routed.bit diff --git a/ipcore_dir/lcd_spi_clk/implement/xst.prj b/ipcore_dir/lcd_spi_clk/implement/xst.prj new file mode 100755 index 0000000..c567a63 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/implement/xst.prj @@ -0,0 +1,2 @@ +verilog work ../../lcd_spi_clk.v +verilog work ../example_design/lcd_spi_clk_exdes.v diff --git a/ipcore_dir/lcd_spi_clk/implement/xst.scr b/ipcore_dir/lcd_spi_clk/implement/xst.scr new file mode 100755 index 0000000..38abb82 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/implement/xst.scr @@ -0,0 +1,9 @@ +run +-ifmt MIXED +-top lcd_spi_clk_exdes +-p xc6slx9-tqg144-2 +-ifn xst.prj +-ofn lcd_spi_clk_exdes +-keep_hierarchy soft +-equivalent_register_removal no +-max_fanout 65535 diff --git a/ipcore_dir/lcd_spi_clk/simulation/functional/simcmds.tcl b/ipcore_dir/lcd_spi_clk/simulation/functional/simcmds.tcl new file mode 100755 index 0000000..9dc9880 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/functional/simcmds.tcl @@ -0,0 +1,8 @@ +# file: simcmds.tcl + +# create the simulation script +vcd dumpfile isim.vcd +vcd dumpvars -m /lcd_spi_clk_tb -l 0 +wave add / +run 50000ns +quit diff --git a/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_isim.bat b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_isim.bat new file mode 100755 index 0000000..18b9b59 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_isim.bat @@ -0,0 +1,59 @@ +REM file: simulate_isim.bat +REM +REM (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +REM +REM This file contains confidential and proprietary information +REM of Xilinx, Inc. and is protected under U.S. and +REM international copyright and other intellectual property +REM laws. +REM +REM DISCLAIMER +REM This disclaimer is not a license and does not grant any +REM rights to the materials distributed herewith. Except as +REM otherwise provided in a valid license issued to you by +REM Xilinx, and to the maximum extent permitted by applicable +REM law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +REM WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +REM AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +REM BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +REM INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +REM (2) Xilinx shall not be liable (whether in contract or tort, +REM including negligence, or under any other theory of +REM liability) for any loss or damage of any kind or nature +REM related to, arising under or in connection with these +REM materials, including for any direct, or any indirect, +REM special, incidental, or consequential loss or damage +REM (including loss of data, profits, goodwill, or any type of +REM loss or damage suffered as a result of any action brought +REM by a third party) even if such damage or loss was +REM reasonably foreseeable or Xilinx had been advised of the +REM possibility of the same. +REM +REM CRITICAL APPLICATIONS +REM Xilinx products are not designed or intended to be fail- +REM safe, or for use in any application requiring fail-safe +REM performance, such as life-support or safety devices or +REM systems, Class III medical devices, nuclear facilities, +REM applications related to the deployment of airbags, or any +REM other applications that could lead to death, personal +REM injury, or severe property or environmental damage +REM (individually and collectively, "Critical +REM Applications"). Customer assumes the sole risk and +REM liability of any use of Xilinx products in Critical +REM Applications, subject only to applicable laws and +REM regulations governing limitations on product liability. +REM +REM THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +REM PART OF THIS FILE AT ALL TIMES. +REM + +vlogcomp -work work %XILINX%\verilog\src\glbl.v +vlogcomp -work work ..\..\..\lcd_spi_clk.v +vlogcomp -work work ..\..\example_design\lcd_spi_clk_exdes.v +vlogcomp -work work ..\lcd_spi_clk_tb.v + +REM compile the project +fuse work.lcd_spi_clk_tb work.glbl -L unisims_ver -o lcd_spi_clk_isim.exe + +REM run the simulation script +.\lcd_spi_clk_isim.exe -gui -tclbatch simcmds.tcl diff --git a/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_isim.sh b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_isim.sh new file mode 100755 index 0000000..b814df2 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_isim.sh @@ -0,0 +1,61 @@ +# file: simulate_isim.sh +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# lin64 +# create the project +vlogcomp -work work ${XILINX}/verilog/src/glbl.v +vlogcomp -work work ../../../lcd_spi_clk.v +vlogcomp -work work ../../example_design/lcd_spi_clk_exdes.v +vlogcomp -work work ../lcd_spi_clk_tb.v + +# compile the project +fuse work.lcd_spi_clk_tb work.glbl -L unisims_ver -o lcd_spi_clk_isim.exe + +# run the simulation script +./lcd_spi_clk_isim.exe -gui -tclbatch simcmds.tcl diff --git a/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_mti.bat b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_mti.bat new file mode 100755 index 0000000..7ff51f8 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_mti.bat @@ -0,0 +1,61 @@ +REM file: simulate_mti.bat +REM +REM (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +REM +REM This file contains confidential and proprietary information +REM of Xilinx, Inc. and is protected under U.S. and +REM international copyright and other intellectual property +REM laws. +REM +REM DISCLAIMER +REM This disclaimer is not a license and does not grant any +REM rights to the materials distributed herewith. Except as +REM otherwise provided in a valid license issued to you by +REM Xilinx, and to the maximum extent permitted by applicable +REM law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +REM WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +REM AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +REM BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +REM INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +REM (2) Xilinx shall not be liable (whether in contract or tort, +REM including negligence, or under any other theory of +REM liability) for any loss or damage of any kind or nature +REM related to, arising under or in connection with these +REM materials, including for any direct, or any indirect, +REM special, incidental, or consequential loss or damage +REM (including loss of data, profits, goodwill, or any type of +REM loss or damage suffered as a result of any action brought +REM by a third party) even if such damage or loss was +REM reasonably foreseeable or Xilinx had been advised of the +REM possibility of the same. +REM +REM CRITICAL APPLICATIONS +REM Xilinx products are not designed or intended to be fail- +REM safe, or for use in any application requiring fail-safe +REM performance, such as life-support or safety devices or +REM systems, Class III medical devices, nuclear facilities, +REM applications related to the deployment of airbags, or any +REM other applications that could lead to death, personal +REM injury, or severe property or environmental damage +REM (individually and collectively, "Critical +REM Applications"). Customer assumes the sole risk and +REM liability of any use of Xilinx products in Critical +REM Applications, subject only to applicable laws and +REM regulations governing limitations on product liability. +REM +REM THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +REM PART OF THIS FILE AT ALL TIMES. +REM + +REM set up the working directory +vlib work + +REM compile all of the files +vlog -work work %XILINX%\verilog\src\glbl.v +vlog -work work ..\..\..\lcd_spi_clk.v +vlog -work work ..\..\example_design\lcd_spi_clk_exdes.v +vlog -work work ..\lcd_spi_clk_tb.v + +REM run the simulation +vsim -c -t ps -voptargs="+acc" -L secureip -L unisims_ver work.lcd_spi_clk_tb work.glbl + diff --git a/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_mti.do b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_mti.do new file mode 100755 index 0000000..b84dc1d --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_mti.do @@ -0,0 +1,65 @@ +# file: simulate_mti.do +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# set up the working directory +set work work +vlib work + +# compile all of the files +vlog -work work $env(XILINX)/verilog/src/glbl.v +vlog -work work ../../../lcd_spi_clk.v +vlog -work work ../../example_design/lcd_spi_clk_exdes.v +vlog -work work ../lcd_spi_clk_tb.v + +# run the simulation +vsim -t ps -voptargs="+acc" -L unisims_ver work.lcd_spi_clk_tb work.glbl +do wave.do +log lcd_spi_clk_tb/dut/counter +log -r /* +run 50000ns diff --git a/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_mti.sh b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_mti.sh new file mode 100755 index 0000000..731e6ec --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_mti.sh @@ -0,0 +1,61 @@ +#/bin/sh +# file: simulate_mti.sh +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# +# set up the working directory +set work work +vlib work + +# compile all of the files +vlog -work work $XILINX/verilog/src/glbl.v +vlog -work work ../../../lcd_spi_clk.v +vlog -work work ../../example_design/lcd_spi_clk_exdes.v +vlog -work work ../lcd_spi_clk_tb.v + +# run the simulation +vsim -c -t ps -voptargs="+acc" -L secureip -L unisims_ver work.lcd_spi_clk_tb work.glbl diff --git a/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_ncsim.sh b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_ncsim.sh new file mode 100755 index 0000000..68acaf5 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_ncsim.sh @@ -0,0 +1,62 @@ +#/bin/sh +# file: simulate_ncsim.sh +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# set up the working directory +mkdir work + +# compile all of the files +ncvlog -work work ${XILINX}/verilog/src/glbl.v +ncvlog -work work ../../../lcd_spi_clk.v +ncvlog -work work ../../example_design/lcd_spi_clk_exdes.v +ncvlog -work work ../lcd_spi_clk_tb.v + +# elaborate and run the simulation +ncelab -work work -access +wc work.lcd_spi_clk_tb work.glbl +ncsim -input "@database -open -shm nc; probe -create -database nc -all -depth all; probe dut.counter; run 50000ns; exit" work.lcd_spi_clk_tb diff --git a/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_vcs.sh b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_vcs.sh new file mode 100755 index 0000000..e5d3a1b --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/functional/simulate_vcs.sh @@ -0,0 +1,72 @@ +#!/bin/sh +# file: simulate_vcs.sh +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# remove old files +rm -rf simv* csrc DVEfiles AN.DB + +# compile all of the files +# Note that -sverilog is not strictly required- You can +# remove the -sverilog if you change the type of the +# localparam for the periods in the testbench file to +# [63:0] from time +vlogan -sverilog \ + ${XILINX}/verilog/src/glbl.v \ + ../../../lcd_spi_clk.v \ + ../../example_design/lcd_spi_clk_exdes.v \ + ../lcd_spi_clk_tb.v + +# prepare the simulation +vcs +vcs+lic+wait -debug lcd_spi_clk_tb glbl + +# run the simulation +./simv -ucli -i ucli_commands.key + +# launch the viewer +dve -vpd vcdplus.vpd -session vcs_session.tcl diff --git a/ipcore_dir/lcd_spi_clk/simulation/functional/ucli_commands.key b/ipcore_dir/lcd_spi_clk/simulation/functional/ucli_commands.key new file mode 100755 index 0000000..8152888 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/functional/ucli_commands.key @@ -0,0 +1,5 @@ +call {$vcdpluson} +call {$vcdplusmemon(lcd_spi_clk_tb.dut.counter)} +run +call {$vcdplusclose} +quit diff --git a/ipcore_dir/lcd_spi_clk/simulation/functional/vcs_session.tcl b/ipcore_dir/lcd_spi_clk/simulation/functional/vcs_session.tcl new file mode 100755 index 0000000..83de97a --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/functional/vcs_session.tcl @@ -0,0 +1,15 @@ +gui_open_window Wave +gui_sg_create lcd_spi_clk_group +gui_list_add_group -id Wave.1 {lcd_spi_clk_group} +gui_sg_addsignal -group lcd_spi_clk_group {lcd_spi_clk_tb.test_phase} +gui_set_radix -radix {ascii} -signals {lcd_spi_clk_tb.test_phase} +gui_sg_addsignal -group lcd_spi_clk_group {{Input_clocks}} -divider +gui_sg_addsignal -group lcd_spi_clk_group {lcd_spi_clk_tb.CLK_IN1} +gui_sg_addsignal -group lcd_spi_clk_group {{Output_clocks}} -divider +gui_sg_addsignal -group lcd_spi_clk_group {lcd_spi_clk_tb.dut.clk} +gui_list_expand -id Wave.1 lcd_spi_clk_tb.dut.clk +gui_sg_addsignal -group lcd_spi_clk_group {{Counters}} -divider +gui_sg_addsignal -group lcd_spi_clk_group {lcd_spi_clk_tb.COUNT} +gui_sg_addsignal -group lcd_spi_clk_group {lcd_spi_clk_tb.dut.counter} +gui_list_expand -id Wave.1 lcd_spi_clk_tb.dut.counter +gui_zoom -window Wave.1 -full diff --git a/ipcore_dir/lcd_spi_clk/simulation/functional/wave.do b/ipcore_dir/lcd_spi_clk/simulation/functional/wave.do new file mode 100755 index 0000000..bb731af --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/functional/wave.do @@ -0,0 +1,57 @@ +# file: wave.do +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +add wave -noupdate -format Literal -radix ascii /lcd_spi_clk_tb/test_phase +add wave -noupdate -divider {Input clocks} +add wave -noupdate -format Logic /lcd_spi_clk_tb/CLK_IN1 +add wave -noupdate -divider {Output clocks} +add wave -noupdate -format Literal -expand /lcd_spi_clk_tb/dut/clk +add wave -noupdate -divider Counters +add wave -noupdate -format Literal -radix hexadecimal /lcd_spi_clk_tb/COUNT +add wave -noupdate -format Literal -radix hexadecimal -expand /lcd_spi_clk_tb/dut/counter diff --git a/ipcore_dir/lcd_spi_clk/simulation/functional/wave.sv b/ipcore_dir/lcd_spi_clk/simulation/functional/wave.sv new file mode 100755 index 0000000..f4a6296 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/functional/wave.sv @@ -0,0 +1,111 @@ +# file: wave.sv +# +# (c) Copyright 2008 - 2010 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# +# Get the windows set up +# +if {[catch {window new WatchList -name "Design Browser 1" -geometry 1054x819+536+322}] != ""} { + window geometry "Design Browser 1" 1054x819+536+322 +} +window target "Design Browser 1" on +browser using {Design Browser 1} +browser set \ + -scope nc::lcd_spi_clk_tb +browser yview see nc::lcd_spi_clk_tb +browser timecontrol set -lock 0 + +if {[catch {window new WaveWindow -name "Waveform 1" -geometry 1010x600+0+541}] != ""} { + window geometry "Waveform 1" 1010x600+0+541 +} +window target "Waveform 1" on +waveform using {Waveform 1} +waveform sidebar visibility partial +waveform set \ + -primarycursor TimeA \ + -signalnames name \ + -signalwidth 175 \ + -units ns \ + -valuewidth 75 +cursor set -using TimeA -time 0 +waveform baseline set -time 0 +waveform xview limits 0 20000n + +# +# Define signal groups +# +catch {group new -name {Output clocks} -overlay 0} +catch {group new -name {Status/control} -overlay 0} +catch {group new -name {Counters} -overlay 0} + +set id [waveform add -signals [list {nc::lcd_spi_clk_tb.CLK_IN1}]] + +group using {Output clocks} +group set -overlay 0 +group set -comment {} +group clear 0 end + +group insert \ + {lcd_spi_clk_tb.dut.clk[1]} \ + {lcd_spi_clk_tb.dut.clk[2]} +group using {Counters} +group set -overlay 0 +group set -comment {} +group clear 0 end + +group insert \ + {lcd_spi_clk_tb.dut.counter[1]} \ + {lcd_spi_clk_tb.dut.counter[2]} + +set id [waveform add -signals [list {nc::lcd_spi_clk_tb.COUNT} ]] + +set id [waveform add -signals [list {nc::lcd_spi_clk_tb.test_phase} ]] +waveform format $id -radix %a + +set groupId [waveform add -groups {{Input clocks}}] +set groupId [waveform add -groups {{Output clocks}}] +set groupId [waveform add -groups {{Status/control}}] +set groupId [waveform add -groups {{Counters}}] diff --git a/ipcore_dir/lcd_spi_clk/simulation/lcd_spi_clk_tb.v b/ipcore_dir/lcd_spi_clk/simulation/lcd_spi_clk_tb.v new file mode 100755 index 0000000..3005c07 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/lcd_spi_clk_tb.v @@ -0,0 +1,133 @@ +// file: lcd_spi_clk_tb.v +// +// (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +// +// This file contains confidential and proprietary information +// of Xilinx, Inc. and is protected under U.S. and +// international copyright and other intellectual property +// laws. +// +// DISCLAIMER +// This disclaimer is not a license and does not grant any +// rights to the materials distributed herewith. Except as +// otherwise provided in a valid license issued to you by +// Xilinx, and to the maximum extent permitted by applicable +// law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +// WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +// AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +// BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +// INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +// (2) Xilinx shall not be liable (whether in contract or tort, +// including negligence, or under any other theory of +// liability) for any loss or damage of any kind or nature +// related to, arising under or in connection with these +// materials, including for any direct, or any indirect, +// special, incidental, or consequential loss or damage +// (including loss of data, profits, goodwill, or any type of +// loss or damage suffered as a result of any action brought +// by a third party) even if such damage or loss was +// reasonably foreseeable or Xilinx had been advised of the +// possibility of the same. +// +// CRITICAL APPLICATIONS +// Xilinx products are not designed or intended to be fail- +// safe, or for use in any application requiring fail-safe +// performance, such as life-support or safety devices or +// systems, Class III medical devices, nuclear facilities, +// applications related to the deployment of airbags, or any +// other applications that could lead to death, personal +// injury, or severe property or environmental damage +// (individually and collectively, "Critical +// Applications"). Customer assumes the sole risk and +// liability of any use of Xilinx products in Critical +// Applications, subject only to applicable laws and +// regulations governing limitations on product liability. +// +// THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +// PART OF THIS FILE AT ALL TIMES. +// + +//---------------------------------------------------------------------------- +// Clocking wizard demonstration testbench +//---------------------------------------------------------------------------- +// This demonstration testbench instantiates the example design for the +// clocking wizard. Input clocks are toggled, which cause the clocking +// network to lock and the counters to increment. +//---------------------------------------------------------------------------- + +`timescale 1ps/1ps + +`define wait_lock @(posedge dut.clknetwork.dcm_sp_inst.LOCKED) + +module lcd_spi_clk_tb (); + + // Clock to Q delay of 100ps + localparam TCQ = 100; + + + // timescale is 1ps/1ps + localparam ONE_NS = 1000; + localparam PHASE_ERR_MARGIN = 100; // 100ps + // how many cycles to run + localparam COUNT_PHASE = 1024; + // we'll be using the period in many locations + localparam time PER1 = 20.0*ONE_NS; + localparam time PER1_1 = PER1/2; + localparam time PER1_2 = PER1 - PER1/2; + + // Declare the input clock signals + reg CLK_IN1 = 1; + + // The high bits of the sampling counters + wire [2:1] COUNT; + reg COUNTER_RESET = 0; +wire [2:1] CLK_OUT; +//Freq Check using the M & D values setting and actual Frequency generated + + + // Input clock generation + //------------------------------------ + always begin + CLK_IN1 = #PER1_1 ~CLK_IN1; + CLK_IN1 = #PER1_2 ~CLK_IN1; + end + + // Test sequence + reg [15*8-1:0] test_phase = ""; + initial begin + // Set up any display statements using time to be readable + $timeformat(-12, 2, "ps", 10); + COUNTER_RESET = 0; + test_phase = "wait lock"; + `wait_lock; + #(PER1*6); + COUNTER_RESET = 1; + #(PER1*20) + COUNTER_RESET = 0; + + test_phase = "counting"; + #(PER1*COUNT_PHASE); + + $display("SIMULATION PASSED"); + $display("SYSTEM_CLOCK_COUNTER : %0d\n",$time/PER1); + $finish; + end + + // Instantiation of the example design containing the clock + // network and sampling counters + //--------------------------------------------------------- + lcd_spi_clk_exdes + #( + .TCQ (TCQ) + ) dut + (// Clock in ports + .CLK_IN1 (CLK_IN1), + // Reset for logic in example design + .COUNTER_RESET (COUNTER_RESET), + .CLK_OUT (CLK_OUT), + // High bits of the counters + .COUNT (COUNT)); + +// Freq Check + +endmodule diff --git a/ipcore_dir/lcd_spi_clk/simulation/timing/lcd_spi_clk_tb.v b/ipcore_dir/lcd_spi_clk/simulation/timing/lcd_spi_clk_tb.v new file mode 100755 index 0000000..e7bcef7 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/timing/lcd_spi_clk_tb.v @@ -0,0 +1,136 @@ +// file: lcd_spi_clk_tb.v +// +// (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +// +// This file contains confidential and proprietary information +// of Xilinx, Inc. and is protected under U.S. and +// international copyright and other intellectual property +// laws. +// +// DISCLAIMER +// This disclaimer is not a license and does not grant any +// rights to the materials distributed herewith. Except as +// otherwise provided in a valid license issued to you by +// Xilinx, and to the maximum extent permitted by applicable +// law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +// WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +// AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +// BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +// INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +// (2) Xilinx shall not be liable (whether in contract or tort, +// including negligence, or under any other theory of +// liability) for any loss or damage of any kind or nature +// related to, arising under or in connection with these +// materials, including for any direct, or any indirect, +// special, incidental, or consequential loss or damage +// (including loss of data, profits, goodwill, or any type of +// loss or damage suffered as a result of any action brought +// by a third party) even if such damage or loss was +// reasonably foreseeable or Xilinx had been advised of the +// possibility of the same. +// +// CRITICAL APPLICATIONS +// Xilinx products are not designed or intended to be fail- +// safe, or for use in any application requiring fail-safe +// performance, such as life-support or safety devices or +// systems, Class III medical devices, nuclear facilities, +// applications related to the deployment of airbags, or any +// other applications that could lead to death, personal +// injury, or severe property or environmental damage +// (individually and collectively, "Critical +// Applications"). Customer assumes the sole risk and +// liability of any use of Xilinx products in Critical +// Applications, subject only to applicable laws and +// regulations governing limitations on product liability. +// +// THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +// PART OF THIS FILE AT ALL TIMES. +// + +//---------------------------------------------------------------------------- +// Clocking wizard demonstration testbench +//---------------------------------------------------------------------------- +// This demonstration testbench instantiates the example design for the +// clocking wizard. Input clocks are toggled, which cause the clocking +// network to lock and the counters to increment. +//---------------------------------------------------------------------------- + +`timescale 1ps/1ps + + +module lcd_spi_clk_tb (); + + // Clock to Q delay of 100ps + localparam TCQ = 100; + + + // timescale is 1ps/1ps + localparam ONE_NS = 1000; + localparam PHASE_ERR_MARGIN = 100; // 100ps + // how many cycles to run + localparam COUNT_PHASE = 1024; + // we'll be using the period in many locations + localparam time PER1 = 20.0*ONE_NS; + localparam time PER1_1 = PER1/2; + localparam time PER1_2 = PER1 - PER1/2; + + // Declare the input clock signals + reg CLK_IN1 = 1; + + // The high bits of the sampling counters + wire [2:1] COUNT; + reg COUNTER_RESET = 0; +wire [2:1] CLK_OUT; +//Freq Check using the M & D values setting and actual Frequency generated + + reg [13:0] timeout_counter = 14'b00000000000000; + + // Input clock generation + //------------------------------------ + always begin + CLK_IN1 = #PER1_1 ~CLK_IN1; + CLK_IN1 = #PER1_2 ~CLK_IN1; + end + + // Test sequence + reg [15*8-1:0] test_phase = ""; + initial begin + // Set up any display statements using time to be readable + $timeformat(-12, 2, "ps", 10); + $display ("Timing checks are not valid"); + COUNTER_RESET = 0; + test_phase = "wait lock"; + #(PER1*50); + #(PER1*6); + COUNTER_RESET = 1; + #(PER1*19.5) + COUNTER_RESET = 0; + #(PER1*1) + $display ("Timing checks are valid"); + test_phase = "counting"; + #(PER1*COUNT_PHASE); + + $display("SIMULATION PASSED"); + $display("SYSTEM_CLOCK_COUNTER : %0d\n",$time/PER1); + $finish; + end + + + + // Instantiation of the example design containing the clock + // network and sampling counters + //--------------------------------------------------------- + lcd_spi_clk_exdes + dut + (// Clock in ports + .CLK_IN1 (CLK_IN1), + // Reset for logic in example design + .COUNTER_RESET (COUNTER_RESET), + .CLK_OUT (CLK_OUT), + // High bits of the counters + .COUNT (COUNT)); + + +// Freq Check + +endmodule diff --git a/ipcore_dir/lcd_spi_clk/simulation/timing/sdf_cmd_file b/ipcore_dir/lcd_spi_clk/simulation/timing/sdf_cmd_file new file mode 100755 index 0000000..4456690 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/timing/sdf_cmd_file @@ -0,0 +1,2 @@ +COMPILED_SDF_FILE = "../../implement/results/routed.sdf.X", +SCOPE = lcd_spi_clk_tb.dut; diff --git a/ipcore_dir/lcd_spi_clk/simulation/timing/simcmds.tcl b/ipcore_dir/lcd_spi_clk/simulation/timing/simcmds.tcl new file mode 100755 index 0000000..acb2601 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/timing/simcmds.tcl @@ -0,0 +1,9 @@ +# file: simcmds.tcl + +# create the simulation script +vcd dumpfile isim.vcd +vcd dumpvars -m /lcd_spi_clk_tb -l 0 +wave add / +run 50000ns +quit + diff --git a/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_isim.sh b/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_isim.sh new file mode 100755 index 0000000..e65ad16 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_isim.sh @@ -0,0 +1,62 @@ +# file: simulate_isim.sh +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# create the project +vlogcomp -work work ${XILINX}/verilog/src/glbl.v +vlogcomp -work work ../../implement/results/routed.v +vlogcomp -work work lcd_spi_clk_tb.v + +# compile the project +fuse work.lcd_spi_clk_tb work.glbl -L secureip -L simprims_ver -o lcd_spi_clk_isim.exe + +# run the simulation script +./lcd_spi_clk_isim.exe -tclbatch simcmds.tcl -sdfmax /lcd_spi_clk_tb/dut=../../implement/results/routed.sdf + +# run the simulation script +#./lcd_spi_clk_isim.exe -gui -tclbatch simcmds.tcl diff --git a/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_mti.bat b/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_mti.bat new file mode 100755 index 0000000..6ef5f23 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_mti.bat @@ -0,0 +1,59 @@ +REM file: simulate_mti.bat +REM +REM (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +REM +REM This file contains confidential and proprietary information +REM of Xilinx, Inc. and is protected under U.S. and +REM international copyright and other intellectual property +REM laws. +REM +REM DISCLAIMER +REM This disclaimer is not a license and does not grant any +REM rights to the materials distributed herewith. Except as +REM otherwise provided in a valid license issued to you by +REM Xilinx, and to the maximum extent permitted by applicable +REM law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +REM WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +REM AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +REM BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +REM INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +REM (2) Xilinx shall not be liable (whether in contract or tort, +REM including negligence, or under any other theory of +REM liability) for any loss or damage of any kind or nature +REM related to, arising under or in connection with these +REM materials, including for any direct, or any indirect, +REM special, incidental, or consequential loss or damage +REM (including loss of data, profits, goodwill, or any type of +REM loss or damage suffered as a result of any action brought +REM by a third party) even if such damage or loss was +REM reasonably foreseeable or Xilinx had been advised of the +REM possibility of the same. +REM +REM CRITICAL APPLICATIONS +REM Xilinx products are not designed or intended to be fail- +REM safe, or for use in any application requiring fail-safe +REM performance, such as life-support or safety devices or +REM systems, Class III medical devices, nuclear facilities, +REM applications related to the deployment of airbags, or any +REM other applications that could lead to death, personal +REM injury, or severe property or environmental damage +REM (individually and collectively, "Critical +REM Applications"). Customer assumes the sole risk and +REM liability of any use of Xilinx products in Critical +REM Applications, subject only to applicable laws and +REM regulations governing limitations on product liability. +REM +REM THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +REM PART OF THIS FILE AT ALL TIMES. +REM +# set up the working directory +set work work +vlib work + +REM compile all of the files +vlog -work work %XILINX%\verilog\src\glbl.v +vlog -work work ..\..\implement\results\routed.v +vlog -work work lcd_spi_clk_tb.v + +REM run the simulation +vsim -c -t ps +transport_int_delays -voptargs="+acc" -L secureip -L simprims_ver -sdfmax lcd_spi_clk_tb\dut=..\..\implement\results\routed.sdf +no_notifier work.lcd_spi_clk_tb work.glbl diff --git a/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_mti.do b/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_mti.do new file mode 100755 index 0000000..1003853 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_mti.do @@ -0,0 +1,65 @@ +# file: simulate_mti.do +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# set up the working directory +set work work +vlib work + +# compile all of the files +vlog -work work $env(XILINX)/verilog/src/glbl.v +vlog -work work ../../implement/results/routed.v +vlog -work work lcd_spi_clk_tb.v + +# run the simulation +vsim -t ps +transport_int_delays -voptargs="+acc" -L secureip -L simprims_ver -sdfmax lcd_spi_clk_tb/dut=../../implement/results/routed.sdf +no_notifier work.lcd_spi_clk_tb work.glbl +#do wave.do +#log -r /* +run 50000ns + + diff --git a/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_mti.sh b/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_mti.sh new file mode 100755 index 0000000..f391aa8 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_mti.sh @@ -0,0 +1,61 @@ +#/bin/sh +# file: simulate_mti.sh +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# set up the working directory +set work work +vlib work + +# compile all of the files +vlog -work work $XILINX/verilog/src/glbl.v +vlog -work work ../../implement/results/routed.v +vlog -work work lcd_spi_clk_tb.v + +# run the simulation +vsim -c -t ps +transport_int_delays -voptargs="+acc" -L secureip -L simprims_ver -sdfmax lcd_spi_clk_tb/dut=../../implement/results/routed.sdf +no_notifier work.lcd_spi_clk_tb work.glbl diff --git a/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_ncsim.sh b/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_ncsim.sh new file mode 100755 index 0000000..73b3aed --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_ncsim.sh @@ -0,0 +1,64 @@ +#!/bin/sh +# file: simulate_ncsim.sh +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# set up the working directory +mkdir work + +# compile all of the files +ncvlog -work work ${XILINX}/verilog/src/glbl.v +ncvlog -work work ../../implement/results/routed.v +ncvlog -work work lcd_spi_clk_tb.v + +# elaborate and run the simulation +ncsdfc ../../implement/results/routed.sdf + +ncelab -work work -access +wc -pulse_r 10 -nonotifier work.lcd_spi_clk_tb work.glbl -sdf_cmd_file sdf_cmd_file +ncsim -input "@database -open -shm nc; probe -create -database nc -all -depth all; run 50000ns; exit" work.lcd_spi_clk_tb + diff --git a/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_vcs.sh b/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_vcs.sh new file mode 100755 index 0000000..3a6b647 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/timing/simulate_vcs.sh @@ -0,0 +1,72 @@ +#!/bin/sh +# file: simulate_vcs.sh +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# remove old files +rm -rf simv* csrc DVEfiles AN.DB + +# compile all of the files +# Note that -sverilog is not strictly required- You can +# remove the -sverilog if you change the type of the +# localparam for the periods in the testbench file to +# [63:0] from time + vlogan -sverilog \ + lcd_spi_clk_tb.v \ + ../../implement/results/routed.v + + +# prepare the simulation +vcs -sdf max:lcd_spi_clk_exdes:../../implement/results/routed.sdf +v2k -y $XILINX/verilog/src/simprims \ + +libext+.v -debug lcd_spi_clk_tb.v ../../implement/results/routed.v + +# run the simulation +./simv -ucli -i ucli_commands.key + +# launch the viewer +#dve -vpd vcdplus.vpd -session vcs_session.tcl diff --git a/ipcore_dir/lcd_spi_clk/simulation/timing/ucli_commands.key b/ipcore_dir/lcd_spi_clk/simulation/timing/ucli_commands.key new file mode 100755 index 0000000..0548d17 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/timing/ucli_commands.key @@ -0,0 +1,5 @@ + +call {$vcdpluson} +run 50000ns +call {$vcdplusclose} +quit diff --git a/ipcore_dir/lcd_spi_clk/simulation/timing/vcs_session.tcl b/ipcore_dir/lcd_spi_clk/simulation/timing/vcs_session.tcl new file mode 100755 index 0000000..1438f6b --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/timing/vcs_session.tcl @@ -0,0 +1 @@ +gui_open_window Wave diff --git a/ipcore_dir/lcd_spi_clk/simulation/timing/wave.do b/ipcore_dir/lcd_spi_clk/simulation/timing/wave.do new file mode 100755 index 0000000..c8119c0 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk/simulation/timing/wave.do @@ -0,0 +1,70 @@ +# file: wave.do +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +onerror {resume} +quietly WaveActivateNextPane {} 0 +add wave -noupdate /lcd_spi_clk_tb/CLK_IN1 +add wave -noupdate /lcd_spi_clk_tb/COUNT +TreeUpdate [SetDefaultTree] +WaveRestoreCursors {{Cursor 1} {3223025 ps} 0} +configure wave -namecolwidth 238 +configure wave -valuecolwidth 107 +configure wave -justifyvalue left +configure wave -signalnamewidth 0 +configure wave -snapdistance 10 +configure wave -datasetprefix 0 +configure wave -rowmargin 4 +configure wave -childrowmargin 2 +configure wave -gridoffset 0 +configure wave -gridperiod 1 +configure wave -griddelta 40 +configure wave -timeline 0 +configure wave -timelineunits ps +update +WaveRestoreZoom {0 ps} {74848022 ps} diff --git a/ipcore_dir/lcd_spi_clk_flist.txt b/ipcore_dir/lcd_spi_clk_flist.txt new file mode 100644 index 0000000..6e3d771 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk_flist.txt @@ -0,0 +1,54 @@ +# Output products list for +_xmsgs/pn_parser.xmsgs +lcd_spi_clk/clk_wiz_v3_6_readme.txt +lcd_spi_clk/doc/clk_wiz_v3_6_readme.txt +lcd_spi_clk/doc/clk_wiz_v3_6_vinfo.html +lcd_spi_clk/doc/pg065_clk_wiz.pdf +lcd_spi_clk/example_design/lcd_spi_clk_exdes.ucf +lcd_spi_clk/example_design/lcd_spi_clk_exdes.v +lcd_spi_clk/example_design/lcd_spi_clk_exdes.xdc +lcd_spi_clk/implement/implement.bat +lcd_spi_clk/implement/implement.sh +lcd_spi_clk/implement/planAhead_ise.bat +lcd_spi_clk/implement/planAhead_ise.sh +lcd_spi_clk/implement/planAhead_ise.tcl +lcd_spi_clk/implement/planAhead_rdn.bat +lcd_spi_clk/implement/planAhead_rdn.sh +lcd_spi_clk/implement/planAhead_rdn.tcl +lcd_spi_clk/implement/xst.prj +lcd_spi_clk/implement/xst.scr +lcd_spi_clk/simulation/functional/simcmds.tcl +lcd_spi_clk/simulation/functional/simulate_isim.bat +lcd_spi_clk/simulation/functional/simulate_isim.sh +lcd_spi_clk/simulation/functional/simulate_mti.bat +lcd_spi_clk/simulation/functional/simulate_mti.do +lcd_spi_clk/simulation/functional/simulate_mti.sh +lcd_spi_clk/simulation/functional/simulate_ncsim.sh +lcd_spi_clk/simulation/functional/simulate_vcs.sh +lcd_spi_clk/simulation/functional/ucli_commands.key +lcd_spi_clk/simulation/functional/vcs_session.tcl +lcd_spi_clk/simulation/functional/wave.do +lcd_spi_clk/simulation/functional/wave.sv +lcd_spi_clk/simulation/lcd_spi_clk_tb.v +lcd_spi_clk/simulation/timing/lcd_spi_clk_tb.v +lcd_spi_clk/simulation/timing/sdf_cmd_file +lcd_spi_clk/simulation/timing/simcmds.tcl +lcd_spi_clk/simulation/timing/simulate_isim.sh +lcd_spi_clk/simulation/timing/simulate_mti.bat +lcd_spi_clk/simulation/timing/simulate_mti.do +lcd_spi_clk/simulation/timing/simulate_mti.sh +lcd_spi_clk/simulation/timing/simulate_ncsim.sh +lcd_spi_clk/simulation/timing/simulate_vcs.sh +lcd_spi_clk/simulation/timing/ucli_commands.key +lcd_spi_clk/simulation/timing/vcs_session.tcl +lcd_spi_clk/simulation/timing/wave.do +lcd_spi_clk.asy +lcd_spi_clk.gise +lcd_spi_clk.ucf +lcd_spi_clk.v +lcd_spi_clk.veo +lcd_spi_clk.xco +lcd_spi_clk.xdc +lcd_spi_clk.xise +lcd_spi_clk_flist.txt +lcd_spi_clk_xmdf.tcl diff --git a/ipcore_dir/lcd_spi_clk_xmdf.tcl b/ipcore_dir/lcd_spi_clk_xmdf.tcl new file mode 100755 index 0000000..6b255d0 --- /dev/null +++ b/ipcore_dir/lcd_spi_clk_xmdf.tcl @@ -0,0 +1,140 @@ +# The package naming convention is _xmdf +package provide lcd_spi_clk_xmdf 1.0 + +# This includes some utilities that support common XMDF operations +package require utilities_xmdf + +# Define a namespace for this package. The name of the name space +# is _xmdf +namespace eval ::lcd_spi_clk_xmdf { +# Use this to define any statics +} + +# Function called by client to rebuild the params and port arrays +# Optional when the use context does not require the param or ports +# arrays to be available. +proc ::lcd_spi_clk_xmdf::xmdfInit { instance } { +# Variable containg name of library into which module is compiled +# Recommendation: +# Required +utilities_xmdf::xmdfSetData $instance Module Attributes Name lcd_spi_clk +} +# ::lcd_spi_clk_xmdf::xmdfInit + +# Function called by client to fill in all the xmdf* data variables +# based on the current settings of the parameters +proc ::lcd_spi_clk_xmdf::xmdfApplyParams { instance } { + +set fcount 0 +# Array containing libraries that are assumed to exist +# Examples include unisim and xilinxcorelib +# Optional +# In this example, we assume that the unisim library will +# be magically +# available to the simulation and synthesis tool +utilities_xmdf::xmdfSetData $instance FileSet $fcount type logical_library +utilities_xmdf::xmdfSetData $instance FileSet $fcount logical_library unisim +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/clk_wiz_readme.txt +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/doc/clk_wiz_ds709.pdf +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/doc/clk_wiz_gsg521.pdf +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/implement/implement.bat +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/implement/implement.sh +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/implement/xst.prj +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/implement/xst.scr +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/simulation/lcd_spi_clk_tb.v +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/simulation/functional/simcmds.tcl +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/simulation/functional/simulate_isim.sh +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/simulation/functional/simulate_mti.do +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/simulation/functional/simulate_ncsim.sh +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/simulation/functional/simulate_vcs.sh +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/simulation/functional/ucli_commands.key +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/simulation/functional/vcs_session.tcl +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/simulation/functional/wave.do +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk/simulation/functional/wave.sv +utilities_xmdf::xmdfSetData $instance FileSet $fcount type Ignore +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk.asy +utilities_xmdf::xmdfSetData $instance FileSet $fcount type asy +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk.ejp +utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk.ucf +utilities_xmdf::xmdfSetData $instance FileSet $fcount type ucf +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk.v +utilities_xmdf::xmdfSetData $instance FileSet $fcount type verilog +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk.veo +utilities_xmdf::xmdfSetData $instance FileSet $fcount type verilog_template +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk.xco +utilities_xmdf::xmdfSetData $instance FileSet $fcount type coregen_ip +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path lcd_spi_clk_xmdf.tcl +utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount associated_module lcd_spi_clk +incr fcount + +} + +# ::gen_comp_name_xmdf::xmdfApplyParams diff --git a/iseconfig/Mojo-Base.projectmgr b/iseconfig/Mojo-Base.projectmgr new file mode 100644 index 0000000..52b44ba --- /dev/null +++ b/iseconfig/Mojo-Base.projectmgr @@ -0,0 +1,94 @@ + + + + + + + + + 2 + /avr_interface |home|justin|workspace|Mojo-Tutorials|Mojo-Base|src|avr_interface.v + + + mojo_top (/home/dormando/p/mojo/verilog-raycaster/src/mojo_top.v) + + 27 + 0 + 000000ff000000000000000100000001000000000000000000000000000000000202000000010000000100000064000001c7000000020000000000000000000000000200000064ffffffff000000810000000300000002000001c70000000100000003000000000000000100000003 + true + mojo_top (/home/dormando/p/mojo/verilog-raycaster/src/mojo_top.v) + + + + 1 + Configure Target Device + Design Utilities + Implement Design/Map + Implement Design/Place & Route + Implement Design/Translate + Synthesize - XST + User Constraints + + + + + 0 + 0 + 000000ff0000000000000001000000010000000000000000000000000000000000000000000000014c000000010000000100000000000000000000000064ffffffff0000008100000000000000010000014c0000000100000000 + false + + + + + 1 + + + 0 + 0 + 000000ff00000000000000010000000000000000010000000000000000000000000000000000000891000000040101000100000000000000000000000064ffffffff000000810000000000000004000000770000000100000000000000c50000000100000000000000790000000100000000000006dc0000000100000000 + false + avr_interface.v + + + + 1 + work + + + 0 + 0 + 000000ff0000000000000001000000000000000001000000000000000000000000000000000000011a000000010001000100000000000000000000000064ffffffff0000008100000000000000010000011a0000000100000000 + false + work + + 000000ff0000000000000002000001380000011b01000000040100000002 + Implementation + + + 1 + Design Utilities + + + + + 0 + 0 + 000000ff000000000000000100000001000000000000000000000000000000000000000000000000f6000000010000000100000000000000000000000064ffffffff000000810000000000000001000000f60000000100000000 + false + + + + + 1 + User Constraints + + + + + 0 + 0 + 000000ff000000000000000100000001000000000000000000000000000000000000000000000000f6000000010000000100000000000000000000000064ffffffff000000810000000000000001000000f60000000100000000 + false + + + diff --git a/iseconfig/mojo_top.xreport b/iseconfig/mojo_top.xreport new file mode 100644 index 0000000..9a71da7 --- /dev/null +++ b/iseconfig/mojo_top.xreport @@ -0,0 +1,215 @@ + + +
+ 2018-12-31T15:51:13 + mojo_top + 2013-04-16T10:54:27 + /home/dormando/p/mojo/verilog-raycaster/iseconfig/mojo_top.xreport + /home/dormando/p/mojo/verilog-raycaster/syn/ + 2012-11-08T12:38:20 + false +
+ + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/scripts/RULER b/scripts/RULER new file mode 100644 index 0000000..a86a0b2 --- /dev/null +++ b/scripts/RULER @@ -0,0 +1,7 @@ +because shifting fixed point math variables is hard on the brain. + +Q16 . 16 +16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 . 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 +REAL: +31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16.15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + diff --git a/scripts/lcdserial.pl b/scripts/lcdserial.pl new file mode 100755 index 0000000..f8ec6d1 --- /dev/null +++ b/scripts/lcdserial.pl @@ -0,0 +1,198 @@ +#!/usr/bin/perl + +use warnings; +use strict; +use Device::SerialPort; + +my $port = Device::SerialPort->new("/dev/ttyACM0"); + +$port->baudrate(9600); +#$port->baudrate(115200); +$port->databits(8); +$port->parity("none"); +$port->stopbits(1); +# timeout stuff +$port->read_char_time(0); +$port->read_const_time(1000); + +# 0x36 , 1, 0b11001000, // Memory Access Control (orig: 0x48) +my $iblob = qq{0xEF, 3, 0x03, 0x80, 0x02, +0xCF, 3, 0x00, 0xC1, 0x30, +0xED, 4, 0x64, 0x03, 0x12, 0x81, +0xE8, 3, 0x85, 0x00, 0x78, +0xCB, 5, 0x39, 0x2C, 0x00, 0x34, 0x02, +0xF7, 1, 0x20, +0xEA, 2, 0x00, 0x00, +0xC0 , 1, 0x23, // Power control VRH[5:0] 0x23: 0b100011 4.60V ? +0xC1 , 1, 0x10, // Power control SAP[2:0];BT[3:0] 0b10000 +0xC5 , 2, 0x3e, 0x28, // VCM control 0b111110 0b101000 +0xC7, 1, 0x86, // VCM control2 +0x36 , 1, 0b11001000, // Memory Access Control (orig: 0x48) +0x37, 1, 0x00, // Vertical scroll zero +0x3A, 1, 0x55, // pixel format +0xB1, 2, 0x00, 0x18, +0xB6, 3, 0x08, 0x82, 0x27, // Display Function Control +0xF2, 1, 0x00, // 3Gamma Function Disable +0x26, 1, 0x01, // Gamma curve selected +0xE0, 15, 0x0F, 0x31, 0x2B, 0x0C, 0x0E, 0x08, 0x4E, 0xF1, 0x37, 0x07, 0x10, 0x03, 0x0E, 0x09, 0x00, // set gamma +0xE1, 15, 0x00, 0x0E, 0x14, 0x03, 0x11, 0x07, 0x31, 0xC1, 0x48, 0x08, 0x0F, 0x0C, 0x31, 0x36, 0x0F, // set gamma +0x11, 0x80, // Exit Sleep +0x29, 0x80, // Display on +}; + +my $BLACK = 0x0000; +my $MAROON = 0x7800; + +$iblob =~ s!//.*!!g; +$iblob =~ s/,/ /g; +$iblob =~ s/[ ]+/ /g; +#print $iblob; +open(my $dump, "> lcd_output") or die "meh: $!"; + +if ($ARGV[0]) { + mad_ctl(); +} else { + reset_lcd(); + init(); + write_bytes(); +} +exit; + +sub mad_ctl { + my $cmd = 0b10000101; + my $cbyte = 0x36; # MADCTL + my $packed = pack('CSLL', $cmd, 500, 0, $cbyte); + $port->write($packed); + $cbyte = 0b00001000; # BGR + $cbyte |= 0b00000000; # MX (column address order) + $packed = pack('CSLL', $cmd, 500, 0, $cbyte + 256); + $port->write($packed); + select undef, undef, undef, 0.1; +} + +# reset sequence. +sub reset_lcd { + print "resetting...\n"; + my $cmd = 0b00000101; + my $packed = pack('CSL', $cmd, 0, 1); + $port->write($packed); + select undef, undef, undef, 0.250; + my $junk = $port->read(255); + $packed = pack('CSL', $cmd, 0, 0); + $port->write($packed); + select undef, undef, undef, 0.250; + $junk = $port->read(255); + $packed = pack('CSL', $cmd, 0, 1); + $port->write($packed); + select undef, undef, undef, 0.250; + $junk = $port->read(255); + print "done reset.\n"; +} + +sub init { + for my $l (split /\n/, $iblob) { + my @d = split /\s+/, $l; + my $cbyte = eval(shift @d); + my $bcnt = shift @d; + + # register interface takes cmd with 9th bit low, data is all 9th bit high. + my $cmd = 0b10000101; + my $packed = pack('CSLL', $cmd, 0, 0, $cbyte); + print $dump $packed; + $port->write($packed); + select undef, undef, undef, 0.01; + + # now write out the arguments. + for (@d) { + my $byte = eval($_); # holy dangerous, batman :P + $byte += 256; # DCX to high for data. + my $packed = pack('CSLL', $cmd, 0, 0, $byte); + $port->write($packed); + print $dump $packed; + select undef, undef, undef, 0.01; + } + if ($bcnt eq '0x80') { + select undef, undef, undef, 0.25; + } + } +} + +#define ILI9341_CASET 0x2A +#define ILI9341_PASET 0x2B +#define ILI9341_RAMWR 0x2C + +# 0x28 off +# 0x29 on +sub power_cycle { + my $cmd = 0b10000101; + my $cbyte; + + # off + $cbyte = 0x28; + my $packed = pack('CSLL', $cmd, 0, 0, $cbyte); + $port->write($packed); + sleep 3; + $cbyte = 0x29; + $packed = pack('CSLL', $cmd, 0, 0, $cbyte); + $port->write($packed); + sleep 1; +} + +sub write_bytes { + print "ca/pa set\n"; + { + my $cmd = 0b10000101; + my $cbyte; + + $cbyte = 0x2A; + my $x0 = 0; + my $x1 = 240; + my $y0 = 0; + my $y1 = 320; + my $packed = pack('CSL', $cmd, 9); + $packed .= pack('L', $cbyte); + $packed .= pack('L', 256); + $packed .= pack('L', $x0 + 256); + $packed .= pack('L', 256); + $packed .= pack('L', ($x1 & 0x00FF) + 256); + $cbyte = 0x2B; + $packed .= pack('L', $cbyte); + $packed .= pack('L', 256); + $packed .= pack('L', $y0 + 256); + $packed .= pack('L', ($y1 >> 8) + 256); + $packed .= pack('L', ($y1 & 0x00FF) + 256); + $port->write($packed); + } + return; + + # Randomly try writing a bunch... + print "shove pixel\n"; + { + my $cmd = 0b10000101; + my $cbyte = 0x2C; + my $packed = pack('CSLL', $cmd, 500, 0, $cbyte); + $port->write($packed); + } + return; + for (1 .. 500) { + my $packed = pack('L', 256); + $packed .= pack('L', 256); + $port->write($packed); + } + sleep 1; + { + my $cmd = 0b10000101; + my $cbyte = 0x00; # NOP + my $packed = pack('CSLL', $cmd, 0, 0, $cbyte); + $port->write($packed); + } +} + +close($dump); + + +#my $cmd = 0b10000101; +#my $packed = pack('CSLL', $cmd, 0, 0, $leds); +#$port->write($packed); + + diff --git a/scripts/serialray.pl b/scripts/serialray.pl new file mode 100755 index 0000000..f0d9e14 --- /dev/null +++ b/scripts/serialray.pl @@ -0,0 +1,75 @@ +#!/usr/bin/perl + +use warnings; +use strict; +use Device::SerialPort; +use Data::Dumper qw/Dumper/; + +$|++; +my $port = Device::SerialPort->new("/dev/ttyACM0"); + +$port->baudrate(9600); +#$port->baudrate(115200); +#$port->baudrate(256000); +$port->databits(8); +$port->parity("none"); +$port->stopbits(1); +# timeout stuff +$port->read_char_time(0); +$port->read_const_time(1000); + +open(my $sout_line, "> sout_line") or die "meh: $!"; +$sout_line->autoflush(1); + +my $leds = $ARGV[0]; +my $map_x = $ARGV[1]; +my $map_y = $ARGV[2]; +my $turn = $ARGV[3]; +# show how many CPU cycles the frame took. +my $cycles = $ARGV[4] || 0; +# Blank LED's. +my $cmd = 0b10000000; +my $packed = pack('CSLL', $cmd, 0, 0, $leds); +$port->write($packed); +select undef, undef, undef, 0.1; + +print "casting rays...\n"; +cast_rays(); + +sub reduce { + my $f = int($_[0] * 2**8); + $f = -3200 if ($f < -32000); + $f = 32000 if ($f > 32000); + return $f; +} + +sub cast_rays { + my $cmd = 0b11000100; + my $map_pos = pack('ss', int($map_x * 2**8), int($map_y * 2**8)); + my $packed = pack('CSL', $cmd, 1, 0); + $port->write($packed . $map_pos . pack('L', $turn)); + return unless $cycles; + # Should be more or less instantly done, but sleep a bit anyway. + select undef, undef, undef, 0.1; + $cmd = 0b00000100; + $packed = pack('CSL', $cmd, 0, 0); + $port->write($packed); + { + my $buf = ''; + my $timeout = 2; + while ($timeout) { + my ($count, $got) = $port->read(255); + if ($count > 0) { + $buf .= $got; + last if length($buf) >= 4; + } else { + $timeout--; + } + print STDERR "cycle $count\n"; + } + print "cycle count: ", unpack('L', $buf), "\n"; + open(my $dump, "> cycle_output") or die "meh: $!"; + print $dump $buf; + close($dump); + } +} diff --git a/scripts/set_sprite.pl b/scripts/set_sprite.pl new file mode 100755 index 0000000..6f450de --- /dev/null +++ b/scripts/set_sprite.pl @@ -0,0 +1,30 @@ +#!/usr/bin/perl +# sets a sprite position. + +use warnings; +use strict; +use Device::SerialPort; +use Data::Dumper qw/Dumper/; + +$|++; +my $port = Device::SerialPort->new("/dev/ttyACM0"); + +#$port->baudrate(9600); +#$port->baudrate(115200); +$port->baudrate(256000); +$port->databits(8); +$port->parity("none"); +$port->stopbits(1); +# timeout stuff +$port->read_char_time(0); +$port->read_const_time(1000); + +my $map_x = $ARGV[0] or die "moo"; +my $map_y = $ARGV[1] or die "boo"; + +my $cmd = 0b10000110; +my $map_pos = pack('ss', int($map_x * 2**8), int($map_y * 2**8)); +# FIXME: hard coded texture ID + sprite id (also pick a position :P) +my $packed = pack('CScccc', $cmd, 0, 0, 8, 8, 0); +$port->write($packed . $map_pos); + diff --git a/scripts/sout_line b/scripts/sout_line new file mode 100644 index 0000000..e69de29 diff --git a/scripts/texloader.pl b/scripts/texloader.pl new file mode 100755 index 0000000..5eac0de --- /dev/null +++ b/scripts/texloader.pl @@ -0,0 +1,67 @@ +#!/usr/bin/perl + +use warnings; +use strict; +use Device::SerialPort; + +my $port = Device::SerialPort->new("/dev/ttyACM0"); + +#$port->baudrate(9600); +$port->baudrate(115200); +$port->databits(8); +$port->parity("none"); +$port->stopbits(1); +# timeout stuff +$port->read_char_time(0); +$port->read_const_time(1000); + +my $offset = 0; +my $poffset = 0; + +for my $file (@ARGV) { + load_tex($file, $offset); + my $pal = $file; + $pal =~ s/\.flat/.pal/; + load_pal($pal, $poffset); + $offset += 1024; + $poffset += 15; + select undef, undef, undef, 0.25; +} + +sub load_pal { + my $file = shift; + my $offset = shift; + print "$file...\n"; + open(my $fh, "<$file") or die "boop: $!"; + my $buf; + my $pbuf; + my $cnt = 0; + while (read($fh, $buf, 2)) { + $pbuf .= $buf . pack('n', 0); + $cnt++; + } + close($fh); + + my $cmd = 0b11000001; + my $packed = pack('CSL', $cmd, $cnt-1, $offset); + $port->write($packed); + $port->write($pbuf); +} + +sub load_tex { + my $file = shift; + my $offset = shift; + print "$file...\n"; + open(my $fh, "<$file") or die "boop: $!"; + my $buf; + my $pbuf; + while (read($fh, $buf, 1)) { + $pbuf .= pack('L', ord($buf)); + } + close($fh); + + my $cmd = 0b11000011; + my $packed = pack('CSL', $cmd, 1023, $offset); + $port->write($packed); + $port->write($pbuf); +} diff --git a/scripts/textureprep.pl b/scripts/textureprep.pl new file mode 100755 index 0000000..87d048d --- /dev/null +++ b/scripts/textureprep.pl @@ -0,0 +1,83 @@ +#!/usr/bin/perl +# parses textures/sprites into flat data loadable by the serial protocol, +# along with palette files for each. +# see: tload.sh and texloader.pl + +use warnings; +use strict; + +use GD; + +my $sdir = $ARGV[0]; +my $odir = $ARGV[1]; +my $sprite = $ARGV[2] || 0; + +opendir(my $dh, $sdir) or die "meh: $!"; +while (readdir($dh)) { + next unless $_ =~ m/\.png$/; + process($_); +} +closedir($dh); + +sub sixteenbit { + my @c = @_; + $c[0] = ($c[0] * 249 + 1024) >> 11; + $c[1] = ($c[1] * 253 + 505) >> 10; + $c[2] = ($c[2] * 249 + 1024) >> 11; + my $bin = pack('s', ($c[0] << 11) | ($c[1] << 5) | $c[2]); + return $bin; +} + +sub process { + my $file = shift; + my $im = GD::Image->newFromPng($sdir . $file, 1); + # 15 colors + alpha channel (always high color). + + my $nim = new GD::Image->newTrueColor(32, 32); + $nim->alphaBlending(0); + $nim->saveAlpha(1); + # we downsample to 32x32x4bit to save block RAM. + $nim->copyResampled($im, 0, 0, 0, 0, 32, 32, 64, 64); + $nim->trueColorToPalette(0, 14); + my $total = $nim->colorsTotal; + # some of the source sprites aren't 64x64 + if ($total == 256 || $im->width != 64 || $im->height != 64) { + print "Skipping: $file: $total\n"; + return; + } + print "$file: $total\n"; + + # Copy color index. + open(my $pal, "> $odir/$file.pal") or die "boop: $!"; + for (0 .. $total-1) { + print $pal sixteenbit($nim->rgb($_)); + } + close($pal); + + my @f; + open(my $flat, "> $odir/$file.flat") or die "boop: $!"; + # the alpha seems to get randomized during "dithering" above. + # in these particular source images the corner is always a transparent + # one, so find that index and re-slot it into our alpha channel number. + my $alpha = $nim->getPixel(0, 0); + for (my $x = 0; $x < $nim->width; $x++) { + for (my $y = 0; $y < $nim->height; $y++) { + my $c = $nim->getPixel($x, $y); + #print $flat $f[$x][$y], " "; + #print $flat $c, " "; + if ($c == $alpha && $sprite) { + # only for sprites! + # keep a consistent alpha channel. + $c = 15; + } + #print "C: $c\n"; + print $flat pack('C', $c); + } + } + + open(my $out, "> $odir/$file") or die "boop: $!"; + binmode $out; + print $out $nim->png; + close($out); + close($flat); +} diff --git a/scripts/tload.sh b/scripts/tload.sh new file mode 100755 index 0000000..7075cb3 --- /dev/null +++ b/scripts/tload.sh @@ -0,0 +1,2 @@ +#!/bin/bash +./texloader.pl tout/tile110.png.flat tout/tile082.png.flat tout/tile084.png.flat tout/tile085.png.flat tout/tile093.png.flat tout/tile096.png.flat tout/tile097.png.flat tout/tile106.png.flat sout/brain.png.flat diff --git a/src/angle.rom b/src/angle.rom new file mode 100644 index 0000000..b0cf1d7 --- /dev/null +++ b/src/angle.rom @@ -0,0 +1,126 @@ + angles[0] = 80'hff_00_00_00_00_00_00_a8_01_83; + angles[1] = 80'hff_01_00_0c_00_08_00_a8_01_83; + angles[2] = 80'hff_02_00_19_00_10_00_a8_01_83; + angles[3] = 80'hff_03_00_26_00_19_00_a7_01_83; + angles[4] = 80'hff_06_00_33_00_21_00_a5_01_83; + angles[5] = 80'hff_09_00_3f_00_2a_00_a3_01_83; + angles[6] = 80'hff_0c_00_4c_00_32_00_a1_01_83; + angles[7] = 80'hff_10_00_58_00_3a_00_9e_01_83; + angles[8] = 80'hff_15_00_64_00_42_00_9b_01_83; + angles[9] = 80'hff_1a_00_6f_00_49_00_97_01_83; + angles[10] = 80'hff_20_00_7b_00_51_00_94_01_83; + angles[11] = 80'hff_27_00_86_00_58_00_8f_01_83; + angles[12] = 80'hff_2e_00_91_00_5f_00_8b_01_83; + angles[13] = 80'hff_35_00_9b_00_66_00_86_01_83; + angles[14] = 80'hff_3d_00_a5_00_6d_00_80_01_83; + angles[15] = 80'hff_46_00_af_00_73_00_7b_01_83; + angles[16] = 80'hff_4f_00_b8_00_79_00_75_01_83; + angles[17] = 80'hff_58_00_c1_00_7f_00_6e_01_83; + angles[18] = 80'hff_62_00_c9_00_84_00_68_01_83; + angles[19] = 80'hff_6d_00_d0_00_89_00_61_01_83; + angles[20] = 80'hff_77_00_d8_00_8e_00_5a_01_83; + angles[21] = 80'hff_82_00_de_00_93_00_53_01_83; + angles[22] = 80'hff_8e_00_e4_00_97_00_4b_01_83; + angles[23] = 80'hff_99_00_ea_00_9a_00_44_01_83; + angles[24] = 80'hff_a5_00_ef_00_9d_00_3c_01_83; + angles[25] = 80'hff_b1_00_f3_00_a0_00_34_01_83; + angles[26] = 80'hff_be_00_f7_00_a3_00_2c_01_83; + angles[27] = 80'hff_ca_00_fa_00_a5_00_23_01_83; + angles[28] = 80'hff_d7_00_fc_00_a6_00_1b_01_83; + angles[29] = 80'hff_e4_00_fe_00_a7_00_13_01_83; + angles[30] = 80'hff_f0_00_ff_00_a8_00_0a_01_83; + angles[31] = 80'hff_fd_00_ff_00_a8_00_02_01_83; + angles[32] = 80'h00_09_00_ff_00_a8_ff_fa_01_83; + angles[33] = 80'h00_16_00_ff_00_a8_ff_f2_01_83; + angles[34] = 80'h00_23_00_fd_00_a7_ff_e9_01_83; + angles[35] = 80'h00_2f_00_fb_00_a5_ff_e1_01_83; + angles[36] = 80'h00_3c_00_f8_00_a4_ff_d9_01_83; + angles[37] = 80'h00_48_00_f5_00_a1_ff_d0_01_83; + angles[38] = 80'h00_55_00_f1_00_9f_ff_c8_01_83; + angles[39] = 80'h00_61_00_ec_00_9c_ff_c0_01_83; + angles[40] = 80'h00_6c_00_e7_00_98_ff_b9_01_83; + angles[41] = 80'h00_78_00_e1_00_95_ff_b1_01_83; + angles[42] = 80'h00_83_00_db_00_90_ff_aa_01_83; + angles[43] = 80'h00_8e_00_d4_00_8c_ff_a2_01_83; + angles[44] = 80'h00_99_00_cd_00_87_ff_9b_01_83; + angles[45] = 80'h00_a3_00_c5_00_82_ff_95_01_83; + angles[46] = 80'h00_ac_00_bc_00_7c_ff_8e_01_83; + angles[47] = 80'h00_b6_00_b3_00_76_ff_88_01_83; + angles[48] = 80'h00_be_00_aa_00_70_ff_82_01_83; + angles[49] = 80'h00_c7_00_a0_00_6a_ff_7d_01_83; + angles[50] = 80'h00_cf_00_96_00_63_ff_78_01_83; + angles[51] = 80'h00_d6_00_8b_00_5c_ff_73_01_83; + angles[52] = 80'h00_dd_00_80_00_55_ff_6f_01_83; + angles[53] = 80'h00_e3_00_75_00_4d_ff_6a_01_83; + angles[54] = 80'h00_e8_00_6a_00_46_ff_67_01_83; + angles[55] = 80'h00_ee_00_5e_00_3e_ff_63_01_83; + angles[56] = 80'h00_f2_00_52_00_36_ff_60_01_83; + angles[57] = 80'h00_f6_00_45_00_2e_ff_5e_01_83; + angles[58] = 80'h00_f9_00_39_00_25_ff_5c_01_83; + angles[59] = 80'h00_fc_00_2c_00_1d_ff_5a_01_83; + angles[60] = 80'h00_fd_00_20_00_15_ff_59_01_83; + angles[61] = 80'h00_ff_00_13_00_0c_ff_58_01_83; + angles[62] = 80'h00_ff_00_06_00_04_ff_58_01_83; + angles[63] = 80'h00_ff_ff_fa_ff_fc_ff_58_01_83; + angles[64] = 80'h00_ff_ff_ed_ff_f4_ff_58_01_83; + angles[65] = 80'h00_fd_ff_e0_ff_eb_ff_59_01_83; + angles[66] = 80'h00_fc_ff_d4_ff_e3_ff_5a_01_83; + angles[67] = 80'h00_f9_ff_c7_ff_db_ff_5c_01_83; + angles[68] = 80'h00_f6_ff_bb_ff_d2_ff_5e_01_83; + angles[69] = 80'h00_f2_ff_ae_ff_ca_ff_60_01_83; + angles[70] = 80'h00_ee_ff_a2_ff_c2_ff_63_01_83; + angles[71] = 80'h00_e8_ff_96_ff_bb_ff_67_01_83; + angles[72] = 80'h00_e3_ff_8b_ff_b3_ff_6a_01_83; + angles[73] = 80'h00_dd_ff_80_ff_ab_ff_6f_01_83; + angles[74] = 80'h00_d6_ff_75_ff_a4_ff_73_01_83; + angles[75] = 80'h00_cf_ff_6a_ff_9d_ff_78_01_83; + angles[76] = 80'h00_c7_ff_60_ff_96_ff_7d_01_83; + angles[77] = 80'h00_be_ff_56_ff_90_ff_82_01_83; + angles[78] = 80'h00_b6_ff_4d_ff_8a_ff_88_01_83; + angles[79] = 80'h00_ac_ff_44_ff_84_ff_8e_01_83; + angles[80] = 80'h00_a3_ff_3b_ff_7e_ff_95_01_83; + angles[81] = 80'h00_99_ff_33_ff_79_ff_9b_01_83; + angles[82] = 80'h00_8e_ff_2c_ff_74_ff_a2_01_83; + angles[83] = 80'h00_83_ff_25_ff_70_ff_aa_01_83; + angles[84] = 80'h00_78_ff_1f_ff_6b_ff_b1_01_83; + angles[85] = 80'h00_6d_ff_19_ff_68_ff_b9_01_83; + angles[86] = 80'h00_61_ff_14_ff_64_ff_c0_01_83; + angles[87] = 80'h00_55_ff_0f_ff_61_ff_c8_01_83; + angles[88] = 80'h00_48_ff_0b_ff_5f_ff_d0_01_83; + angles[89] = 80'h00_3c_ff_08_ff_5c_ff_d9_01_83; + angles[90] = 80'h00_30_ff_05_ff_5b_ff_e1_01_83; + angles[91] = 80'h00_23_ff_03_ff_59_ff_e9_01_83; + angles[92] = 80'h00_16_ff_01_ff_58_ff_f2_01_83; + angles[93] = 80'h00_09_ff_01_ff_58_ff_fa_01_83; + angles[94] = 80'hff_fd_ff_01_ff_58_00_02_01_83; + angles[95] = 80'hff_f0_ff_01_ff_58_00_0a_01_83; + angles[96] = 80'hff_e4_ff_02_ff_59_00_13_01_83; + angles[97] = 80'hff_d7_ff_04_ff_5a_00_1b_01_83; + angles[98] = 80'hff_ca_ff_06_ff_5b_00_23_01_83; + angles[99] = 80'hff_be_ff_09_ff_5d_00_2c_01_83; + angles[100] = 80'hff_b1_ff_0d_ff_60_00_34_01_83; + angles[101] = 80'hff_a5_ff_11_ff_63_00_3c_01_83; + angles[102] = 80'hff_99_ff_16_ff_66_00_44_01_83; + angles[103] = 80'hff_8e_ff_1c_ff_69_00_4b_01_83; + angles[104] = 80'hff_82_ff_22_ff_6d_00_53_01_83; + angles[105] = 80'hff_77_ff_28_ff_72_00_5a_01_83; + angles[106] = 80'hff_6d_ff_2f_ff_77_00_61_01_83; + angles[107] = 80'hff_62_ff_37_ff_7c_00_68_01_83; + angles[108] = 80'hff_58_ff_3f_ff_81_00_6e_01_83; + angles[109] = 80'hff_4f_ff_48_ff_87_00_75_01_83; + angles[110] = 80'hff_46_ff_51_ff_8d_00_7b_01_83; + angles[111] = 80'hff_3d_ff_5b_ff_93_00_80_01_83; + angles[112] = 80'hff_35_ff_65_ff_9a_00_86_01_83; + angles[113] = 80'hff_2e_ff_6f_ff_a1_00_8b_01_83; + angles[114] = 80'hff_27_ff_7a_ff_a8_00_8f_01_83; + angles[115] = 80'hff_20_ff_85_ff_af_00_94_01_83; + angles[116] = 80'hff_1a_ff_91_ff_b7_00_97_01_83; + angles[117] = 80'hff_15_ff_9c_ff_be_00_9b_01_83; + angles[118] = 80'hff_10_ff_a8_ff_c6_00_9e_01_83; + angles[119] = 80'hff_0c_ff_b4_ff_ce_00_a1_01_83; + angles[120] = 80'hff_09_ff_c1_ff_d6_00_a3_01_83; + angles[121] = 80'hff_06_ff_cd_ff_df_00_a5_01_83; + angles[122] = 80'hff_03_ff_da_ff_e7_00_a7_01_83; + angles[123] = 80'hff_02_ff_e7_ff_f0_00_a8_01_83; + angles[124] = 80'hff_01_ff_f4_ff_f8_00_a8_01_83; + angles[125] = 80'hff_01_00_00_00_00_00_a8_01_83; diff --git a/src/angle_rom.v b/src/angle_rom.v new file mode 100644 index 0000000..7336dd2 --- /dev/null +++ b/src/angle_rom.v @@ -0,0 +1,30 @@ +// Primary "turn" angles. Later adjusted by cameraX multiplier before turning +// into rays. +module angle_rom ( + input clk, + input [6:0] addr, + output [79:0] angle // dirX, dirY, planeX, planeY Q8.8, invDet Q8.8 + ); + +reg [79:0] angles [125:0]; + +reg [79:0] a_d, a_q; + +assign angle = a_q; + +initial begin +`include "angle.rom" +end + +always @(*) begin + if (addr < 7'd126) + a_d = angles[addr]; + else + a_d = 80'd0; +end + +always @(posedge clk) begin + a_q <= a_d; +end + +endmodule diff --git a/src/avr_interface.v b/src/avr_interface.v new file mode 100644 index 0000000..66bc347 --- /dev/null +++ b/src/avr_interface.v @@ -0,0 +1,159 @@ +// from embedded micro base project +module avr_interface #( + parameter CLK_RATE = 50000000, + parameter SERIAL_BAUD_RATE = 500000 + )( + input clk, + input rst, + + // cclk, or configuration clock is used when the FPGA is begin configured. + // The AVR will hold cclk high when it has finished initializing. + // It is important not to drive the lines connecting to the AVR + // until cclk is high for a short period of time to avoid contention. + input cclk, + + // AVR SPI Signals + output spi_miso, + input spi_mosi, + input spi_sck, + input spi_ss, + output [3:0] spi_channel, + + // AVR Serial Signals + output tx, + input rx, + + // ADC Interface Signals + input [3:0] channel, + output new_sample, + output [9:0] sample, + output [3:0] sample_channel, + + // Serial TX User Interface + input [7:0] tx_data, + input new_tx_data, + output tx_busy, + input tx_block, + + // Serial Rx User Interface + output [7:0] rx_data, + output new_rx_data + ); + + wire ready; + wire n_rdy = !ready; + wire spi_done; + wire [7:0] spi_dout; + + wire tx_m; + wire spi_miso_m; + + reg byte_ct_d, byte_ct_q; + reg [9:0] sample_d, sample_q; + reg new_sample_d, new_sample_q; + reg [3:0] sample_channel_d, sample_channel_q; + reg [3:0] block_d, block_q; + reg busy_d, busy_q; + + // cclk_detector is used to detect when cclk is high signaling when + // the AVR is ready + cclk_detector #(.CLK_RATE(CLK_RATE)) cclk_detector ( + .clk(clk), + .rst(rst), + .cclk(cclk), + .ready(ready) + ); + + spi_slave spi_slave ( + .clk(clk), + .rst(n_rdy), + .ss(spi_ss), + .mosi(spi_mosi), + .miso(spi_miso_m), + .sck(spi_sck), + .done(spi_done), + .din(8'hff), + .dout(spi_dout) + ); + + // CLK_PER_BIT is the number of cycles each 'bit' lasts for + // rtoi converts a 'real' number to an 'integer' + parameter CLK_PER_BIT = $rtoi($ceil(CLK_RATE/SERIAL_BAUD_RATE)); + + serial_rx #(.CLK_PER_BIT(CLK_PER_BIT)) serial_rx ( + .clk(clk), + .rst(n_rdy), + .rx(rx), + .data(rx_data), + .new_data(new_rx_data) + ); + + serial_tx #(.CLK_PER_BIT(CLK_PER_BIT)) serial_tx ( + .clk(clk), + .rst(n_rdy), + .tx(tx_m), + .block(busy_q), + .busy(tx_busy), + .data(tx_data), + .new_data(new_tx_data) + ); + + // Output declarations + assign new_sample = new_sample_q; + assign sample = sample_q; + assign sample_channel = sample_channel_q; + + // these signals connect to the AVR and should be Z when the AVR isn't ready + assign spi_channel = ready ? channel : 4'bZZZZ; + assign spi_miso = ready && !spi_ss ? spi_miso_m : 1'bZ; + assign tx = ready ? tx_m : 1'bZ; + + always @(*) begin + byte_ct_d = byte_ct_q; + sample_d = sample_q; + new_sample_d = 1'b0; + sample_channel_d = sample_channel_q; + + busy_d = busy_q; + block_d = {block_q[2:0], tx_block}; + + if (block_q[3] ^ block_q[2]) + busy_d = 1'b0; + + if (!tx_busy && new_tx_data) + busy_d = 1'b1; + + if (spi_ss) begin // device is not selected + byte_ct_d = 1'b0; + end + + if (spi_done) begin // sent/received data from SPI + if (byte_ct_q == 1'b0) begin + sample_d[7:0] = spi_dout; // first byte is the 8 LSB of the sample + byte_ct_d = 1'b1; + end else begin + sample_d[9:8] = spi_dout[1:0]; // second byte is the channel 2 MSB of the sample + sample_channel_d = spi_dout[7:4]; // and the channel that was sampled + byte_ct_d = 1'b1; // slave-select must be brought high before the next transfer + new_sample_d = 1'b1; + end + end + end + + always @(posedge clk) begin + if (n_rdy) begin + byte_ct_q <= 1'b0; + sample_q <= 10'b0; + new_sample_q <= 1'b0; + end else begin + byte_ct_q <= byte_ct_d; + sample_q <= sample_d; + new_sample_q <= new_sample_d; + end + + block_q <= block_d; + busy_q <= busy_d; + sample_channel_q <= sample_channel_d; + end + +endmodule diff --git a/src/camerax.rom b/src/camerax.rom new file mode 100644 index 0000000..1f51413 --- /dev/null +++ b/src/camerax.rom @@ -0,0 +1,320 @@ + camerax_pos[0] = 16'hff_00; + camerax_pos[1] = 16'hff_02; + camerax_pos[2] = 16'hff_04; + camerax_pos[3] = 16'hff_05; + camerax_pos[4] = 16'hff_07; + camerax_pos[5] = 16'hff_08; + camerax_pos[6] = 16'hff_0a; + camerax_pos[7] = 16'hff_0c; + camerax_pos[8] = 16'hff_0d; + camerax_pos[9] = 16'hff_0f; + camerax_pos[10] = 16'hff_10; + camerax_pos[11] = 16'hff_12; + camerax_pos[12] = 16'hff_14; + camerax_pos[13] = 16'hff_15; + camerax_pos[14] = 16'hff_17; + camerax_pos[15] = 16'hff_18; + camerax_pos[16] = 16'hff_1a; + camerax_pos[17] = 16'hff_1c; + camerax_pos[18] = 16'hff_1d; + camerax_pos[19] = 16'hff_1f; + camerax_pos[20] = 16'hff_20; + camerax_pos[21] = 16'hff_22; + camerax_pos[22] = 16'hff_24; + camerax_pos[23] = 16'hff_25; + camerax_pos[24] = 16'hff_27; + camerax_pos[25] = 16'hff_28; + camerax_pos[26] = 16'hff_2a; + camerax_pos[27] = 16'hff_2c; + camerax_pos[28] = 16'hff_2d; + camerax_pos[29] = 16'hff_2f; + camerax_pos[30] = 16'hff_30; + camerax_pos[31] = 16'hff_32; + camerax_pos[32] = 16'hff_34; + camerax_pos[33] = 16'hff_35; + camerax_pos[34] = 16'hff_37; + camerax_pos[35] = 16'hff_38; + camerax_pos[36] = 16'hff_3a; + camerax_pos[37] = 16'hff_3c; + camerax_pos[38] = 16'hff_3d; + camerax_pos[39] = 16'hff_3f; + camerax_pos[40] = 16'hff_40; + camerax_pos[41] = 16'hff_42; + camerax_pos[42] = 16'hff_44; + camerax_pos[43] = 16'hff_45; + camerax_pos[44] = 16'hff_47; + camerax_pos[45] = 16'hff_48; + camerax_pos[46] = 16'hff_4a; + camerax_pos[47] = 16'hff_4c; + camerax_pos[48] = 16'hff_4d; + camerax_pos[49] = 16'hff_4f; + camerax_pos[50] = 16'hff_50; + camerax_pos[51] = 16'hff_52; + camerax_pos[52] = 16'hff_54; + camerax_pos[53] = 16'hff_55; + camerax_pos[54] = 16'hff_57; + camerax_pos[55] = 16'hff_58; + camerax_pos[56] = 16'hff_5a; + camerax_pos[57] = 16'hff_5c; + camerax_pos[58] = 16'hff_5d; + camerax_pos[59] = 16'hff_5f; + camerax_pos[60] = 16'hff_60; + camerax_pos[61] = 16'hff_62; + camerax_pos[62] = 16'hff_64; + camerax_pos[63] = 16'hff_65; + camerax_pos[64] = 16'hff_67; + camerax_pos[65] = 16'hff_68; + camerax_pos[66] = 16'hff_6a; + camerax_pos[67] = 16'hff_6c; + camerax_pos[68] = 16'hff_6d; + camerax_pos[69] = 16'hff_6f; + camerax_pos[70] = 16'hff_70; + camerax_pos[71] = 16'hff_72; + camerax_pos[72] = 16'hff_74; + camerax_pos[73] = 16'hff_75; + camerax_pos[74] = 16'hff_77; + camerax_pos[75] = 16'hff_78; + camerax_pos[76] = 16'hff_7a; + camerax_pos[77] = 16'hff_7c; + camerax_pos[78] = 16'hff_7d; + camerax_pos[79] = 16'hff_7f; + camerax_pos[80] = 16'hff_80; + camerax_pos[81] = 16'hff_82; + camerax_pos[82] = 16'hff_84; + camerax_pos[83] = 16'hff_85; + camerax_pos[84] = 16'hff_87; + camerax_pos[85] = 16'hff_88; + camerax_pos[86] = 16'hff_8a; + camerax_pos[87] = 16'hff_8c; + camerax_pos[88] = 16'hff_8d; + camerax_pos[89] = 16'hff_8f; + camerax_pos[90] = 16'hff_90; + camerax_pos[91] = 16'hff_92; + camerax_pos[92] = 16'hff_94; + camerax_pos[93] = 16'hff_95; + camerax_pos[94] = 16'hff_97; + camerax_pos[95] = 16'hff_98; + camerax_pos[96] = 16'hff_9a; + camerax_pos[97] = 16'hff_9c; + camerax_pos[98] = 16'hff_9d; + camerax_pos[99] = 16'hff_9f; + camerax_pos[100] = 16'hff_a0; + camerax_pos[101] = 16'hff_a2; + camerax_pos[102] = 16'hff_a4; + camerax_pos[103] = 16'hff_a5; + camerax_pos[104] = 16'hff_a7; + camerax_pos[105] = 16'hff_a8; + camerax_pos[106] = 16'hff_aa; + camerax_pos[107] = 16'hff_ac; + camerax_pos[108] = 16'hff_ad; + camerax_pos[109] = 16'hff_af; + camerax_pos[110] = 16'hff_b0; + camerax_pos[111] = 16'hff_b2; + camerax_pos[112] = 16'hff_b4; + camerax_pos[113] = 16'hff_b5; + camerax_pos[114] = 16'hff_b7; + camerax_pos[115] = 16'hff_b8; + camerax_pos[116] = 16'hff_ba; + camerax_pos[117] = 16'hff_bc; + camerax_pos[118] = 16'hff_bd; + camerax_pos[119] = 16'hff_bf; + camerax_pos[120] = 16'hff_c0; + camerax_pos[121] = 16'hff_c2; + camerax_pos[122] = 16'hff_c4; + camerax_pos[123] = 16'hff_c5; + camerax_pos[124] = 16'hff_c7; + camerax_pos[125] = 16'hff_c8; + camerax_pos[126] = 16'hff_ca; + camerax_pos[127] = 16'hff_cc; + camerax_pos[128] = 16'hff_cd; + camerax_pos[129] = 16'hff_cf; + camerax_pos[130] = 16'hff_d0; + camerax_pos[131] = 16'hff_d2; + camerax_pos[132] = 16'hff_d4; + camerax_pos[133] = 16'hff_d5; + camerax_pos[134] = 16'hff_d7; + camerax_pos[135] = 16'hff_d8; + camerax_pos[136] = 16'hff_da; + camerax_pos[137] = 16'hff_dc; + camerax_pos[138] = 16'hff_dd; + camerax_pos[139] = 16'hff_df; + camerax_pos[140] = 16'hff_e0; + camerax_pos[141] = 16'hff_e2; + camerax_pos[142] = 16'hff_e4; + camerax_pos[143] = 16'hff_e5; + camerax_pos[144] = 16'hff_e7; + camerax_pos[145] = 16'hff_e8; + camerax_pos[146] = 16'hff_ea; + camerax_pos[147] = 16'hff_ec; + camerax_pos[148] = 16'hff_ed; + camerax_pos[149] = 16'hff_ef; + camerax_pos[150] = 16'hff_f0; + camerax_pos[151] = 16'hff_f2; + camerax_pos[152] = 16'hff_f4; + camerax_pos[153] = 16'hff_f5; + camerax_pos[154] = 16'hff_f7; + camerax_pos[155] = 16'hff_f8; + camerax_pos[156] = 16'hff_fa; + camerax_pos[157] = 16'hff_fc; + camerax_pos[158] = 16'hff_fd; + camerax_pos[159] = 16'hff_ff; + camerax_pos[160] = 16'h00_00; + camerax_pos[161] = 16'h00_01; + camerax_pos[162] = 16'h00_03; + camerax_pos[163] = 16'h00_04; + camerax_pos[164] = 16'h00_06; + camerax_pos[165] = 16'h00_08; + camerax_pos[166] = 16'h00_09; + camerax_pos[167] = 16'h00_0b; + camerax_pos[168] = 16'h00_0c; + camerax_pos[169] = 16'h00_0e; + camerax_pos[170] = 16'h00_10; + camerax_pos[171] = 16'h00_11; + camerax_pos[172] = 16'h00_13; + camerax_pos[173] = 16'h00_14; + camerax_pos[174] = 16'h00_16; + camerax_pos[175] = 16'h00_18; + camerax_pos[176] = 16'h00_19; + camerax_pos[177] = 16'h00_1b; + camerax_pos[178] = 16'h00_1c; + camerax_pos[179] = 16'h00_1e; + camerax_pos[180] = 16'h00_20; + camerax_pos[181] = 16'h00_21; + camerax_pos[182] = 16'h00_23; + camerax_pos[183] = 16'h00_24; + camerax_pos[184] = 16'h00_26; + camerax_pos[185] = 16'h00_28; + camerax_pos[186] = 16'h00_29; + camerax_pos[187] = 16'h00_2b; + camerax_pos[188] = 16'h00_2c; + camerax_pos[189] = 16'h00_2e; + camerax_pos[190] = 16'h00_30; + camerax_pos[191] = 16'h00_31; + camerax_pos[192] = 16'h00_33; + camerax_pos[193] = 16'h00_34; + camerax_pos[194] = 16'h00_36; + camerax_pos[195] = 16'h00_38; + camerax_pos[196] = 16'h00_39; + camerax_pos[197] = 16'h00_3b; + camerax_pos[198] = 16'h00_3c; + camerax_pos[199] = 16'h00_3e; + camerax_pos[200] = 16'h00_40; + camerax_pos[201] = 16'h00_41; + camerax_pos[202] = 16'h00_43; + camerax_pos[203] = 16'h00_44; + camerax_pos[204] = 16'h00_46; + camerax_pos[205] = 16'h00_48; + camerax_pos[206] = 16'h00_49; + camerax_pos[207] = 16'h00_4b; + camerax_pos[208] = 16'h00_4c; + camerax_pos[209] = 16'h00_4e; + camerax_pos[210] = 16'h00_50; + camerax_pos[211] = 16'h00_51; + camerax_pos[212] = 16'h00_53; + camerax_pos[213] = 16'h00_54; + camerax_pos[214] = 16'h00_56; + camerax_pos[215] = 16'h00_58; + camerax_pos[216] = 16'h00_59; + camerax_pos[217] = 16'h00_5b; + camerax_pos[218] = 16'h00_5c; + camerax_pos[219] = 16'h00_5e; + camerax_pos[220] = 16'h00_60; + camerax_pos[221] = 16'h00_61; + camerax_pos[222] = 16'h00_63; + camerax_pos[223] = 16'h00_64; + camerax_pos[224] = 16'h00_66; + camerax_pos[225] = 16'h00_68; + camerax_pos[226] = 16'h00_69; + camerax_pos[227] = 16'h00_6b; + camerax_pos[228] = 16'h00_6c; + camerax_pos[229] = 16'h00_6e; + camerax_pos[230] = 16'h00_70; + camerax_pos[231] = 16'h00_71; + camerax_pos[232] = 16'h00_73; + camerax_pos[233] = 16'h00_74; + camerax_pos[234] = 16'h00_76; + camerax_pos[235] = 16'h00_78; + camerax_pos[236] = 16'h00_79; + camerax_pos[237] = 16'h00_7b; + camerax_pos[238] = 16'h00_7c; + camerax_pos[239] = 16'h00_7e; + camerax_pos[240] = 16'h00_80; + camerax_pos[241] = 16'h00_81; + camerax_pos[242] = 16'h00_83; + camerax_pos[243] = 16'h00_84; + camerax_pos[244] = 16'h00_86; + camerax_pos[245] = 16'h00_88; + camerax_pos[246] = 16'h00_89; + camerax_pos[247] = 16'h00_8b; + camerax_pos[248] = 16'h00_8c; + camerax_pos[249] = 16'h00_8e; + camerax_pos[250] = 16'h00_90; + camerax_pos[251] = 16'h00_91; + camerax_pos[252] = 16'h00_93; + camerax_pos[253] = 16'h00_94; + camerax_pos[254] = 16'h00_96; + camerax_pos[255] = 16'h00_98; + camerax_pos[256] = 16'h00_99; + camerax_pos[257] = 16'h00_9b; + camerax_pos[258] = 16'h00_9c; + camerax_pos[259] = 16'h00_9e; + camerax_pos[260] = 16'h00_a0; + camerax_pos[261] = 16'h00_a1; + camerax_pos[262] = 16'h00_a3; + camerax_pos[263] = 16'h00_a4; + camerax_pos[264] = 16'h00_a6; + camerax_pos[265] = 16'h00_a8; + camerax_pos[266] = 16'h00_a9; + camerax_pos[267] = 16'h00_ab; + camerax_pos[268] = 16'h00_ac; + camerax_pos[269] = 16'h00_ae; + camerax_pos[270] = 16'h00_b0; + camerax_pos[271] = 16'h00_b1; + camerax_pos[272] = 16'h00_b3; + camerax_pos[273] = 16'h00_b4; + camerax_pos[274] = 16'h00_b6; + camerax_pos[275] = 16'h00_b8; + camerax_pos[276] = 16'h00_b9; + camerax_pos[277] = 16'h00_bb; + camerax_pos[278] = 16'h00_bc; + camerax_pos[279] = 16'h00_be; + camerax_pos[280] = 16'h00_c0; + camerax_pos[281] = 16'h00_c1; + camerax_pos[282] = 16'h00_c3; + camerax_pos[283] = 16'h00_c4; + camerax_pos[284] = 16'h00_c6; + camerax_pos[285] = 16'h00_c8; + camerax_pos[286] = 16'h00_c9; + camerax_pos[287] = 16'h00_cb; + camerax_pos[288] = 16'h00_cc; + camerax_pos[289] = 16'h00_ce; + camerax_pos[290] = 16'h00_d0; + camerax_pos[291] = 16'h00_d1; + camerax_pos[292] = 16'h00_d3; + camerax_pos[293] = 16'h00_d4; + camerax_pos[294] = 16'h00_d6; + camerax_pos[295] = 16'h00_d8; + camerax_pos[296] = 16'h00_d9; + camerax_pos[297] = 16'h00_db; + camerax_pos[298] = 16'h00_dc; + camerax_pos[299] = 16'h00_de; + camerax_pos[300] = 16'h00_e0; + camerax_pos[301] = 16'h00_e1; + camerax_pos[302] = 16'h00_e3; + camerax_pos[303] = 16'h00_e4; + camerax_pos[304] = 16'h00_e6; + camerax_pos[305] = 16'h00_e8; + camerax_pos[306] = 16'h00_e9; + camerax_pos[307] = 16'h00_eb; + camerax_pos[308] = 16'h00_ec; + camerax_pos[309] = 16'h00_ee; + camerax_pos[310] = 16'h00_f0; + camerax_pos[311] = 16'h00_f1; + camerax_pos[312] = 16'h00_f3; + camerax_pos[313] = 16'h00_f4; + camerax_pos[314] = 16'h00_f6; + camerax_pos[315] = 16'h00_f8; + camerax_pos[316] = 16'h00_f9; + camerax_pos[317] = 16'h00_fb; + camerax_pos[318] = 16'h00_fc; + camerax_pos[319] = 16'h00_fe; diff --git a/src/camerax_rom.v b/src/camerax_rom.v new file mode 100644 index 0000000..aca31e9 --- /dev/null +++ b/src/camerax_rom.v @@ -0,0 +1,30 @@ +// not using signed values here since I had some bugs. +// users of this data need to treat it as signed. +module camerax_rom ( + input clk, + input [8:0] addr, + output [15:0] camerax // Q8.8 + ); + +reg [15:0] camerax_pos [319:0]; + +reg [15:0] cx_d, cx_q; + +assign camerax = cx_q; + +initial begin +`include "camerax.rom" +end + +always @(*) begin + if (addr < 9'd320) + cx_d = camerax_pos[addr]; + else + cx_d = 16'd0; +end + +always @(posedge clk) begin + cx_q <= cx_d; +end + +endmodule diff --git a/src/cast_ray.v b/src/cast_ray.v new file mode 100644 index 0000000..bc1c2f4 --- /dev/null +++ b/src/cast_ray.v @@ -0,0 +1,553 @@ +// Q8.8 numerics +// ray caster algorithm adapted from https://lodev.org/cgtutor/raycasting.html + +module cast_ray ( + input clk, + input rst, + + input [8:0] x, // camera X position + input [79:0] angle, // directional position + + input [15:0] map_pos_x, + input [15:0] map_pos_y, + + input start, + output reg busy, + output reg done, + + // line writer wires. + output [39:0] line_height, + output [7:0] line_color, + output [6:0] line_tex_x, + output [15:0] line_floor_x, + output [15:0] line_floor_y, + output [15:0] line_pos_x, + output [15:0] line_pos_y, + output [15:0] wall_z +); + +localparam TEX_WIDTH = 16'd32; + +// map ROM +reg [7:0] map_rom_x, map_rom_y; +wire [3:0] map_point; +map_rom map_rom ( + .x(map_rom_x), + .y(map_rom_y), + .point(map_point) +); + +// camera X ROM. +reg [8:0] camerax_addr; +wire [15:0] camerax; // Q2.14 +reg signed [15:0] camerax_d, camerax_q; // internal registers +camerax_rom camerax_rom ( + .clk(clk), + .addr(camerax_addr), + .camerax(camerax) +); + +// internal registers +reg signed [15:0] dirx_d, dirx_q; +reg signed [15:0] diry_d, diry_q; +reg signed [15:0] planex_d, planex_q; +reg signed [15:0] planey_d, planey_q; + +// height ROM +wire [9:0] height_addr; +reg [39:0] line_height_d, line_height_q; +wire [39:0] line_height_read; +height_rom height_rom ( + .clk(clk), + .addr(height_addr), + .height(line_height_read) +); + +// divider +reg div_valid; +wire div_out_valid, div_ready; +reg [23:0] dividend; +reg [15:0] divisor; +reg [15:0] divisor_hold; +reg [15:0] divres_hold; +wire [39:0] div_result; +div_8_dot_8_nodsp div ( + .aclk(clk), + .s_axis_divisor_tvalid(div_valid), + .s_axis_dividend_tvalid(div_valid), + .m_axis_dout_tvalid(div_out_valid), + .s_axis_dividend_tdata(dividend), + .s_axis_divisor_tdata(divisor), + .s_axis_divisor_tready(div_ready), + .m_axis_dout_tdata(div_result) +); +// simple bit flags to track which delta's been loaded/processed +// for division. +reg [2:0] cdelta_d, cdelta_q; + +reg signed [15:0] raydir_x_d, raydir_x_q; +reg signed [15:0] raydir_y_d, raydir_y_q; +reg [15:0] delta_dist_x_d, delta_dist_x_q; +reg [15:0] delta_dist_y_d, delta_dist_y_q; +reg signed [15:0] delta_dist_n_x_d, delta_dist_n_x_q; +reg signed [15:0] delta_dist_n_y_d, delta_dist_n_y_q; +reg [15:0] map_pos_x_d, map_pos_x_q; +reg [15:0] map_pos_y_d, map_pos_y_q; + +reg [15:0] step_x_d, step_x_q; +reg [15:0] step_y_d, step_y_q; +reg [15:0] sidestep_x_d, sidestep_x_q; +reg [15:0] sidestep_y_d, sidestep_y_q; + +reg [15:0] map_x_d, map_x_q, map_y_d, map_y_q; +reg side_d, side_q; + +// 32bit to hold multiplication +reg [15:0] side_dist_x_d, side_dist_x_q; +reg [15:0] side_dist_y_d, side_dist_y_q; +reg signed [15:0] p_wall_dist_d, p_wall_dist_q; + +// texture indexes +reg [15:0] wall_x_d, wall_x_q; +reg [6:0] texture_x_d, texture_x_q; +reg [7:0] color_d, color_q; +reg [15:0] floor_x_wall_d, floor_x_wall_q; +reg [15:0] floor_y_wall_d, floor_y_wall_q; + +// shared multiplier +reg signed [15:0] mul_res_d, mul_res_q; +reg signed [15:0] mul_arg1_d, mul_arg1_q; +reg signed [15:0] mul_arg2_d, mul_arg2_q; + +initial begin + sidestep_x_q = 16'd0; + sidestep_y_q = 16'd0; + step_x_q = 8'd0; + step_y_q = 8'd0; +end + +// FIXME: organize these combinatorial bits better. +assign line_height = line_height_q; +assign line_tex_x = texture_x_q; +assign line_color = color_q; +assign line_floor_x = floor_x_wall_q; +assign line_floor_y = floor_y_wall_q; +assign line_pos_x = map_pos_x_q; +assign line_pos_y = map_pos_y_q; +// height address is actually 10 bit. using Q5.5 out of wall dist. +assign height_addr[9:0] = p_wall_dist_q[12:3]; +assign wall_z = p_wall_dist_q; + +reg [4:0] state_d, state_q; // FIXME: clog2/etc +reg [4:0] next_state_d, next_state_q; +localparam IDLE = 0, + START_CAST = 1, + DDA_DIST_CALC = 2, + DDA_FIND_HIT = 3, + CALC_WALLDIST = 6, + FIND_LINEHEIGHT = 8, + DRAW_LINE_GO = 9, + WAIT_LINE = 10, + CALC_WALLDIST2 = 11, + ROM_LOOKUP = 12, + RAY_CALC = 13, + DELTADIST_CALC = 14, + DDA_DIST_CALCX_SETUP = 15, + DDA_DIST_CALCY_SETUP = 16, + DDA_DIST_CALC_FINAL = 17, + WALL_TEX = 18, + WALL_TEX2 = 19, + WALL_TEX3 = 20, + MULTIPLY = 21, + RAY_CALC_ADDX = 22, + RAY_CALC_ADDY = 23; + +always @(*) begin + state_d = state_q; + delta_dist_x_d = delta_dist_x_q; + delta_dist_y_d = delta_dist_y_q; + delta_dist_n_x_d = delta_dist_n_x_q; + delta_dist_n_y_d = delta_dist_n_y_q; + sidestep_x_d = sidestep_x_q; + sidestep_y_d = sidestep_y_q; + step_x_d = step_x_q; + step_y_d = step_y_q; + side_dist_x_d = side_dist_x_q; + side_dist_y_d = side_dist_y_q; + map_x_d = map_x_q; + map_y_d = map_y_q; + map_pos_x_d = map_pos_x_q; + map_pos_y_d = map_pos_y_q; + map_rom_x = 0; + map_rom_y = 0; + side_d = side_q; + p_wall_dist_d = p_wall_dist_q; + // texture/line info + wall_x_d = wall_x_q; + texture_x_d = texture_x_q; + color_d = color_q; + line_height_d = line_height_q; + floor_x_wall_d = floor_x_wall_q; + floor_y_wall_d = floor_y_wall_q; + // divider + div_valid = 1'b0; + dividend = 24'h01_00_00; // ray calculations are "1 / raydir[xy]" + divisor = 16'h00_01; // dummy value, overwritten when used. + divisor_hold = 16'd0; + cdelta_d = cdelta_q; + // ROM indexes + camerax_addr = x; + // plane and rays. + raydir_x_d = raydir_x_q; + raydir_y_d = raydir_y_q; + dirx_d = dirx_q; + diry_d = diry_q; + planex_d = planex_q; + planey_d = planey_q; + camerax_d = camerax_q; + busy = 1'b1; + done = 1'b0; + // multiplier + mul_res_d = mul_res_q; + mul_arg1_d = mul_arg1_q; + mul_arg2_d = mul_arg2_q; + next_state_d = next_state_q; + + case (state_q) + IDLE: begin + busy = 1'b0; + if (start) begin + map_pos_x_d = map_pos_x; + map_pos_y_d = map_pos_y; + state_d = ROM_LOOKUP; + end + end + MULTIPLY: begin + mul_res_d = trunc_fixed_mul(mul_arg1_q * mul_arg2_q); + state_d = next_state_q; + end + ROM_LOOKUP: begin + // grab/split cameraX and directionals + camerax_d = camerax; + dirx_d = angle[79:64]; + diry_d = angle[63:48]; + planex_d = angle[47:32]; + planey_d = angle[31:16]; + // move on to ray calculations + state_d = RAY_CALC; + end + RAY_CALC: begin + // calculate rayDirX, rayDirY + // original simpler calculation. + /*raydir_x_d = dirx_q + trunc_fixed_mul(planex_q * camerax_q); + raydir_y_d = diry_q + trunc_fixed_mul(planey_q * camerax_q); + state_d = DELTADIST_CALC;*/ + // want to share the multiplier, so we step through one at a time. + mul_arg1_d = planex_q; + mul_arg2_d = camerax_q; + next_state_d = RAY_CALC_ADDX; + state_d = MULTIPLY; + end + RAY_CALC_ADDX: begin + // finalize result of first multiply. + raydir_x_d = dirx_q + mul_res_q; + // prepare the next multiply. + mul_arg1_d = planey_q; + // arg2 is still camerax_q + next_state_d = RAY_CALC_ADDY; + state_d = MULTIPLY; + end + RAY_CALC_ADDY: begin + // reset counter for tracking division progress. + cdelta_d = 2'b00; + // finalize the y direction. + raydir_y_d = diry_q + mul_res_q; + state_d = DELTADIST_CALC; + end + DELTADIST_CALC: begin + // the divider is ready and gives a result every 4 cycles, with + // a long (~30 cycle) delay. This queues up our divisions as the + // divider becomes ready, so we don't have to wait for the full + // delay twice. + if (div_ready && !cdelta_q[2]) begin + if (!cdelta_q[0]) begin + divisor_hold = raydir_x_q; + cdelta_d[0] = 1'b1; + end else begin + divisor_hold = raydir_y_q; + // all divisions queued. + cdelta_d[2] = 1'b1; + end + + // avoid divide by zero. + if (divisor_hold != 16'd0) begin + divisor = divisor_hold; + end else begin + // TODO: Can skip the division in this case since we + // divisor/dividend are both static. + divisor = 16'd00_01; + end + div_valid = 1'b1; + end + + // divisions come home to roost. + if (div_out_valid) begin + // handle special cases where we overflow our 16bit results. + // the division is 24bit so we can detect this situation. + if (div_result[31:16] == 16'd0) begin + // to infinity, and beyond! + if (div_result[39]) begin // negative max + divres_hold = 16'h8000; + end else begin // positive max + divres_hold = 16'h7FFF; + end + end else begin + divres_hold = div_result[31:16]; + end + + if (!cdelta_q[1]) begin + delta_dist_n_x_d = divres_hold; + cdelta_d[1] = 1'b1; + end else begin + delta_dist_n_y_d = divres_hold; + // all divisions are done. resume processing. + state_d = START_CAST; + end + end + end + START_CAST: begin + // keep positive values of delta distance + // hold step and sidestep for DDA calculations + if (delta_dist_n_x_q[15]) begin // negative + delta_dist_x_d = (~delta_dist_n_x_q) + 16'h00_01; + step_x_d = 16'b1111_1111_0000_0000; + sidestep_x_d = 16'b0000_0001_0000_0000; + end else begin // pos + delta_dist_x_d = delta_dist_n_x_q; + step_x_d = 16'b0000_0001_0000_0000; + sidestep_x_d = 16'b0000_0000_0000_0000; + end + if (delta_dist_n_y_q[15]) begin // n + delta_dist_y_d = (~delta_dist_n_y_q) + 16'h00_01; + step_y_d = 16'b1111_1111_0000_0000; + sidestep_y_d = 16'b0000_0001_0000_0000; + end else begin // p + delta_dist_y_d = delta_dist_n_y_q; + step_y_d = 16'b0000_0001_0000_0000; + sidestep_y_d = 16'b0000_0000_0000_0000; + end + map_x_d = (map_pos_x_q & 16'hFF_00); + map_y_d = (map_pos_y_q & 16'hFF_00); + state_d = DDA_DIST_CALCX_SETUP; + end + DDA_DIST_CALCX_SETUP: begin + mul_arg2_d = delta_dist_x_q; + if (delta_dist_n_x_q[15]) begin // negative + mul_arg1_d = map_pos_x_q & 16'h00_FF; + end else begin // pos + mul_arg1_d = (map_pos_x_q & 16'hFF_00) + 16'h01_00 - map_pos_x_q; + end + next_state_d = DDA_DIST_CALCY_SETUP; + state_d = MULTIPLY; + end + DDA_DIST_CALCY_SETUP: begin + // result of last multiply. + side_dist_x_d = mul_res_q; + // setup next multiply. + mul_arg2_d = delta_dist_y_q; + if (delta_dist_n_y_q[15]) begin // negative + mul_arg1_d = map_pos_y_q & 16'h00_FF; + end else begin // pos + mul_arg1_d = (map_pos_y_q & 16'hFF_00) + 16'h01_00 - map_pos_y_q; + end + next_state_d = DDA_DIST_CALC_FINAL; + state_d = MULTIPLY; + end + DDA_DIST_CALC_FINAL: begin + side_dist_y_d = mul_res_q; + state_d = DDA_FIND_HIT; + end + // The actual DDA loop (single cycle!)! + // we implement the map by slice memory, so a combinatorial lookup can + // happen so long as the logic isn't too deep. + // if we want to run the design at a higher clock rate, would likely + // have to split this into multiple cycles. + // or, if we want to use block ram (single cycle delay), it would have + // to pipeline the map lookup for the next check ahead of time. + DDA_FIND_HIT: begin + if (side_dist_x_q < side_dist_y_q) begin + side_dist_x_d = side_dist_x_q + (delta_dist_x_q); + map_x_d = map_x_q + step_x_q; + side_d = 0; + end else begin + side_dist_y_d = side_dist_y_q + (delta_dist_y_q); + map_y_d = map_y_q + step_y_q; + side_d = 1'b1; + end + + map_rom_x = map_x_d[15:8]; + map_rom_y = map_y_d[15:8]; + + if (map_point != 4'd0) begin + color_d[3:0] = map_point; // placeholder "color" + color_d[7] = side_d; // change color depending on side hit + state_d = CALC_WALLDIST; + end + end + // DDA is done now. Prepare a few calculations for floor/ceiling + // casting, grab the wall line height, etc. + CALC_WALLDIST: begin + // use the shared multiplier to find the wall distance. + if (side_q == 1'b0) begin + mul_arg1_d = (map_x_q - map_pos_x_q + sidestep_x_q); + mul_arg2_d = delta_dist_n_x_q; + end else begin + mul_arg1_d = (map_y_q - map_pos_y_q + sidestep_y_q); + mul_arg2_d = delta_dist_n_y_q; + end + state_d = MULTIPLY; + next_state_d = CALC_WALLDIST2; + end + CALC_WALLDIST2: begin + p_wall_dist_d = mul_res_q; + state_d = FIND_LINEHEIGHT; + end + FIND_LINEHEIGHT: begin + // while we're loading the line height, we also need to calculate + // the texture x offset. + // first, take the fractional part after calculating in the angle + mul_arg1_d = p_wall_dist_q; + if (side_q == 1'b0) begin + mul_arg2_d = raydir_y_q; + end else begin + mul_arg2_d = raydir_x_q; + end + state_d = MULTIPLY; + next_state_d = WALL_TEX; + end + WALL_TEX: begin + // grab line height lookup while we're here. + line_height_d = line_height_read; + if (side_q == 1'b0) begin + wall_x_d = (map_pos_y_q + mul_res_q) & 16'h00_FF; + end else begin + wall_x_d = (map_pos_x_q + mul_res_q) & 16'h00_FF; + end + state_d = WALL_TEX2; + end + WALL_TEX2: begin + state_d = WALL_TEX3; + // finish the wall calculation. + // take the fractional part of wallx and multiply by the texture + // width. + // TODO: shared multiplier? as of writing this module is only + // using a single DSP, so it should be fine to leave this here. + wall_x_d = trunc_fixed_mul(wall_x_q * (TEX_WIDTH << 8)); + // while we're here, also prep the floor x offset. + // doing this now since further modifying wall_x after this cycle. + if (side_q == 1'b0 && !raydir_x_q[15]) begin + floor_x_wall_d = map_x_q; + floor_y_wall_d = map_y_q + wall_x_q; + end else if (side_q == 1'b0 && raydir_x_q[15]) begin + floor_x_wall_d = map_x_q + 16'h01_00; + floor_y_wall_d = map_y_q + wall_x_q; + end else if (side_q == 1'b1 && !raydir_y_q[15]) begin + floor_x_wall_d = map_x_q + wall_x_q; + floor_y_wall_d = map_y_q; + end else begin + floor_x_wall_d = map_x_q + wall_x_q; + floor_y_wall_d = map_y_q + 16'h01_00; + end + end + WALL_TEX3: begin + // inverse the x coordinate for certain angles. + if (side_q == 1'b0 && !raydir_x_q[15]) begin + texture_x_d = TEX_WIDTH - wall_x_q[15:8] - 1'b1; + end else if (side_q == 1'b1 && raydir_y_q[15]) begin + texture_x_d = TEX_WIDTH - wall_x_q[15:8] - 1'b1; + end else begin + texture_x_d = wall_x_q[15:8]; + end + state_d = DRAW_LINE_GO; + end + DRAW_LINE_GO: begin + // line_height_q and texture_x_q should be correct now. + state_d = IDLE; + done = 1'b1; + end + default: begin + state_d = IDLE; + end + endcase +end + +always @(posedge clk) begin + if (rst) begin + state_q = IDLE; + delta_dist_x_q <= 0; + delta_dist_y_q <= 0; + delta_dist_n_x_q <= 0; + delta_dist_n_y_q <= 0; + sidestep_x_q <= 0; + sidestep_y_q <= 0; + step_x_q <= 0; + step_y_q <= 0; + side_dist_x_q <= 0; + side_dist_y_q <= 0; + map_x_q <= 0; + map_y_q <= 0; + side_q <= 0; + p_wall_dist_q <= 0; + color_q <= 0; + line_height_q <= 0; + map_pos_x_q <= 0; + map_pos_y_q <= 0; + end else begin + state_q = state_d; + delta_dist_x_q <= delta_dist_x_d; + delta_dist_y_q <= delta_dist_y_d; + delta_dist_n_x_q <= delta_dist_n_x_d; + delta_dist_n_y_q <= delta_dist_n_y_d; + sidestep_x_q <= sidestep_x_d; + sidestep_y_q <= sidestep_y_d; + step_x_q <= step_x_d; + step_y_q <= step_y_d; + side_dist_x_q <= side_dist_x_d; + side_dist_y_q <= side_dist_y_d; + map_x_q <= map_x_d; + map_y_q <= map_y_d; + p_wall_dist_q <= p_wall_dist_d; + side_q <= side_d; + color_q <= color_d; + line_height_q <= line_height_d; + map_pos_x_q <= map_pos_x_d; + map_pos_y_q <= map_pos_y_d; + end + raydir_x_q <= raydir_x_d; + raydir_y_q <= raydir_y_d; + dirx_q <= dirx_d; + diry_q <= diry_d; + planex_q <= planex_d; + planey_q <= planey_d; + camerax_q <= camerax_d; + wall_x_q <= wall_x_d; + texture_x_q <= texture_x_d; + floor_x_wall_q <= floor_x_wall_d; + floor_y_wall_q <= floor_y_wall_d; + mul_res_q <= mul_res_d; + mul_arg1_q <= mul_arg1_d; + mul_arg2_q <= mul_arg2_d; + next_state_q <= next_state_d; + cdelta_q <= cdelta_d; +end + +// middle result of a Q8.8 multiplication is the actual result. +// verilog complains a lot about unused bits in registers unless you use +// a function like this. +// should also simplify the rest of the math. +// FIXME: use it for sidedist calc. +function signed [15:0] trunc_fixed_mul(input signed [31:0] mulres); + trunc_fixed_mul = mulres[23:8]; +endfunction + +endmodule diff --git a/src/cast_ray_tb.v b/src/cast_ray_tb.v new file mode 100644 index 0000000..7b58f65 --- /dev/null +++ b/src/cast_ray_tb.v @@ -0,0 +1,71 @@ +`timescale 1ns / 1ps + +module cast_ray_tb( + ); + +reg clk; +reg rst; + +reg [8:0] x; +reg [6:0] turn; + +reg [15:0] map_pos_x; +reg [15:0] map_pos_y; + +reg start; +wire busy; +wire [23:0] line_height; +wire [7:0] line_color; +wire [6:0] line_tex_x; + +cast_ray DUT ( + .clk(clk), + .rst(rst), + .x(x), + .turn(turn), + .map_pos_x(map_pos_x), + .map_pos_y(map_pos_y), + .start(start), + .busy(busy), + .line_height(line_height), + .line_color(line_color), + .line_tex_x(line_tex_x) +); + + // wait by delay for clocks rather than manually run them. + initial begin + clk = 0; + forever #10 clk = ~clk; + end + + initial begin + rst = 1'b1; + repeat(6) @(posedge clk); + rst = 1'b0; + repeat(2) @(posedge clk); + /*delta_dist_n_x = 16'hFF_00; + delta_dist_n_y = 16'hFE_7D; + map_pos_x = 16'h16_00; + map_pos_y = 16'h16_00;*/ + // 37 fe d0 fe + //delta_dist_n_y = 16'hFE_37; + //delta_dist_n_x = 16'hFE_D0; + // 0c 13 90 14 + x = 9'd30; + turn = 7'd16; + map_pos_x = 16'h13_0c; + map_pos_y = 16'h14_90; + start = 1'b1; + @(posedge clk); + start = 1'b0; + repeat(100) @(posedge clk); + // done and line_height should be set. + #5000 + $finish; + end + + initial begin + #500000000 + $finish; + end +endmodule diff --git a/src/cclk_detector.v b/src/cclk_detector.v new file mode 100644 index 0000000..398ac96 --- /dev/null +++ b/src/cclk_detector.v @@ -0,0 +1,43 @@ +// from embedded micro base project + +module cclk_detector #( + parameter CLK_RATE = 50000000 + )( + input clk, + input rst, + input cclk, + output ready +); + + parameter CTR_SIZE = $clog2(CLK_RATE/50000); + + reg [CTR_SIZE-1:0] ctr_d, ctr_q; + reg ready_d, ready_q; + + assign ready = ready_q; + + // ready should only go high once cclk has been high for a while + // if cclk ever falls, ready should go low again + always @(ctr_q or cclk) begin + ready_d = 1'b0; + if (cclk == 1'b0) begin // when cclk is 0 reset the counter + ctr_d = 1'b0; + end else if (ctr_q != {CTR_SIZE{1'b1}}) begin + ctr_d = ctr_q + 1'b1; // counter isn't max value yet + end else begin + ctr_d = ctr_q; + ready_d = 1'b1; // counter reached the max, we are ready + end + + end + + always @(posedge clk) begin + if (rst) begin + ctr_q <= 1'b0; + ready_q <= 1'b0; + end else begin + ctr_q <= ctr_d; + ready_q <= ready_d; + end + end +endmodule diff --git a/src/floordist.rom b/src/floordist.rom new file mode 100644 index 0000000..4b2df02 --- /dev/null +++ b/src/floordist.rom @@ -0,0 +1,120 @@ + floor_dist[0] = 16'h78_00; + floor_dist[1] = 16'h3c_00; + floor_dist[2] = 16'h28_00; + floor_dist[3] = 16'h1e_00; + floor_dist[4] = 16'h18_00; + floor_dist[5] = 16'h14_00; + floor_dist[6] = 16'h11_24; + floor_dist[7] = 16'h0f_00; + floor_dist[8] = 16'h0d_55; + floor_dist[9] = 16'h0c_00; + floor_dist[10] = 16'h0a_e8; + floor_dist[11] = 16'h0a_00; + floor_dist[12] = 16'h09_3b; + floor_dist[13] = 16'h08_92; + floor_dist[14] = 16'h08_00; + floor_dist[15] = 16'h07_80; + floor_dist[16] = 16'h07_0f; + floor_dist[17] = 16'h06_aa; + floor_dist[18] = 16'h06_50; + floor_dist[19] = 16'h06_00; + floor_dist[20] = 16'h05_b6; + floor_dist[21] = 16'h05_74; + floor_dist[22] = 16'h05_37; + floor_dist[23] = 16'h05_00; + floor_dist[24] = 16'h04_cc; + floor_dist[25] = 16'h04_9d; + floor_dist[26] = 16'h04_71; + floor_dist[27] = 16'h04_49; + floor_dist[28] = 16'h04_23; + floor_dist[29] = 16'h04_00; + floor_dist[30] = 16'h03_de; + floor_dist[31] = 16'h03_c0; + floor_dist[32] = 16'h03_a2; + floor_dist[33] = 16'h03_87; + floor_dist[34] = 16'h03_6d; + floor_dist[35] = 16'h03_55; + floor_dist[36] = 16'h03_3e; + floor_dist[37] = 16'h03_28; + floor_dist[38] = 16'h03_13; + floor_dist[39] = 16'h03_00; + floor_dist[40] = 16'h02_ed; + floor_dist[41] = 16'h02_db; + floor_dist[42] = 16'h02_ca; + floor_dist[43] = 16'h02_ba; + floor_dist[44] = 16'h02_aa; + floor_dist[45] = 16'h02_9b; + floor_dist[46] = 16'h02_8d; + floor_dist[47] = 16'h02_80; + floor_dist[48] = 16'h02_72; + floor_dist[49] = 16'h02_66; + floor_dist[50] = 16'h02_5a; + floor_dist[51] = 16'h02_4e; + floor_dist[52] = 16'h02_43; + floor_dist[53] = 16'h02_38; + floor_dist[54] = 16'h02_2e; + floor_dist[55] = 16'h02_24; + floor_dist[56] = 16'h02_1a; + floor_dist[57] = 16'h02_11; + floor_dist[58] = 16'h02_08; + floor_dist[59] = 16'h02_00; + floor_dist[60] = 16'h01_f7; + floor_dist[61] = 16'h01_ef; + floor_dist[62] = 16'h01_e7; + floor_dist[63] = 16'h01_e0; + floor_dist[64] = 16'h01_d8; + floor_dist[65] = 16'h01_d1; + floor_dist[66] = 16'h01_ca; + floor_dist[67] = 16'h01_c3; + floor_dist[68] = 16'h01_bd; + floor_dist[69] = 16'h01_b6; + floor_dist[70] = 16'h01_b0; + floor_dist[71] = 16'h01_aa; + floor_dist[72] = 16'h01_a4; + floor_dist[73] = 16'h01_9f; + floor_dist[74] = 16'h01_99; + floor_dist[75] = 16'h01_94; + floor_dist[76] = 16'h01_8e; + floor_dist[77] = 16'h01_89; + floor_dist[78] = 16'h01_84; + floor_dist[79] = 16'h01_80; + floor_dist[80] = 16'h01_7b; + floor_dist[81] = 16'h01_76; + floor_dist[82] = 16'h01_72; + floor_dist[83] = 16'h01_6d; + floor_dist[84] = 16'h01_69; + floor_dist[85] = 16'h01_65; + floor_dist[86] = 16'h01_61; + floor_dist[87] = 16'h01_5d; + floor_dist[88] = 16'h01_59; + floor_dist[89] = 16'h01_55; + floor_dist[90] = 16'h01_51; + floor_dist[91] = 16'h01_4d; + floor_dist[92] = 16'h01_4a; + floor_dist[93] = 16'h01_46; + floor_dist[94] = 16'h01_43; + floor_dist[95] = 16'h01_40; + floor_dist[96] = 16'h01_3c; + floor_dist[97] = 16'h01_39; + floor_dist[98] = 16'h01_36; + floor_dist[99] = 16'h01_33; + floor_dist[100] = 16'h01_30; + floor_dist[101] = 16'h01_2d; + floor_dist[102] = 16'h01_2a; + floor_dist[103] = 16'h01_27; + floor_dist[104] = 16'h01_24; + floor_dist[105] = 16'h01_21; + floor_dist[106] = 16'h01_1f; + floor_dist[107] = 16'h01_1c; + floor_dist[108] = 16'h01_19; + floor_dist[109] = 16'h01_17; + floor_dist[110] = 16'h01_14; + floor_dist[111] = 16'h01_12; + floor_dist[112] = 16'h01_0f; + floor_dist[113] = 16'h01_0d; + floor_dist[114] = 16'h01_0b; + floor_dist[115] = 16'h01_08; + floor_dist[116] = 16'h01_06; + floor_dist[117] = 16'h01_04; + floor_dist[118] = 16'h01_02; + floor_dist[119] = 16'h01_00; diff --git a/src/floordist_rom.v b/src/floordist_rom.v new file mode 100644 index 0000000..618a526 --- /dev/null +++ b/src/floordist_rom.v @@ -0,0 +1,28 @@ +module floordist_rom ( + input clk, + input [8:0] addr, + output [15:0] floordist // Q8.8 + ); + +reg [15:0] floor_dist [119:0]; + +reg [15:0] fd_d, fd_q; + +assign floordist = fd_q; + +initial begin +`include "floordist.rom" +end + +always @(*) begin + if (addr < 8'd120) + fd_d = floor_dist[8'd119 - addr]; + else + fd_d = floor_dist[addr - 8'd119]; +end + +always @(posedge clk) begin + fd_q <= fd_d; +end + +endmodule diff --git a/src/genroms.pl b/src/genroms.pl new file mode 100755 index 0000000..de089fd --- /dev/null +++ b/src/genroms.pl @@ -0,0 +1,162 @@ +#!/usr/bin/perl +# generates the various .rom lookup tables + +use warnings; +use strict; + +my $odir = $ARGV[0] || './'; + +camerax(); +floordist(); +angle(); +idist(); +iheight(); +height(); + +sub height { + # 32 / 1024 (32 == max distance) + # convert distance to wall height. + # FIXME: caps out too early. causes distortion when too close to a wall. + my $fh = outfile('height.rom'); + my $scale = 0.03125; + my $tot = $scale; + for (my $x = 0; $x < 1024; $x++) { + my $cur = int(240 / $tot); + # height + $cur = 238 if ($cur > 238); + # also the Q8.8 inverse of height + my $icur = int((1 / $tot) * 2**8); + # texture scale + my $tscale = int((32 << 8) / $cur); + my $bin = pack('Cnn', $cur, $tscale, $icur); + my $str = hexstr($bin); + + print $fh " heights[$x] = 40'h$str;\n"; + $tot += $scale; + } + close($fh); +} + +sub iheight { + # inverse height for sprite scaler (32 / height) + # wall scaling should really use this table. they cap out too low which + # causes distortion when close to a wall. + my $fh = outfile('iheight.rom'); + for (my $x = 0; $x < 512; $x++) { + # inverse of resultant height for picking pixels + # 32 being the sprite/texture original size. + my $ih = int((32 / ($x != 0 ? $x : 1)) * 2**8); + my $bin = pack('n', $ih); + my $str = hexstr($bin); + + print $fh " iheights[$x] = 16'h$str;\n"; + } + close($fh); +} + +sub idist { + my $fh = outfile('idist.rom'); + # 32 / 1024 (32 == max distance. also the tile/sprite size :P) + my $scale = 0.03125; + my $tot = $scale; + for (my $x = 0; $x < 1024; $x++) { + # Q8.8 inverse of distance + my $icur = int((1 / $tot) * 2**8); + my $bin = pack('n', $icur); + my $str = hexstr($bin); + + print $fh " idists[$x] = 16'h$str;\n"; + $tot += $scale; + } + close($fh); +} + +sub angle { + my $fh = outfile('angle.rom'); + # pre-generated turn angles. This is me avoiding cos/sin/tan/atan tables. + # current camera angle is simply determined by an array position. + my $dirX = -1; + my $dirY = 0; + my $planeX = 0; + my $planeY = 0.66; + my $rotSpeed = 0.050264; # 1 / 60 * 3.0 + + my $inverse = sub { + # for sprite matrix transform. + return 1.0 / ($planeX * $dirY - $dirX * $planeY); + }; + + my $invDet = $inverse->(); + + my $idx = 0; + + my $binpack = sub { + my $bin = pack('nnnnn', int($dirX * (2**8)), + int($dirY * (2**8)), + int($planeX * (2**8)), + int($planeY * (2**8)), + int($invDet * (2**8))); + my $str = hexstr($bin); + # too lazy to batch by 2 but this looks better than them all mashed up. + printf $fh " angles[$idx] = 80'h$str;\n"; + $idx++; + }; + + $binpack->(); + + # FIXME: reverse? meh. + for (my $x = 0; $x < 125; $x++) { + my $ox = $dirX; + $dirX = $dirX * cos(-$rotSpeed) - $dirY * sin(-$rotSpeed); + $dirY = $ox * sin(-$rotSpeed) + $dirY * cos(-$rotSpeed); + my $opx = $planeX; + $planeX = $planeX * cos(-$rotSpeed) - $planeY * sin(-$rotSpeed); + $planeY = $opx * sin(-$rotSpeed) + $planeY * cos(-$rotSpeed); + $invDet = $inverse->(); + + $binpack->(); + } + close($fh); +} + +sub floordist { + # similar inverse distance for floor heights. + # table is halved since it's mirrored 0-119 and 120-240 + my $fh = outfile('floordist.rom'); + for (my $x = 121; $x <= 240; $x++) { + my $cur = eval{240 / (2.0 * $x - 240)}; + my $bin = pack('n', int($cur * 2**8)); + my $str = hexstr($bin); + + my $off = $x - 121; + print $fh " floor_dist[$off] = 16'h$str;\n"; + } + + close($fh); +} + +sub camerax { + # generates an inverse range -1 to 1 over the width of the screen. + my $fh = outfile('camerax.rom'); + for (my $x = 0; $x < 320; $x++) { + my $cur = 2 * $x / 320 - 1; + my $bin = pack('n', int($cur * 2**8)); + my $str = hexstr($bin); + + print $fh " camerax_pos[$x] = 16'h$str;\n"; + } + close($fh); +} + +sub hexstr { + my $b = shift; + my $str = join("", map { sprintf("%02x_", ord($_)) } split(//, $b)); + chop($str); + return $str; +} + +sub outfile { + my $f = shift; + open(my $fh, "> $odir/$f") or die "couldn't open: $odir/$f for writing: $!"; + return $fh; +} diff --git a/src/height.rom b/src/height.rom new file mode 100644 index 0000000..32d373e --- /dev/null +++ b/src/height.rom @@ -0,0 +1,1024 @@ + heights[0] = 40'hee_00_22_20_00; + heights[1] = 40'hee_00_22_10_00; + heights[2] = 40'hee_00_22_0a_aa; + heights[3] = 40'hee_00_22_08_00; + heights[4] = 40'hee_00_22_06_66; + heights[5] = 40'hee_00_22_05_55; + heights[6] = 40'hee_00_22_04_92; + heights[7] = 40'hee_00_22_04_00; + heights[8] = 40'hee_00_22_03_8e; + heights[9] = 40'hee_00_22_03_33; + heights[10] = 40'hee_00_22_02_e8; + heights[11] = 40'hee_00_22_02_aa; + heights[12] = 40'hee_00_22_02_76; + heights[13] = 40'hee_00_22_02_49; + heights[14] = 40'hee_00_22_02_22; + heights[15] = 40'hee_00_22_02_00; + heights[16] = 40'hee_00_22_01_e1; + heights[17] = 40'hee_00_22_01_c7; + heights[18] = 40'hee_00_22_01_af; + heights[19] = 40'hee_00_22_01_99; + heights[20] = 40'hee_00_22_01_86; + heights[21] = 40'hee_00_22_01_74; + heights[22] = 40'hee_00_22_01_64; + heights[23] = 40'hee_00_22_01_55; + heights[24] = 40'hee_00_22_01_47; + heights[25] = 40'hee_00_22_01_3b; + heights[26] = 40'hee_00_22_01_2f; + heights[27] = 40'hee_00_22_01_24; + heights[28] = 40'hee_00_22_01_1a; + heights[29] = 40'hee_00_22_01_11; + heights[30] = 40'hee_00_22_01_08; + heights[31] = 40'hee_00_22_01_00; + heights[32] = 40'he8_00_23_00_f8; + heights[33] = 40'he1_00_24_00_f0; + heights[34] = 40'hdb_00_25_00_ea; + heights[35] = 40'hd5_00_26_00_e3; + heights[36] = 40'hcf_00_27_00_dd; + heights[37] = 40'hca_00_28_00_d7; + heights[38] = 40'hc4_00_29_00_d2; + heights[39] = 40'hc0_00_2a_00_cc; + heights[40] = 40'hbb_00_2b_00_c7; + heights[41] = 40'hb6_00_2d_00_c3; + heights[42] = 40'hb2_00_2e_00_be; + heights[43] = 40'hae_00_2f_00_ba; + heights[44] = 40'haa_00_30_00_b6; + heights[45] = 40'ha6_00_31_00_b2; + heights[46] = 40'ha3_00_32_00_ae; + heights[47] = 40'ha0_00_33_00_aa; + heights[48] = 40'h9c_00_34_00_a7; + heights[49] = 40'h99_00_35_00_a3; + heights[50] = 40'h96_00_36_00_a0; + heights[51] = 40'h93_00_37_00_9d; + heights[52] = 40'h90_00_38_00_9a; + heights[53] = 40'h8e_00_39_00_97; + heights[54] = 40'h8b_00_3a_00_94; + heights[55] = 40'h89_00_3b_00_92; + heights[56] = 40'h86_00_3d_00_8f; + heights[57] = 40'h84_00_3e_00_8d; + heights[58] = 40'h82_00_3f_00_8a; + heights[59] = 40'h80_00_40_00_88; + heights[60] = 40'h7d_00_41_00_86; + heights[61] = 40'h7b_00_42_00_84; + heights[62] = 40'h79_00_43_00_82; + heights[63] = 40'h78_00_44_00_80; + heights[64] = 40'h76_00_45_00_7e; + heights[65] = 40'h74_00_46_00_7c; + heights[66] = 40'h72_00_47_00_7a; + heights[67] = 40'h70_00_49_00_78; + heights[68] = 40'h6f_00_49_00_76; + heights[69] = 40'h6d_00_4b_00_75; + heights[70] = 40'h6c_00_4b_00_73; + heights[71] = 40'h6a_00_4d_00_71; + heights[72] = 40'h69_00_4e_00_70; + heights[73] = 40'h67_00_4f_00_6e; + heights[74] = 40'h66_00_50_00_6d; + heights[75] = 40'h65_00_51_00_6b; + heights[76] = 40'h63_00_52_00_6a; + heights[77] = 40'h62_00_53_00_69; + heights[78] = 40'h61_00_54_00_67; + heights[79] = 40'h60_00_55_00_66; + heights[80] = 40'h5e_00_57_00_65; + heights[81] = 40'h5d_00_58_00_63; + heights[82] = 40'h5c_00_59_00_62; + heights[83] = 40'h5b_00_5a_00_61; + heights[84] = 40'h5a_00_5b_00_60; + heights[85] = 40'h59_00_5c_00_5f; + heights[86] = 40'h58_00_5d_00_5e; + heights[87] = 40'h57_00_5e_00_5d; + heights[88] = 40'h56_00_5f_00_5c; + heights[89] = 40'h55_00_60_00_5b; + heights[90] = 40'h54_00_61_00_5a; + heights[91] = 40'h53_00_62_00_59; + heights[92] = 40'h52_00_63_00_58; + heights[93] = 40'h51_00_65_00_57; + heights[94] = 40'h50_00_66_00_56; + heights[95] = 40'h50_00_66_00_55; + heights[96] = 40'h4f_00_67_00_54; + heights[97] = 40'h4e_00_69_00_53; + heights[98] = 40'h4d_00_6a_00_52; + heights[99] = 40'h4c_00_6b_00_51; + heights[100] = 40'h4c_00_6b_00_51; + heights[101] = 40'h4b_00_6d_00_50; + heights[102] = 40'h4a_00_6e_00_4f; + heights[103] = 40'h49_00_70_00_4e; + heights[104] = 40'h49_00_70_00_4e; + heights[105] = 40'h48_00_71_00_4d; + heights[106] = 40'h47_00_73_00_4c; + heights[107] = 40'h47_00_73_00_4b; + heights[108] = 40'h46_00_75_00_4b; + heights[109] = 40'h45_00_76_00_4a; + heights[110] = 40'h45_00_76_00_49; + heights[111] = 40'h44_00_78_00_49; + heights[112] = 40'h43_00_7a_00_48; + heights[113] = 40'h43_00_7a_00_47; + heights[114] = 40'h42_00_7c_00_47; + heights[115] = 40'h42_00_7c_00_46; + heights[116] = 40'h41_00_7e_00_46; + heights[117] = 40'h41_00_7e_00_45; + heights[118] = 40'h40_00_80_00_44; + heights[119] = 40'h40_00_80_00_44; + heights[120] = 40'h3f_00_82_00_43; + heights[121] = 40'h3e_00_84_00_43; + heights[122] = 40'h3e_00_84_00_42; + heights[123] = 40'h3d_00_86_00_42; + heights[124] = 40'h3d_00_86_00_41; + heights[125] = 40'h3c_00_88_00_41; + heights[126] = 40'h3c_00_88_00_40; + heights[127] = 40'h3c_00_88_00_40; + heights[128] = 40'h3b_00_8a_00_3f; + heights[129] = 40'h3b_00_8a_00_3f; + heights[130] = 40'h3a_00_8d_00_3e; + heights[131] = 40'h3a_00_8d_00_3e; + heights[132] = 40'h39_00_8f_00_3d; + heights[133] = 40'h39_00_8f_00_3d; + heights[134] = 40'h38_00_92_00_3c; + heights[135] = 40'h38_00_92_00_3c; + heights[136] = 40'h38_00_92_00_3b; + heights[137] = 40'h37_00_94_00_3b; + heights[138] = 40'h37_00_94_00_3a; + heights[139] = 40'h36_00_97_00_3a; + heights[140] = 40'h36_00_97_00_3a; + heights[141] = 40'h36_00_97_00_39; + heights[142] = 40'h35_00_9a_00_39; + heights[143] = 40'h35_00_9a_00_38; + heights[144] = 40'h34_00_9d_00_38; + heights[145] = 40'h34_00_9d_00_38; + heights[146] = 40'h34_00_9d_00_37; + heights[147] = 40'h33_00_a0_00_37; + heights[148] = 40'h33_00_a0_00_36; + heights[149] = 40'h33_00_a0_00_36; + heights[150] = 40'h32_00_a3_00_36; + heights[151] = 40'h32_00_a3_00_35; + heights[152] = 40'h32_00_a3_00_35; + heights[153] = 40'h31_00_a7_00_35; + heights[154] = 40'h31_00_a7_00_34; + heights[155] = 40'h31_00_a7_00_34; + heights[156] = 40'h30_00_aa_00_34; + heights[157] = 40'h30_00_aa_00_33; + heights[158] = 40'h30_00_aa_00_33; + heights[159] = 40'h30_00_aa_00_33; + heights[160] = 40'h2f_00_ae_00_32; + heights[161] = 40'h2f_00_ae_00_32; + heights[162] = 40'h2f_00_ae_00_32; + heights[163] = 40'h2e_00_b2_00_31; + heights[164] = 40'h2e_00_b2_00_31; + heights[165] = 40'h2e_00_b2_00_31; + heights[166] = 40'h2d_00_b6_00_31; + heights[167] = 40'h2d_00_b6_00_30; + heights[168] = 40'h2d_00_b6_00_30; + heights[169] = 40'h2d_00_b6_00_30; + heights[170] = 40'h2c_00_ba_00_2f; + heights[171] = 40'h2c_00_ba_00_2f; + heights[172] = 40'h2c_00_ba_00_2f; + heights[173] = 40'h2c_00_ba_00_2f; + heights[174] = 40'h2b_00_be_00_2e; + heights[175] = 40'h2b_00_be_00_2e; + heights[176] = 40'h2b_00_be_00_2e; + heights[177] = 40'h2b_00_be_00_2e; + heights[178] = 40'h2a_00_c3_00_2d; + heights[179] = 40'h2a_00_c3_00_2d; + heights[180] = 40'h2a_00_c3_00_2d; + heights[181] = 40'h2a_00_c3_00_2d; + heights[182] = 40'h29_00_c7_00_2c; + heights[183] = 40'h29_00_c7_00_2c; + heights[184] = 40'h29_00_c7_00_2c; + heights[185] = 40'h29_00_c7_00_2c; + heights[186] = 40'h29_00_c7_00_2b; + heights[187] = 40'h28_00_cc_00_2b; + heights[188] = 40'h28_00_cc_00_2b; + heights[189] = 40'h28_00_cc_00_2b; + heights[190] = 40'h28_00_cc_00_2a; + heights[191] = 40'h28_00_cc_00_2a; + heights[192] = 40'h27_00_d2_00_2a; + heights[193] = 40'h27_00_d2_00_2a; + heights[194] = 40'h27_00_d2_00_2a; + heights[195] = 40'h27_00_d2_00_29; + heights[196] = 40'h26_00_d7_00_29; + heights[197] = 40'h26_00_d7_00_29; + heights[198] = 40'h26_00_d7_00_29; + heights[199] = 40'h26_00_d7_00_28; + heights[200] = 40'h26_00_d7_00_28; + heights[201] = 40'h26_00_d7_00_28; + heights[202] = 40'h25_00_dd_00_28; + heights[203] = 40'h25_00_dd_00_28; + heights[204] = 40'h25_00_dd_00_27; + heights[205] = 40'h25_00_dd_00_27; + heights[206] = 40'h25_00_dd_00_27; + heights[207] = 40'h24_00_e3_00_27; + heights[208] = 40'h24_00_e3_00_27; + heights[209] = 40'h24_00_e3_00_27; + heights[210] = 40'h24_00_e3_00_26; + heights[211] = 40'h24_00_e3_00_26; + heights[212] = 40'h24_00_e3_00_26; + heights[213] = 40'h23_00_ea_00_26; + heights[214] = 40'h23_00_ea_00_26; + heights[215] = 40'h23_00_ea_00_25; + heights[216] = 40'h23_00_ea_00_25; + heights[217] = 40'h23_00_ea_00_25; + heights[218] = 40'h23_00_ea_00_25; + heights[219] = 40'h22_00_f0_00_25; + heights[220] = 40'h22_00_f0_00_25; + heights[221] = 40'h22_00_f0_00_24; + heights[222] = 40'h22_00_f0_00_24; + heights[223] = 40'h22_00_f0_00_24; + heights[224] = 40'h22_00_f0_00_24; + heights[225] = 40'h21_00_f8_00_24; + heights[226] = 40'h21_00_f8_00_24; + heights[227] = 40'h21_00_f8_00_23; + heights[228] = 40'h21_00_f8_00_23; + heights[229] = 40'h21_00_f8_00_23; + heights[230] = 40'h21_00_f8_00_23; + heights[231] = 40'h21_00_f8_00_23; + heights[232] = 40'h20_01_00_00_23; + heights[233] = 40'h20_01_00_00_23; + heights[234] = 40'h20_01_00_00_22; + heights[235] = 40'h20_01_00_00_22; + heights[236] = 40'h20_01_00_00_22; + heights[237] = 40'h20_01_00_00_22; + heights[238] = 40'h20_01_00_00_22; + heights[239] = 40'h20_01_00_00_22; + heights[240] = 40'h1f_01_08_00_21; + heights[241] = 40'h1f_01_08_00_21; + heights[242] = 40'h1f_01_08_00_21; + heights[243] = 40'h1f_01_08_00_21; + heights[244] = 40'h1f_01_08_00_21; + heights[245] = 40'h1f_01_08_00_21; + heights[246] = 40'h1f_01_08_00_21; + heights[247] = 40'h1e_01_11_00_21; + heights[248] = 40'h1e_01_11_00_20; + heights[249] = 40'h1e_01_11_00_20; + heights[250] = 40'h1e_01_11_00_20; + heights[251] = 40'h1e_01_11_00_20; + heights[252] = 40'h1e_01_11_00_20; + heights[253] = 40'h1e_01_11_00_20; + heights[254] = 40'h1e_01_11_00_20; + heights[255] = 40'h1e_01_11_00_20; + heights[256] = 40'h1d_01_1a_00_1f; + heights[257] = 40'h1d_01_1a_00_1f; + heights[258] = 40'h1d_01_1a_00_1f; + heights[259] = 40'h1d_01_1a_00_1f; + heights[260] = 40'h1d_01_1a_00_1f; + heights[261] = 40'h1d_01_1a_00_1f; + heights[262] = 40'h1d_01_1a_00_1f; + heights[263] = 40'h1d_01_1a_00_1f; + heights[264] = 40'h1c_01_24_00_1e; + heights[265] = 40'h1c_01_24_00_1e; + heights[266] = 40'h1c_01_24_00_1e; + heights[267] = 40'h1c_01_24_00_1e; + heights[268] = 40'h1c_01_24_00_1e; + heights[269] = 40'h1c_01_24_00_1e; + heights[270] = 40'h1c_01_24_00_1e; + heights[271] = 40'h1c_01_24_00_1e; + heights[272] = 40'h1c_01_24_00_1e; + heights[273] = 40'h1c_01_24_00_1d; + heights[274] = 40'h1b_01_2f_00_1d; + heights[275] = 40'h1b_01_2f_00_1d; + heights[276] = 40'h1b_01_2f_00_1d; + heights[277] = 40'h1b_01_2f_00_1d; + heights[278] = 40'h1b_01_2f_00_1d; + heights[279] = 40'h1b_01_2f_00_1d; + heights[280] = 40'h1b_01_2f_00_1d; + heights[281] = 40'h1b_01_2f_00_1d; + heights[282] = 40'h1b_01_2f_00_1c; + heights[283] = 40'h1b_01_2f_00_1c; + heights[284] = 40'h1a_01_3b_00_1c; + heights[285] = 40'h1a_01_3b_00_1c; + heights[286] = 40'h1a_01_3b_00_1c; + heights[287] = 40'h1a_01_3b_00_1c; + heights[288] = 40'h1a_01_3b_00_1c; + heights[289] = 40'h1a_01_3b_00_1c; + heights[290] = 40'h1a_01_3b_00_1c; + heights[291] = 40'h1a_01_3b_00_1c; + heights[292] = 40'h1a_01_3b_00_1b; + heights[293] = 40'h1a_01_3b_00_1b; + heights[294] = 40'h1a_01_3b_00_1b; + heights[295] = 40'h19_01_47_00_1b; + heights[296] = 40'h19_01_47_00_1b; + heights[297] = 40'h19_01_47_00_1b; + heights[298] = 40'h19_01_47_00_1b; + heights[299] = 40'h19_01_47_00_1b; + heights[300] = 40'h19_01_47_00_1b; + heights[301] = 40'h19_01_47_00_1b; + heights[302] = 40'h19_01_47_00_1b; + heights[303] = 40'h19_01_47_00_1a; + heights[304] = 40'h19_01_47_00_1a; + heights[305] = 40'h19_01_47_00_1a; + heights[306] = 40'h19_01_47_00_1a; + heights[307] = 40'h18_01_55_00_1a; + heights[308] = 40'h18_01_55_00_1a; + heights[309] = 40'h18_01_55_00_1a; + heights[310] = 40'h18_01_55_00_1a; + heights[311] = 40'h18_01_55_00_1a; + heights[312] = 40'h18_01_55_00_1a; + heights[313] = 40'h18_01_55_00_1a; + heights[314] = 40'h18_01_55_00_1a; + heights[315] = 40'h18_01_55_00_19; + heights[316] = 40'h18_01_55_00_19; + heights[317] = 40'h18_01_55_00_19; + heights[318] = 40'h18_01_55_00_19; + heights[319] = 40'h18_01_55_00_19; + heights[320] = 40'h17_01_64_00_19; + heights[321] = 40'h17_01_64_00_19; + heights[322] = 40'h17_01_64_00_19; + heights[323] = 40'h17_01_64_00_19; + heights[324] = 40'h17_01_64_00_19; + heights[325] = 40'h17_01_64_00_19; + heights[326] = 40'h17_01_64_00_19; + heights[327] = 40'h17_01_64_00_18; + heights[328] = 40'h17_01_64_00_18; + heights[329] = 40'h17_01_64_00_18; + heights[330] = 40'h17_01_64_00_18; + heights[331] = 40'h17_01_64_00_18; + heights[332] = 40'h17_01_64_00_18; + heights[333] = 40'h16_01_74_00_18; + heights[334] = 40'h16_01_74_00_18; + heights[335] = 40'h16_01_74_00_18; + heights[336] = 40'h16_01_74_00_18; + heights[337] = 40'h16_01_74_00_18; + heights[338] = 40'h16_01_74_00_18; + heights[339] = 40'h16_01_74_00_18; + heights[340] = 40'h16_01_74_00_18; + heights[341] = 40'h16_01_74_00_17; + heights[342] = 40'h16_01_74_00_17; + heights[343] = 40'h16_01_74_00_17; + heights[344] = 40'h16_01_74_00_17; + heights[345] = 40'h16_01_74_00_17; + heights[346] = 40'h16_01_74_00_17; + heights[347] = 40'h16_01_74_00_17; + heights[348] = 40'h16_01_74_00_17; + heights[349] = 40'h15_01_86_00_17; + heights[350] = 40'h15_01_86_00_17; + heights[351] = 40'h15_01_86_00_17; + heights[352] = 40'h15_01_86_00_17; + heights[353] = 40'h15_01_86_00_17; + heights[354] = 40'h15_01_86_00_17; + heights[355] = 40'h15_01_86_00_17; + heights[356] = 40'h15_01_86_00_16; + heights[357] = 40'h15_01_86_00_16; + heights[358] = 40'h15_01_86_00_16; + heights[359] = 40'h15_01_86_00_16; + heights[360] = 40'h15_01_86_00_16; + heights[361] = 40'h15_01_86_00_16; + heights[362] = 40'h15_01_86_00_16; + heights[363] = 40'h15_01_86_00_16; + heights[364] = 40'h15_01_86_00_16; + heights[365] = 40'h14_01_99_00_16; + heights[366] = 40'h14_01_99_00_16; + heights[367] = 40'h14_01_99_00_16; + heights[368] = 40'h14_01_99_00_16; + heights[369] = 40'h14_01_99_00_16; + heights[370] = 40'h14_01_99_00_16; + heights[371] = 40'h14_01_99_00_16; + heights[372] = 40'h14_01_99_00_15; + heights[373] = 40'h14_01_99_00_15; + heights[374] = 40'h14_01_99_00_15; + heights[375] = 40'h14_01_99_00_15; + heights[376] = 40'h14_01_99_00_15; + heights[377] = 40'h14_01_99_00_15; + heights[378] = 40'h14_01_99_00_15; + heights[379] = 40'h14_01_99_00_15; + heights[380] = 40'h14_01_99_00_15; + heights[381] = 40'h14_01_99_00_15; + heights[382] = 40'h14_01_99_00_15; + heights[383] = 40'h14_01_99_00_15; + heights[384] = 40'h13_01_af_00_15; + heights[385] = 40'h13_01_af_00_15; + heights[386] = 40'h13_01_af_00_15; + heights[387] = 40'h13_01_af_00_15; + heights[388] = 40'h13_01_af_00_15; + heights[389] = 40'h13_01_af_00_15; + heights[390] = 40'h13_01_af_00_14; + heights[391] = 40'h13_01_af_00_14; + heights[392] = 40'h13_01_af_00_14; + heights[393] = 40'h13_01_af_00_14; + heights[394] = 40'h13_01_af_00_14; + heights[395] = 40'h13_01_af_00_14; + heights[396] = 40'h13_01_af_00_14; + heights[397] = 40'h13_01_af_00_14; + heights[398] = 40'h13_01_af_00_14; + heights[399] = 40'h13_01_af_00_14; + heights[400] = 40'h13_01_af_00_14; + heights[401] = 40'h13_01_af_00_14; + heights[402] = 40'h13_01_af_00_14; + heights[403] = 40'h13_01_af_00_14; + heights[404] = 40'h12_01_c7_00_14; + heights[405] = 40'h12_01_c7_00_14; + heights[406] = 40'h12_01_c7_00_14; + heights[407] = 40'h12_01_c7_00_14; + heights[408] = 40'h12_01_c7_00_14; + heights[409] = 40'h12_01_c7_00_13; + heights[410] = 40'h12_01_c7_00_13; + heights[411] = 40'h12_01_c7_00_13; + heights[412] = 40'h12_01_c7_00_13; + heights[413] = 40'h12_01_c7_00_13; + heights[414] = 40'h12_01_c7_00_13; + heights[415] = 40'h12_01_c7_00_13; + heights[416] = 40'h12_01_c7_00_13; + heights[417] = 40'h12_01_c7_00_13; + heights[418] = 40'h12_01_c7_00_13; + heights[419] = 40'h12_01_c7_00_13; + heights[420] = 40'h12_01_c7_00_13; + heights[421] = 40'h12_01_c7_00_13; + heights[422] = 40'h12_01_c7_00_13; + heights[423] = 40'h12_01_c7_00_13; + heights[424] = 40'h12_01_c7_00_13; + heights[425] = 40'h12_01_c7_00_13; + heights[426] = 40'h11_01_e1_00_13; + heights[427] = 40'h11_01_e1_00_13; + heights[428] = 40'h11_01_e1_00_13; + heights[429] = 40'h11_01_e1_00_13; + heights[430] = 40'h11_01_e1_00_13; + heights[431] = 40'h11_01_e1_00_12; + heights[432] = 40'h11_01_e1_00_12; + heights[433] = 40'h11_01_e1_00_12; + heights[434] = 40'h11_01_e1_00_12; + heights[435] = 40'h11_01_e1_00_12; + heights[436] = 40'h11_01_e1_00_12; + heights[437] = 40'h11_01_e1_00_12; + heights[438] = 40'h11_01_e1_00_12; + heights[439] = 40'h11_01_e1_00_12; + heights[440] = 40'h11_01_e1_00_12; + heights[441] = 40'h11_01_e1_00_12; + heights[442] = 40'h11_01_e1_00_12; + heights[443] = 40'h11_01_e1_00_12; + heights[444] = 40'h11_01_e1_00_12; + heights[445] = 40'h11_01_e1_00_12; + heights[446] = 40'h11_01_e1_00_12; + heights[447] = 40'h11_01_e1_00_12; + heights[448] = 40'h11_01_e1_00_12; + heights[449] = 40'h11_01_e1_00_12; + heights[450] = 40'h11_01_e1_00_12; + heights[451] = 40'h10_02_00_00_12; + heights[452] = 40'h10_02_00_00_12; + heights[453] = 40'h10_02_00_00_12; + heights[454] = 40'h10_02_00_00_12; + heights[455] = 40'h10_02_00_00_11; + heights[456] = 40'h10_02_00_00_11; + heights[457] = 40'h10_02_00_00_11; + heights[458] = 40'h10_02_00_00_11; + heights[459] = 40'h10_02_00_00_11; + heights[460] = 40'h10_02_00_00_11; + heights[461] = 40'h10_02_00_00_11; + heights[462] = 40'h10_02_00_00_11; + heights[463] = 40'h10_02_00_00_11; + heights[464] = 40'h10_02_00_00_11; + heights[465] = 40'h10_02_00_00_11; + heights[466] = 40'h10_02_00_00_11; + heights[467] = 40'h10_02_00_00_11; + heights[468] = 40'h10_02_00_00_11; + heights[469] = 40'h10_02_00_00_11; + heights[470] = 40'h10_02_00_00_11; + heights[471] = 40'h10_02_00_00_11; + heights[472] = 40'h10_02_00_00_11; + heights[473] = 40'h10_02_00_00_11; + heights[474] = 40'h10_02_00_00_11; + heights[475] = 40'h10_02_00_00_11; + heights[476] = 40'h10_02_00_00_11; + heights[477] = 40'h10_02_00_00_11; + heights[478] = 40'h10_02_00_00_11; + heights[479] = 40'h10_02_00_00_11; + heights[480] = 40'h0f_02_22_00_11; + heights[481] = 40'h0f_02_22_00_10; + heights[482] = 40'h0f_02_22_00_10; + heights[483] = 40'h0f_02_22_00_10; + heights[484] = 40'h0f_02_22_00_10; + heights[485] = 40'h0f_02_22_00_10; + heights[486] = 40'h0f_02_22_00_10; + heights[487] = 40'h0f_02_22_00_10; + heights[488] = 40'h0f_02_22_00_10; + heights[489] = 40'h0f_02_22_00_10; + heights[490] = 40'h0f_02_22_00_10; + heights[491] = 40'h0f_02_22_00_10; + heights[492] = 40'h0f_02_22_00_10; + heights[493] = 40'h0f_02_22_00_10; + heights[494] = 40'h0f_02_22_00_10; + heights[495] = 40'h0f_02_22_00_10; + heights[496] = 40'h0f_02_22_00_10; + heights[497] = 40'h0f_02_22_00_10; + heights[498] = 40'h0f_02_22_00_10; + heights[499] = 40'h0f_02_22_00_10; + heights[500] = 40'h0f_02_22_00_10; + heights[501] = 40'h0f_02_22_00_10; + heights[502] = 40'h0f_02_22_00_10; + heights[503] = 40'h0f_02_22_00_10; + heights[504] = 40'h0f_02_22_00_10; + heights[505] = 40'h0f_02_22_00_10; + heights[506] = 40'h0f_02_22_00_10; + heights[507] = 40'h0f_02_22_00_10; + heights[508] = 40'h0f_02_22_00_10; + heights[509] = 40'h0f_02_22_00_10; + heights[510] = 40'h0f_02_22_00_10; + heights[511] = 40'h0f_02_22_00_10; + heights[512] = 40'h0e_02_49_00_0f; + heights[513] = 40'h0e_02_49_00_0f; + heights[514] = 40'h0e_02_49_00_0f; + heights[515] = 40'h0e_02_49_00_0f; + heights[516] = 40'h0e_02_49_00_0f; + heights[517] = 40'h0e_02_49_00_0f; + heights[518] = 40'h0e_02_49_00_0f; + heights[519] = 40'h0e_02_49_00_0f; + heights[520] = 40'h0e_02_49_00_0f; + heights[521] = 40'h0e_02_49_00_0f; + heights[522] = 40'h0e_02_49_00_0f; + heights[523] = 40'h0e_02_49_00_0f; + heights[524] = 40'h0e_02_49_00_0f; + heights[525] = 40'h0e_02_49_00_0f; + heights[526] = 40'h0e_02_49_00_0f; + heights[527] = 40'h0e_02_49_00_0f; + heights[528] = 40'h0e_02_49_00_0f; + heights[529] = 40'h0e_02_49_00_0f; + heights[530] = 40'h0e_02_49_00_0f; + heights[531] = 40'h0e_02_49_00_0f; + heights[532] = 40'h0e_02_49_00_0f; + heights[533] = 40'h0e_02_49_00_0f; + heights[534] = 40'h0e_02_49_00_0f; + heights[535] = 40'h0e_02_49_00_0f; + heights[536] = 40'h0e_02_49_00_0f; + heights[537] = 40'h0e_02_49_00_0f; + heights[538] = 40'h0e_02_49_00_0f; + heights[539] = 40'h0e_02_49_00_0f; + heights[540] = 40'h0e_02_49_00_0f; + heights[541] = 40'h0e_02_49_00_0f; + heights[542] = 40'h0e_02_49_00_0f; + heights[543] = 40'h0e_02_49_00_0f; + heights[544] = 40'h0e_02_49_00_0f; + heights[545] = 40'h0e_02_49_00_0f; + heights[546] = 40'h0e_02_49_00_0e; + heights[547] = 40'h0e_02_49_00_0e; + heights[548] = 40'h0d_02_76_00_0e; + heights[549] = 40'h0d_02_76_00_0e; + heights[550] = 40'h0d_02_76_00_0e; + heights[551] = 40'h0d_02_76_00_0e; + heights[552] = 40'h0d_02_76_00_0e; + heights[553] = 40'h0d_02_76_00_0e; + heights[554] = 40'h0d_02_76_00_0e; + heights[555] = 40'h0d_02_76_00_0e; + heights[556] = 40'h0d_02_76_00_0e; + heights[557] = 40'h0d_02_76_00_0e; + heights[558] = 40'h0d_02_76_00_0e; + heights[559] = 40'h0d_02_76_00_0e; + heights[560] = 40'h0d_02_76_00_0e; + heights[561] = 40'h0d_02_76_00_0e; + heights[562] = 40'h0d_02_76_00_0e; + heights[563] = 40'h0d_02_76_00_0e; + heights[564] = 40'h0d_02_76_00_0e; + heights[565] = 40'h0d_02_76_00_0e; + heights[566] = 40'h0d_02_76_00_0e; + heights[567] = 40'h0d_02_76_00_0e; + heights[568] = 40'h0d_02_76_00_0e; + heights[569] = 40'h0d_02_76_00_0e; + heights[570] = 40'h0d_02_76_00_0e; + heights[571] = 40'h0d_02_76_00_0e; + heights[572] = 40'h0d_02_76_00_0e; + heights[573] = 40'h0d_02_76_00_0e; + heights[574] = 40'h0d_02_76_00_0e; + heights[575] = 40'h0d_02_76_00_0e; + heights[576] = 40'h0d_02_76_00_0e; + heights[577] = 40'h0d_02_76_00_0e; + heights[578] = 40'h0d_02_76_00_0e; + heights[579] = 40'h0d_02_76_00_0e; + heights[580] = 40'h0d_02_76_00_0e; + heights[581] = 40'h0d_02_76_00_0e; + heights[582] = 40'h0d_02_76_00_0e; + heights[583] = 40'h0d_02_76_00_0e; + heights[584] = 40'h0d_02_76_00_0e; + heights[585] = 40'h0d_02_76_00_0d; + heights[586] = 40'h0d_02_76_00_0d; + heights[587] = 40'h0d_02_76_00_0d; + heights[588] = 40'h0d_02_76_00_0d; + heights[589] = 40'h0d_02_76_00_0d; + heights[590] = 40'h0c_02_aa_00_0d; + heights[591] = 40'h0c_02_aa_00_0d; + heights[592] = 40'h0c_02_aa_00_0d; + heights[593] = 40'h0c_02_aa_00_0d; + heights[594] = 40'h0c_02_aa_00_0d; + heights[595] = 40'h0c_02_aa_00_0d; + heights[596] = 40'h0c_02_aa_00_0d; + heights[597] = 40'h0c_02_aa_00_0d; + heights[598] = 40'h0c_02_aa_00_0d; + heights[599] = 40'h0c_02_aa_00_0d; + heights[600] = 40'h0c_02_aa_00_0d; + heights[601] = 40'h0c_02_aa_00_0d; + heights[602] = 40'h0c_02_aa_00_0d; + heights[603] = 40'h0c_02_aa_00_0d; + heights[604] = 40'h0c_02_aa_00_0d; + heights[605] = 40'h0c_02_aa_00_0d; + heights[606] = 40'h0c_02_aa_00_0d; + heights[607] = 40'h0c_02_aa_00_0d; + heights[608] = 40'h0c_02_aa_00_0d; + heights[609] = 40'h0c_02_aa_00_0d; + heights[610] = 40'h0c_02_aa_00_0d; + heights[611] = 40'h0c_02_aa_00_0d; + heights[612] = 40'h0c_02_aa_00_0d; + heights[613] = 40'h0c_02_aa_00_0d; + heights[614] = 40'h0c_02_aa_00_0d; + heights[615] = 40'h0c_02_aa_00_0d; + heights[616] = 40'h0c_02_aa_00_0d; + heights[617] = 40'h0c_02_aa_00_0d; + heights[618] = 40'h0c_02_aa_00_0d; + heights[619] = 40'h0c_02_aa_00_0d; + heights[620] = 40'h0c_02_aa_00_0d; + heights[621] = 40'h0c_02_aa_00_0d; + heights[622] = 40'h0c_02_aa_00_0d; + heights[623] = 40'h0c_02_aa_00_0d; + heights[624] = 40'h0c_02_aa_00_0d; + heights[625] = 40'h0c_02_aa_00_0d; + heights[626] = 40'h0c_02_aa_00_0d; + heights[627] = 40'h0c_02_aa_00_0d; + heights[628] = 40'h0c_02_aa_00_0d; + heights[629] = 40'h0c_02_aa_00_0d; + heights[630] = 40'h0c_02_aa_00_0c; + heights[631] = 40'h0c_02_aa_00_0c; + heights[632] = 40'h0c_02_aa_00_0c; + heights[633] = 40'h0c_02_aa_00_0c; + heights[634] = 40'h0c_02_aa_00_0c; + heights[635] = 40'h0c_02_aa_00_0c; + heights[636] = 40'h0c_02_aa_00_0c; + heights[637] = 40'h0c_02_aa_00_0c; + heights[638] = 40'h0c_02_aa_00_0c; + heights[639] = 40'h0c_02_aa_00_0c; + heights[640] = 40'h0b_02_e8_00_0c; + heights[641] = 40'h0b_02_e8_00_0c; + heights[642] = 40'h0b_02_e8_00_0c; + heights[643] = 40'h0b_02_e8_00_0c; + heights[644] = 40'h0b_02_e8_00_0c; + heights[645] = 40'h0b_02_e8_00_0c; + heights[646] = 40'h0b_02_e8_00_0c; + heights[647] = 40'h0b_02_e8_00_0c; + heights[648] = 40'h0b_02_e8_00_0c; + heights[649] = 40'h0b_02_e8_00_0c; + heights[650] = 40'h0b_02_e8_00_0c; + heights[651] = 40'h0b_02_e8_00_0c; + heights[652] = 40'h0b_02_e8_00_0c; + heights[653] = 40'h0b_02_e8_00_0c; + heights[654] = 40'h0b_02_e8_00_0c; + heights[655] = 40'h0b_02_e8_00_0c; + heights[656] = 40'h0b_02_e8_00_0c; + heights[657] = 40'h0b_02_e8_00_0c; + heights[658] = 40'h0b_02_e8_00_0c; + heights[659] = 40'h0b_02_e8_00_0c; + heights[660] = 40'h0b_02_e8_00_0c; + heights[661] = 40'h0b_02_e8_00_0c; + heights[662] = 40'h0b_02_e8_00_0c; + heights[663] = 40'h0b_02_e8_00_0c; + heights[664] = 40'h0b_02_e8_00_0c; + heights[665] = 40'h0b_02_e8_00_0c; + heights[666] = 40'h0b_02_e8_00_0c; + heights[667] = 40'h0b_02_e8_00_0c; + heights[668] = 40'h0b_02_e8_00_0c; + heights[669] = 40'h0b_02_e8_00_0c; + heights[670] = 40'h0b_02_e8_00_0c; + heights[671] = 40'h0b_02_e8_00_0c; + heights[672] = 40'h0b_02_e8_00_0c; + heights[673] = 40'h0b_02_e8_00_0c; + heights[674] = 40'h0b_02_e8_00_0c; + heights[675] = 40'h0b_02_e8_00_0c; + heights[676] = 40'h0b_02_e8_00_0c; + heights[677] = 40'h0b_02_e8_00_0c; + heights[678] = 40'h0b_02_e8_00_0c; + heights[679] = 40'h0b_02_e8_00_0c; + heights[680] = 40'h0b_02_e8_00_0c; + heights[681] = 40'h0b_02_e8_00_0c; + heights[682] = 40'h0b_02_e8_00_0b; + heights[683] = 40'h0b_02_e8_00_0b; + heights[684] = 40'h0b_02_e8_00_0b; + heights[685] = 40'h0b_02_e8_00_0b; + heights[686] = 40'h0b_02_e8_00_0b; + heights[687] = 40'h0b_02_e8_00_0b; + heights[688] = 40'h0b_02_e8_00_0b; + heights[689] = 40'h0b_02_e8_00_0b; + heights[690] = 40'h0b_02_e8_00_0b; + heights[691] = 40'h0b_02_e8_00_0b; + heights[692] = 40'h0b_02_e8_00_0b; + heights[693] = 40'h0b_02_e8_00_0b; + heights[694] = 40'h0b_02_e8_00_0b; + heights[695] = 40'h0b_02_e8_00_0b; + heights[696] = 40'h0b_02_e8_00_0b; + heights[697] = 40'h0b_02_e8_00_0b; + heights[698] = 40'h0a_03_33_00_0b; + heights[699] = 40'h0a_03_33_00_0b; + heights[700] = 40'h0a_03_33_00_0b; + heights[701] = 40'h0a_03_33_00_0b; + heights[702] = 40'h0a_03_33_00_0b; + heights[703] = 40'h0a_03_33_00_0b; + heights[704] = 40'h0a_03_33_00_0b; + heights[705] = 40'h0a_03_33_00_0b; + heights[706] = 40'h0a_03_33_00_0b; + heights[707] = 40'h0a_03_33_00_0b; + heights[708] = 40'h0a_03_33_00_0b; + heights[709] = 40'h0a_03_33_00_0b; + heights[710] = 40'h0a_03_33_00_0b; + heights[711] = 40'h0a_03_33_00_0b; + heights[712] = 40'h0a_03_33_00_0b; + heights[713] = 40'h0a_03_33_00_0b; + heights[714] = 40'h0a_03_33_00_0b; + heights[715] = 40'h0a_03_33_00_0b; + heights[716] = 40'h0a_03_33_00_0b; + heights[717] = 40'h0a_03_33_00_0b; + heights[718] = 40'h0a_03_33_00_0b; + heights[719] = 40'h0a_03_33_00_0b; + heights[720] = 40'h0a_03_33_00_0b; + heights[721] = 40'h0a_03_33_00_0b; + heights[722] = 40'h0a_03_33_00_0b; + heights[723] = 40'h0a_03_33_00_0b; + heights[724] = 40'h0a_03_33_00_0b; + heights[725] = 40'h0a_03_33_00_0b; + heights[726] = 40'h0a_03_33_00_0b; + heights[727] = 40'h0a_03_33_00_0b; + heights[728] = 40'h0a_03_33_00_0b; + heights[729] = 40'h0a_03_33_00_0b; + heights[730] = 40'h0a_03_33_00_0b; + heights[731] = 40'h0a_03_33_00_0b; + heights[732] = 40'h0a_03_33_00_0b; + heights[733] = 40'h0a_03_33_00_0b; + heights[734] = 40'h0a_03_33_00_0b; + heights[735] = 40'h0a_03_33_00_0b; + heights[736] = 40'h0a_03_33_00_0b; + heights[737] = 40'h0a_03_33_00_0b; + heights[738] = 40'h0a_03_33_00_0b; + heights[739] = 40'h0a_03_33_00_0b; + heights[740] = 40'h0a_03_33_00_0b; + heights[741] = 40'h0a_03_33_00_0b; + heights[742] = 40'h0a_03_33_00_0b; + heights[743] = 40'h0a_03_33_00_0b; + heights[744] = 40'h0a_03_33_00_0a; + heights[745] = 40'h0a_03_33_00_0a; + heights[746] = 40'h0a_03_33_00_0a; + heights[747] = 40'h0a_03_33_00_0a; + heights[748] = 40'h0a_03_33_00_0a; + heights[749] = 40'h0a_03_33_00_0a; + heights[750] = 40'h0a_03_33_00_0a; + heights[751] = 40'h0a_03_33_00_0a; + heights[752] = 40'h0a_03_33_00_0a; + heights[753] = 40'h0a_03_33_00_0a; + heights[754] = 40'h0a_03_33_00_0a; + heights[755] = 40'h0a_03_33_00_0a; + heights[756] = 40'h0a_03_33_00_0a; + heights[757] = 40'h0a_03_33_00_0a; + heights[758] = 40'h0a_03_33_00_0a; + heights[759] = 40'h0a_03_33_00_0a; + heights[760] = 40'h0a_03_33_00_0a; + heights[761] = 40'h0a_03_33_00_0a; + heights[762] = 40'h0a_03_33_00_0a; + heights[763] = 40'h0a_03_33_00_0a; + heights[764] = 40'h0a_03_33_00_0a; + heights[765] = 40'h0a_03_33_00_0a; + heights[766] = 40'h0a_03_33_00_0a; + heights[767] = 40'h0a_03_33_00_0a; + heights[768] = 40'h09_03_8e_00_0a; + heights[769] = 40'h09_03_8e_00_0a; + heights[770] = 40'h09_03_8e_00_0a; + heights[771] = 40'h09_03_8e_00_0a; + heights[772] = 40'h09_03_8e_00_0a; + heights[773] = 40'h09_03_8e_00_0a; + heights[774] = 40'h09_03_8e_00_0a; + heights[775] = 40'h09_03_8e_00_0a; + heights[776] = 40'h09_03_8e_00_0a; + heights[777] = 40'h09_03_8e_00_0a; + heights[778] = 40'h09_03_8e_00_0a; + heights[779] = 40'h09_03_8e_00_0a; + heights[780] = 40'h09_03_8e_00_0a; + heights[781] = 40'h09_03_8e_00_0a; + heights[782] = 40'h09_03_8e_00_0a; + heights[783] = 40'h09_03_8e_00_0a; + heights[784] = 40'h09_03_8e_00_0a; + heights[785] = 40'h09_03_8e_00_0a; + heights[786] = 40'h09_03_8e_00_0a; + heights[787] = 40'h09_03_8e_00_0a; + heights[788] = 40'h09_03_8e_00_0a; + heights[789] = 40'h09_03_8e_00_0a; + heights[790] = 40'h09_03_8e_00_0a; + heights[791] = 40'h09_03_8e_00_0a; + heights[792] = 40'h09_03_8e_00_0a; + heights[793] = 40'h09_03_8e_00_0a; + heights[794] = 40'h09_03_8e_00_0a; + heights[795] = 40'h09_03_8e_00_0a; + heights[796] = 40'h09_03_8e_00_0a; + heights[797] = 40'h09_03_8e_00_0a; + heights[798] = 40'h09_03_8e_00_0a; + heights[799] = 40'h09_03_8e_00_0a; + heights[800] = 40'h09_03_8e_00_0a; + heights[801] = 40'h09_03_8e_00_0a; + heights[802] = 40'h09_03_8e_00_0a; + heights[803] = 40'h09_03_8e_00_0a; + heights[804] = 40'h09_03_8e_00_0a; + heights[805] = 40'h09_03_8e_00_0a; + heights[806] = 40'h09_03_8e_00_0a; + heights[807] = 40'h09_03_8e_00_0a; + heights[808] = 40'h09_03_8e_00_0a; + heights[809] = 40'h09_03_8e_00_0a; + heights[810] = 40'h09_03_8e_00_0a; + heights[811] = 40'h09_03_8e_00_0a; + heights[812] = 40'h09_03_8e_00_0a; + heights[813] = 40'h09_03_8e_00_0a; + heights[814] = 40'h09_03_8e_00_0a; + heights[815] = 40'h09_03_8e_00_0a; + heights[816] = 40'h09_03_8e_00_0a; + heights[817] = 40'h09_03_8e_00_0a; + heights[818] = 40'h09_03_8e_00_0a; + heights[819] = 40'h09_03_8e_00_09; + heights[820] = 40'h09_03_8e_00_09; + heights[821] = 40'h09_03_8e_00_09; + heights[822] = 40'h09_03_8e_00_09; + heights[823] = 40'h09_03_8e_00_09; + heights[824] = 40'h09_03_8e_00_09; + heights[825] = 40'h09_03_8e_00_09; + heights[826] = 40'h09_03_8e_00_09; + heights[827] = 40'h09_03_8e_00_09; + heights[828] = 40'h09_03_8e_00_09; + heights[829] = 40'h09_03_8e_00_09; + heights[830] = 40'h09_03_8e_00_09; + heights[831] = 40'h09_03_8e_00_09; + heights[832] = 40'h09_03_8e_00_09; + heights[833] = 40'h09_03_8e_00_09; + heights[834] = 40'h09_03_8e_00_09; + heights[835] = 40'h09_03_8e_00_09; + heights[836] = 40'h09_03_8e_00_09; + heights[837] = 40'h09_03_8e_00_09; + heights[838] = 40'h09_03_8e_00_09; + heights[839] = 40'h09_03_8e_00_09; + heights[840] = 40'h09_03_8e_00_09; + heights[841] = 40'h09_03_8e_00_09; + heights[842] = 40'h09_03_8e_00_09; + heights[843] = 40'h09_03_8e_00_09; + heights[844] = 40'h09_03_8e_00_09; + heights[845] = 40'h09_03_8e_00_09; + heights[846] = 40'h09_03_8e_00_09; + heights[847] = 40'h09_03_8e_00_09; + heights[848] = 40'h09_03_8e_00_09; + heights[849] = 40'h09_03_8e_00_09; + heights[850] = 40'h09_03_8e_00_09; + heights[851] = 40'h09_03_8e_00_09; + heights[852] = 40'h09_03_8e_00_09; + heights[853] = 40'h08_04_00_00_09; + heights[854] = 40'h08_04_00_00_09; + heights[855] = 40'h08_04_00_00_09; + heights[856] = 40'h08_04_00_00_09; + heights[857] = 40'h08_04_00_00_09; + heights[858] = 40'h08_04_00_00_09; + heights[859] = 40'h08_04_00_00_09; + heights[860] = 40'h08_04_00_00_09; + heights[861] = 40'h08_04_00_00_09; + heights[862] = 40'h08_04_00_00_09; + heights[863] = 40'h08_04_00_00_09; + heights[864] = 40'h08_04_00_00_09; + heights[865] = 40'h08_04_00_00_09; + heights[866] = 40'h08_04_00_00_09; + heights[867] = 40'h08_04_00_00_09; + heights[868] = 40'h08_04_00_00_09; + heights[869] = 40'h08_04_00_00_09; + heights[870] = 40'h08_04_00_00_09; + heights[871] = 40'h08_04_00_00_09; + heights[872] = 40'h08_04_00_00_09; + heights[873] = 40'h08_04_00_00_09; + heights[874] = 40'h08_04_00_00_09; + heights[875] = 40'h08_04_00_00_09; + heights[876] = 40'h08_04_00_00_09; + heights[877] = 40'h08_04_00_00_09; + heights[878] = 40'h08_04_00_00_09; + heights[879] = 40'h08_04_00_00_09; + heights[880] = 40'h08_04_00_00_09; + heights[881] = 40'h08_04_00_00_09; + heights[882] = 40'h08_04_00_00_09; + heights[883] = 40'h08_04_00_00_09; + heights[884] = 40'h08_04_00_00_09; + heights[885] = 40'h08_04_00_00_09; + heights[886] = 40'h08_04_00_00_09; + heights[887] = 40'h08_04_00_00_09; + heights[888] = 40'h08_04_00_00_09; + heights[889] = 40'h08_04_00_00_09; + heights[890] = 40'h08_04_00_00_09; + heights[891] = 40'h08_04_00_00_09; + heights[892] = 40'h08_04_00_00_09; + heights[893] = 40'h08_04_00_00_09; + heights[894] = 40'h08_04_00_00_09; + heights[895] = 40'h08_04_00_00_09; + heights[896] = 40'h08_04_00_00_09; + heights[897] = 40'h08_04_00_00_09; + heights[898] = 40'h08_04_00_00_09; + heights[899] = 40'h08_04_00_00_09; + heights[900] = 40'h08_04_00_00_09; + heights[901] = 40'h08_04_00_00_09; + heights[902] = 40'h08_04_00_00_09; + heights[903] = 40'h08_04_00_00_09; + heights[904] = 40'h08_04_00_00_09; + heights[905] = 40'h08_04_00_00_09; + heights[906] = 40'h08_04_00_00_09; + heights[907] = 40'h08_04_00_00_09; + heights[908] = 40'h08_04_00_00_09; + heights[909] = 40'h08_04_00_00_09; + heights[910] = 40'h08_04_00_00_08; + heights[911] = 40'h08_04_00_00_08; + heights[912] = 40'h08_04_00_00_08; + heights[913] = 40'h08_04_00_00_08; + heights[914] = 40'h08_04_00_00_08; + heights[915] = 40'h08_04_00_00_08; + heights[916] = 40'h08_04_00_00_08; + heights[917] = 40'h08_04_00_00_08; + heights[918] = 40'h08_04_00_00_08; + heights[919] = 40'h08_04_00_00_08; + heights[920] = 40'h08_04_00_00_08; + heights[921] = 40'h08_04_00_00_08; + heights[922] = 40'h08_04_00_00_08; + heights[923] = 40'h08_04_00_00_08; + heights[924] = 40'h08_04_00_00_08; + heights[925] = 40'h08_04_00_00_08; + heights[926] = 40'h08_04_00_00_08; + heights[927] = 40'h08_04_00_00_08; + heights[928] = 40'h08_04_00_00_08; + heights[929] = 40'h08_04_00_00_08; + heights[930] = 40'h08_04_00_00_08; + heights[931] = 40'h08_04_00_00_08; + heights[932] = 40'h08_04_00_00_08; + heights[933] = 40'h08_04_00_00_08; + heights[934] = 40'h08_04_00_00_08; + heights[935] = 40'h08_04_00_00_08; + heights[936] = 40'h08_04_00_00_08; + heights[937] = 40'h08_04_00_00_08; + heights[938] = 40'h08_04_00_00_08; + heights[939] = 40'h08_04_00_00_08; + heights[940] = 40'h08_04_00_00_08; + heights[941] = 40'h08_04_00_00_08; + heights[942] = 40'h08_04_00_00_08; + heights[943] = 40'h08_04_00_00_08; + heights[944] = 40'h08_04_00_00_08; + heights[945] = 40'h08_04_00_00_08; + heights[946] = 40'h08_04_00_00_08; + heights[947] = 40'h08_04_00_00_08; + heights[948] = 40'h08_04_00_00_08; + heights[949] = 40'h08_04_00_00_08; + heights[950] = 40'h08_04_00_00_08; + heights[951] = 40'h08_04_00_00_08; + heights[952] = 40'h08_04_00_00_08; + heights[953] = 40'h08_04_00_00_08; + heights[954] = 40'h08_04_00_00_08; + heights[955] = 40'h08_04_00_00_08; + heights[956] = 40'h08_04_00_00_08; + heights[957] = 40'h08_04_00_00_08; + heights[958] = 40'h08_04_00_00_08; + heights[959] = 40'h08_04_00_00_08; + heights[960] = 40'h07_04_92_00_08; + heights[961] = 40'h07_04_92_00_08; + heights[962] = 40'h07_04_92_00_08; + heights[963] = 40'h07_04_92_00_08; + heights[964] = 40'h07_04_92_00_08; + heights[965] = 40'h07_04_92_00_08; + heights[966] = 40'h07_04_92_00_08; + heights[967] = 40'h07_04_92_00_08; + heights[968] = 40'h07_04_92_00_08; + heights[969] = 40'h07_04_92_00_08; + heights[970] = 40'h07_04_92_00_08; + heights[971] = 40'h07_04_92_00_08; + heights[972] = 40'h07_04_92_00_08; + heights[973] = 40'h07_04_92_00_08; + heights[974] = 40'h07_04_92_00_08; + heights[975] = 40'h07_04_92_00_08; + heights[976] = 40'h07_04_92_00_08; + heights[977] = 40'h07_04_92_00_08; + heights[978] = 40'h07_04_92_00_08; + heights[979] = 40'h07_04_92_00_08; + heights[980] = 40'h07_04_92_00_08; + heights[981] = 40'h07_04_92_00_08; + heights[982] = 40'h07_04_92_00_08; + heights[983] = 40'h07_04_92_00_08; + heights[984] = 40'h07_04_92_00_08; + heights[985] = 40'h07_04_92_00_08; + heights[986] = 40'h07_04_92_00_08; + heights[987] = 40'h07_04_92_00_08; + heights[988] = 40'h07_04_92_00_08; + heights[989] = 40'h07_04_92_00_08; + heights[990] = 40'h07_04_92_00_08; + heights[991] = 40'h07_04_92_00_08; + heights[992] = 40'h07_04_92_00_08; + heights[993] = 40'h07_04_92_00_08; + heights[994] = 40'h07_04_92_00_08; + heights[995] = 40'h07_04_92_00_08; + heights[996] = 40'h07_04_92_00_08; + heights[997] = 40'h07_04_92_00_08; + heights[998] = 40'h07_04_92_00_08; + heights[999] = 40'h07_04_92_00_08; + heights[1000] = 40'h07_04_92_00_08; + heights[1001] = 40'h07_04_92_00_08; + heights[1002] = 40'h07_04_92_00_08; + heights[1003] = 40'h07_04_92_00_08; + heights[1004] = 40'h07_04_92_00_08; + heights[1005] = 40'h07_04_92_00_08; + heights[1006] = 40'h07_04_92_00_08; + heights[1007] = 40'h07_04_92_00_08; + heights[1008] = 40'h07_04_92_00_08; + heights[1009] = 40'h07_04_92_00_08; + heights[1010] = 40'h07_04_92_00_08; + heights[1011] = 40'h07_04_92_00_08; + heights[1012] = 40'h07_04_92_00_08; + heights[1013] = 40'h07_04_92_00_08; + heights[1014] = 40'h07_04_92_00_08; + heights[1015] = 40'h07_04_92_00_08; + heights[1016] = 40'h07_04_92_00_08; + heights[1017] = 40'h07_04_92_00_08; + heights[1018] = 40'h07_04_92_00_08; + heights[1019] = 40'h07_04_92_00_08; + heights[1020] = 40'h07_04_92_00_08; + heights[1021] = 40'h07_04_92_00_08; + heights[1022] = 40'h07_04_92_00_08; + heights[1023] = 40'h07_04_92_00_08; diff --git a/src/height_rom.v b/src/height_rom.v new file mode 100644 index 0000000..075dbf3 --- /dev/null +++ b/src/height_rom.v @@ -0,0 +1,28 @@ +module height_rom ( + input clk, + input [9:0] addr, + output [39:0] height // 8bit height, Q8.8 texture scale, Q8.8 inverse distance + ); + +reg [39:0] heights [1023:0]; + +reg [39:0] height_d, height_q; + +assign height = height_q; + +initial begin +`include "height.rom" +end + +always @(*) begin + if (addr < 16'd1023) + height_d = heights[addr]; + else + height_d = 40'd0; +end + +always @(posedge clk) begin + height_q <= height_d; +end + +endmodule diff --git a/src/idist.rom b/src/idist.rom new file mode 100644 index 0000000..441431d --- /dev/null +++ b/src/idist.rom @@ -0,0 +1,1024 @@ + idists[0] = 16'h20_00; + idists[1] = 16'h10_00; + idists[2] = 16'h0a_aa; + idists[3] = 16'h08_00; + idists[4] = 16'h06_66; + idists[5] = 16'h05_55; + idists[6] = 16'h04_92; + idists[7] = 16'h04_00; + idists[8] = 16'h03_8e; + idists[9] = 16'h03_33; + idists[10] = 16'h02_e8; + idists[11] = 16'h02_aa; + idists[12] = 16'h02_76; + idists[13] = 16'h02_49; + idists[14] = 16'h02_22; + idists[15] = 16'h02_00; + idists[16] = 16'h01_e1; + idists[17] = 16'h01_c7; + idists[18] = 16'h01_af; + idists[19] = 16'h01_99; + idists[20] = 16'h01_86; + idists[21] = 16'h01_74; + idists[22] = 16'h01_64; + idists[23] = 16'h01_55; + idists[24] = 16'h01_47; + idists[25] = 16'h01_3b; + idists[26] = 16'h01_2f; + idists[27] = 16'h01_24; + idists[28] = 16'h01_1a; + idists[29] = 16'h01_11; + idists[30] = 16'h01_08; + idists[31] = 16'h01_00; + idists[32] = 16'h00_f8; + idists[33] = 16'h00_f0; + idists[34] = 16'h00_ea; + idists[35] = 16'h00_e3; + idists[36] = 16'h00_dd; + idists[37] = 16'h00_d7; + idists[38] = 16'h00_d2; + idists[39] = 16'h00_cc; + idists[40] = 16'h00_c7; + idists[41] = 16'h00_c3; + idists[42] = 16'h00_be; + idists[43] = 16'h00_ba; + idists[44] = 16'h00_b6; + idists[45] = 16'h00_b2; + idists[46] = 16'h00_ae; + idists[47] = 16'h00_aa; + idists[48] = 16'h00_a7; + idists[49] = 16'h00_a3; + idists[50] = 16'h00_a0; + idists[51] = 16'h00_9d; + idists[52] = 16'h00_9a; + idists[53] = 16'h00_97; + idists[54] = 16'h00_94; + idists[55] = 16'h00_92; + idists[56] = 16'h00_8f; + idists[57] = 16'h00_8d; + idists[58] = 16'h00_8a; + idists[59] = 16'h00_88; + idists[60] = 16'h00_86; + idists[61] = 16'h00_84; + idists[62] = 16'h00_82; + idists[63] = 16'h00_80; + idists[64] = 16'h00_7e; + idists[65] = 16'h00_7c; + idists[66] = 16'h00_7a; + idists[67] = 16'h00_78; + idists[68] = 16'h00_76; + idists[69] = 16'h00_75; + idists[70] = 16'h00_73; + idists[71] = 16'h00_71; + idists[72] = 16'h00_70; + idists[73] = 16'h00_6e; + idists[74] = 16'h00_6d; + idists[75] = 16'h00_6b; + idists[76] = 16'h00_6a; + idists[77] = 16'h00_69; + idists[78] = 16'h00_67; + idists[79] = 16'h00_66; + idists[80] = 16'h00_65; + idists[81] = 16'h00_63; + idists[82] = 16'h00_62; + idists[83] = 16'h00_61; + idists[84] = 16'h00_60; + idists[85] = 16'h00_5f; + idists[86] = 16'h00_5e; + idists[87] = 16'h00_5d; + idists[88] = 16'h00_5c; + idists[89] = 16'h00_5b; + idists[90] = 16'h00_5a; + idists[91] = 16'h00_59; + idists[92] = 16'h00_58; + idists[93] = 16'h00_57; + idists[94] = 16'h00_56; + idists[95] = 16'h00_55; + idists[96] = 16'h00_54; + idists[97] = 16'h00_53; + idists[98] = 16'h00_52; + idists[99] = 16'h00_51; + idists[100] = 16'h00_51; + idists[101] = 16'h00_50; + idists[102] = 16'h00_4f; + idists[103] = 16'h00_4e; + idists[104] = 16'h00_4e; + idists[105] = 16'h00_4d; + idists[106] = 16'h00_4c; + idists[107] = 16'h00_4b; + idists[108] = 16'h00_4b; + idists[109] = 16'h00_4a; + idists[110] = 16'h00_49; + idists[111] = 16'h00_49; + idists[112] = 16'h00_48; + idists[113] = 16'h00_47; + idists[114] = 16'h00_47; + idists[115] = 16'h00_46; + idists[116] = 16'h00_46; + idists[117] = 16'h00_45; + idists[118] = 16'h00_44; + idists[119] = 16'h00_44; + idists[120] = 16'h00_43; + idists[121] = 16'h00_43; + idists[122] = 16'h00_42; + idists[123] = 16'h00_42; + idists[124] = 16'h00_41; + idists[125] = 16'h00_41; + idists[126] = 16'h00_40; + idists[127] = 16'h00_40; + idists[128] = 16'h00_3f; + idists[129] = 16'h00_3f; + idists[130] = 16'h00_3e; + idists[131] = 16'h00_3e; + idists[132] = 16'h00_3d; + idists[133] = 16'h00_3d; + idists[134] = 16'h00_3c; + idists[135] = 16'h00_3c; + idists[136] = 16'h00_3b; + idists[137] = 16'h00_3b; + idists[138] = 16'h00_3a; + idists[139] = 16'h00_3a; + idists[140] = 16'h00_3a; + idists[141] = 16'h00_39; + idists[142] = 16'h00_39; + idists[143] = 16'h00_38; + idists[144] = 16'h00_38; + idists[145] = 16'h00_38; + idists[146] = 16'h00_37; + idists[147] = 16'h00_37; + idists[148] = 16'h00_36; + idists[149] = 16'h00_36; + idists[150] = 16'h00_36; + idists[151] = 16'h00_35; + idists[152] = 16'h00_35; + idists[153] = 16'h00_35; + idists[154] = 16'h00_34; + idists[155] = 16'h00_34; + idists[156] = 16'h00_34; + idists[157] = 16'h00_33; + idists[158] = 16'h00_33; + idists[159] = 16'h00_33; + idists[160] = 16'h00_32; + idists[161] = 16'h00_32; + idists[162] = 16'h00_32; + idists[163] = 16'h00_31; + idists[164] = 16'h00_31; + idists[165] = 16'h00_31; + idists[166] = 16'h00_31; + idists[167] = 16'h00_30; + idists[168] = 16'h00_30; + idists[169] = 16'h00_30; + idists[170] = 16'h00_2f; + idists[171] = 16'h00_2f; + idists[172] = 16'h00_2f; + idists[173] = 16'h00_2f; + idists[174] = 16'h00_2e; + idists[175] = 16'h00_2e; + idists[176] = 16'h00_2e; + idists[177] = 16'h00_2e; + idists[178] = 16'h00_2d; + idists[179] = 16'h00_2d; + idists[180] = 16'h00_2d; + idists[181] = 16'h00_2d; + idists[182] = 16'h00_2c; + idists[183] = 16'h00_2c; + idists[184] = 16'h00_2c; + idists[185] = 16'h00_2c; + idists[186] = 16'h00_2b; + idists[187] = 16'h00_2b; + idists[188] = 16'h00_2b; + idists[189] = 16'h00_2b; + idists[190] = 16'h00_2a; + idists[191] = 16'h00_2a; + idists[192] = 16'h00_2a; + idists[193] = 16'h00_2a; + idists[194] = 16'h00_2a; + idists[195] = 16'h00_29; + idists[196] = 16'h00_29; + idists[197] = 16'h00_29; + idists[198] = 16'h00_29; + idists[199] = 16'h00_28; + idists[200] = 16'h00_28; + idists[201] = 16'h00_28; + idists[202] = 16'h00_28; + idists[203] = 16'h00_28; + idists[204] = 16'h00_27; + idists[205] = 16'h00_27; + idists[206] = 16'h00_27; + idists[207] = 16'h00_27; + idists[208] = 16'h00_27; + idists[209] = 16'h00_27; + idists[210] = 16'h00_26; + idists[211] = 16'h00_26; + idists[212] = 16'h00_26; + idists[213] = 16'h00_26; + idists[214] = 16'h00_26; + idists[215] = 16'h00_25; + idists[216] = 16'h00_25; + idists[217] = 16'h00_25; + idists[218] = 16'h00_25; + idists[219] = 16'h00_25; + idists[220] = 16'h00_25; + idists[221] = 16'h00_24; + idists[222] = 16'h00_24; + idists[223] = 16'h00_24; + idists[224] = 16'h00_24; + idists[225] = 16'h00_24; + idists[226] = 16'h00_24; + idists[227] = 16'h00_23; + idists[228] = 16'h00_23; + idists[229] = 16'h00_23; + idists[230] = 16'h00_23; + idists[231] = 16'h00_23; + idists[232] = 16'h00_23; + idists[233] = 16'h00_23; + idists[234] = 16'h00_22; + idists[235] = 16'h00_22; + idists[236] = 16'h00_22; + idists[237] = 16'h00_22; + idists[238] = 16'h00_22; + idists[239] = 16'h00_22; + idists[240] = 16'h00_21; + idists[241] = 16'h00_21; + idists[242] = 16'h00_21; + idists[243] = 16'h00_21; + idists[244] = 16'h00_21; + idists[245] = 16'h00_21; + idists[246] = 16'h00_21; + idists[247] = 16'h00_21; + idists[248] = 16'h00_20; + idists[249] = 16'h00_20; + idists[250] = 16'h00_20; + idists[251] = 16'h00_20; + idists[252] = 16'h00_20; + idists[253] = 16'h00_20; + idists[254] = 16'h00_20; + idists[255] = 16'h00_20; + idists[256] = 16'h00_1f; + idists[257] = 16'h00_1f; + idists[258] = 16'h00_1f; + idists[259] = 16'h00_1f; + idists[260] = 16'h00_1f; + idists[261] = 16'h00_1f; + idists[262] = 16'h00_1f; + idists[263] = 16'h00_1f; + idists[264] = 16'h00_1e; + idists[265] = 16'h00_1e; + idists[266] = 16'h00_1e; + idists[267] = 16'h00_1e; + idists[268] = 16'h00_1e; + idists[269] = 16'h00_1e; + idists[270] = 16'h00_1e; + idists[271] = 16'h00_1e; + idists[272] = 16'h00_1e; + idists[273] = 16'h00_1d; + idists[274] = 16'h00_1d; + idists[275] = 16'h00_1d; + idists[276] = 16'h00_1d; + idists[277] = 16'h00_1d; + idists[278] = 16'h00_1d; + idists[279] = 16'h00_1d; + idists[280] = 16'h00_1d; + idists[281] = 16'h00_1d; + idists[282] = 16'h00_1c; + idists[283] = 16'h00_1c; + idists[284] = 16'h00_1c; + idists[285] = 16'h00_1c; + idists[286] = 16'h00_1c; + idists[287] = 16'h00_1c; + idists[288] = 16'h00_1c; + idists[289] = 16'h00_1c; + idists[290] = 16'h00_1c; + idists[291] = 16'h00_1c; + idists[292] = 16'h00_1b; + idists[293] = 16'h00_1b; + idists[294] = 16'h00_1b; + idists[295] = 16'h00_1b; + idists[296] = 16'h00_1b; + idists[297] = 16'h00_1b; + idists[298] = 16'h00_1b; + idists[299] = 16'h00_1b; + idists[300] = 16'h00_1b; + idists[301] = 16'h00_1b; + idists[302] = 16'h00_1b; + idists[303] = 16'h00_1a; + idists[304] = 16'h00_1a; + idists[305] = 16'h00_1a; + idists[306] = 16'h00_1a; + idists[307] = 16'h00_1a; + idists[308] = 16'h00_1a; + idists[309] = 16'h00_1a; + idists[310] = 16'h00_1a; + idists[311] = 16'h00_1a; + idists[312] = 16'h00_1a; + idists[313] = 16'h00_1a; + idists[314] = 16'h00_1a; + idists[315] = 16'h00_19; + idists[316] = 16'h00_19; + idists[317] = 16'h00_19; + idists[318] = 16'h00_19; + idists[319] = 16'h00_19; + idists[320] = 16'h00_19; + idists[321] = 16'h00_19; + idists[322] = 16'h00_19; + idists[323] = 16'h00_19; + idists[324] = 16'h00_19; + idists[325] = 16'h00_19; + idists[326] = 16'h00_19; + idists[327] = 16'h00_18; + idists[328] = 16'h00_18; + idists[329] = 16'h00_18; + idists[330] = 16'h00_18; + idists[331] = 16'h00_18; + idists[332] = 16'h00_18; + idists[333] = 16'h00_18; + idists[334] = 16'h00_18; + idists[335] = 16'h00_18; + idists[336] = 16'h00_18; + idists[337] = 16'h00_18; + idists[338] = 16'h00_18; + idists[339] = 16'h00_18; + idists[340] = 16'h00_18; + idists[341] = 16'h00_17; + idists[342] = 16'h00_17; + idists[343] = 16'h00_17; + idists[344] = 16'h00_17; + idists[345] = 16'h00_17; + idists[346] = 16'h00_17; + idists[347] = 16'h00_17; + idists[348] = 16'h00_17; + idists[349] = 16'h00_17; + idists[350] = 16'h00_17; + idists[351] = 16'h00_17; + idists[352] = 16'h00_17; + idists[353] = 16'h00_17; + idists[354] = 16'h00_17; + idists[355] = 16'h00_17; + idists[356] = 16'h00_16; + idists[357] = 16'h00_16; + idists[358] = 16'h00_16; + idists[359] = 16'h00_16; + idists[360] = 16'h00_16; + idists[361] = 16'h00_16; + idists[362] = 16'h00_16; + idists[363] = 16'h00_16; + idists[364] = 16'h00_16; + idists[365] = 16'h00_16; + idists[366] = 16'h00_16; + idists[367] = 16'h00_16; + idists[368] = 16'h00_16; + idists[369] = 16'h00_16; + idists[370] = 16'h00_16; + idists[371] = 16'h00_16; + idists[372] = 16'h00_15; + idists[373] = 16'h00_15; + idists[374] = 16'h00_15; + idists[375] = 16'h00_15; + idists[376] = 16'h00_15; + idists[377] = 16'h00_15; + idists[378] = 16'h00_15; + idists[379] = 16'h00_15; + idists[380] = 16'h00_15; + idists[381] = 16'h00_15; + idists[382] = 16'h00_15; + idists[383] = 16'h00_15; + idists[384] = 16'h00_15; + idists[385] = 16'h00_15; + idists[386] = 16'h00_15; + idists[387] = 16'h00_15; + idists[388] = 16'h00_15; + idists[389] = 16'h00_15; + idists[390] = 16'h00_14; + idists[391] = 16'h00_14; + idists[392] = 16'h00_14; + idists[393] = 16'h00_14; + idists[394] = 16'h00_14; + idists[395] = 16'h00_14; + idists[396] = 16'h00_14; + idists[397] = 16'h00_14; + idists[398] = 16'h00_14; + idists[399] = 16'h00_14; + idists[400] = 16'h00_14; + idists[401] = 16'h00_14; + idists[402] = 16'h00_14; + idists[403] = 16'h00_14; + idists[404] = 16'h00_14; + idists[405] = 16'h00_14; + idists[406] = 16'h00_14; + idists[407] = 16'h00_14; + idists[408] = 16'h00_14; + idists[409] = 16'h00_13; + idists[410] = 16'h00_13; + idists[411] = 16'h00_13; + idists[412] = 16'h00_13; + idists[413] = 16'h00_13; + idists[414] = 16'h00_13; + idists[415] = 16'h00_13; + idists[416] = 16'h00_13; + idists[417] = 16'h00_13; + idists[418] = 16'h00_13; + idists[419] = 16'h00_13; + idists[420] = 16'h00_13; + idists[421] = 16'h00_13; + idists[422] = 16'h00_13; + idists[423] = 16'h00_13; + idists[424] = 16'h00_13; + idists[425] = 16'h00_13; + idists[426] = 16'h00_13; + idists[427] = 16'h00_13; + idists[428] = 16'h00_13; + idists[429] = 16'h00_13; + idists[430] = 16'h00_13; + idists[431] = 16'h00_12; + idists[432] = 16'h00_12; + idists[433] = 16'h00_12; + idists[434] = 16'h00_12; + idists[435] = 16'h00_12; + idists[436] = 16'h00_12; + idists[437] = 16'h00_12; + idists[438] = 16'h00_12; + idists[439] = 16'h00_12; + idists[440] = 16'h00_12; + idists[441] = 16'h00_12; + idists[442] = 16'h00_12; + idists[443] = 16'h00_12; + idists[444] = 16'h00_12; + idists[445] = 16'h00_12; + idists[446] = 16'h00_12; + idists[447] = 16'h00_12; + idists[448] = 16'h00_12; + idists[449] = 16'h00_12; + idists[450] = 16'h00_12; + idists[451] = 16'h00_12; + idists[452] = 16'h00_12; + idists[453] = 16'h00_12; + idists[454] = 16'h00_12; + idists[455] = 16'h00_11; + idists[456] = 16'h00_11; + idists[457] = 16'h00_11; + idists[458] = 16'h00_11; + idists[459] = 16'h00_11; + idists[460] = 16'h00_11; + idists[461] = 16'h00_11; + idists[462] = 16'h00_11; + idists[463] = 16'h00_11; + idists[464] = 16'h00_11; + idists[465] = 16'h00_11; + idists[466] = 16'h00_11; + idists[467] = 16'h00_11; + idists[468] = 16'h00_11; + idists[469] = 16'h00_11; + idists[470] = 16'h00_11; + idists[471] = 16'h00_11; + idists[472] = 16'h00_11; + idists[473] = 16'h00_11; + idists[474] = 16'h00_11; + idists[475] = 16'h00_11; + idists[476] = 16'h00_11; + idists[477] = 16'h00_11; + idists[478] = 16'h00_11; + idists[479] = 16'h00_11; + idists[480] = 16'h00_11; + idists[481] = 16'h00_10; + idists[482] = 16'h00_10; + idists[483] = 16'h00_10; + idists[484] = 16'h00_10; + idists[485] = 16'h00_10; + idists[486] = 16'h00_10; + idists[487] = 16'h00_10; + idists[488] = 16'h00_10; + idists[489] = 16'h00_10; + idists[490] = 16'h00_10; + idists[491] = 16'h00_10; + idists[492] = 16'h00_10; + idists[493] = 16'h00_10; + idists[494] = 16'h00_10; + idists[495] = 16'h00_10; + idists[496] = 16'h00_10; + idists[497] = 16'h00_10; + idists[498] = 16'h00_10; + idists[499] = 16'h00_10; + idists[500] = 16'h00_10; + idists[501] = 16'h00_10; + idists[502] = 16'h00_10; + idists[503] = 16'h00_10; + idists[504] = 16'h00_10; + idists[505] = 16'h00_10; + idists[506] = 16'h00_10; + idists[507] = 16'h00_10; + idists[508] = 16'h00_10; + idists[509] = 16'h00_10; + idists[510] = 16'h00_10; + idists[511] = 16'h00_10; + idists[512] = 16'h00_0f; + idists[513] = 16'h00_0f; + idists[514] = 16'h00_0f; + idists[515] = 16'h00_0f; + idists[516] = 16'h00_0f; + idists[517] = 16'h00_0f; + idists[518] = 16'h00_0f; + idists[519] = 16'h00_0f; + idists[520] = 16'h00_0f; + idists[521] = 16'h00_0f; + idists[522] = 16'h00_0f; + idists[523] = 16'h00_0f; + idists[524] = 16'h00_0f; + idists[525] = 16'h00_0f; + idists[526] = 16'h00_0f; + idists[527] = 16'h00_0f; + idists[528] = 16'h00_0f; + idists[529] = 16'h00_0f; + idists[530] = 16'h00_0f; + idists[531] = 16'h00_0f; + idists[532] = 16'h00_0f; + idists[533] = 16'h00_0f; + idists[534] = 16'h00_0f; + idists[535] = 16'h00_0f; + idists[536] = 16'h00_0f; + idists[537] = 16'h00_0f; + idists[538] = 16'h00_0f; + idists[539] = 16'h00_0f; + idists[540] = 16'h00_0f; + idists[541] = 16'h00_0f; + idists[542] = 16'h00_0f; + idists[543] = 16'h00_0f; + idists[544] = 16'h00_0f; + idists[545] = 16'h00_0f; + idists[546] = 16'h00_0e; + idists[547] = 16'h00_0e; + idists[548] = 16'h00_0e; + idists[549] = 16'h00_0e; + idists[550] = 16'h00_0e; + idists[551] = 16'h00_0e; + idists[552] = 16'h00_0e; + idists[553] = 16'h00_0e; + idists[554] = 16'h00_0e; + idists[555] = 16'h00_0e; + idists[556] = 16'h00_0e; + idists[557] = 16'h00_0e; + idists[558] = 16'h00_0e; + idists[559] = 16'h00_0e; + idists[560] = 16'h00_0e; + idists[561] = 16'h00_0e; + idists[562] = 16'h00_0e; + idists[563] = 16'h00_0e; + idists[564] = 16'h00_0e; + idists[565] = 16'h00_0e; + idists[566] = 16'h00_0e; + idists[567] = 16'h00_0e; + idists[568] = 16'h00_0e; + idists[569] = 16'h00_0e; + idists[570] = 16'h00_0e; + idists[571] = 16'h00_0e; + idists[572] = 16'h00_0e; + idists[573] = 16'h00_0e; + idists[574] = 16'h00_0e; + idists[575] = 16'h00_0e; + idists[576] = 16'h00_0e; + idists[577] = 16'h00_0e; + idists[578] = 16'h00_0e; + idists[579] = 16'h00_0e; + idists[580] = 16'h00_0e; + idists[581] = 16'h00_0e; + idists[582] = 16'h00_0e; + idists[583] = 16'h00_0e; + idists[584] = 16'h00_0e; + idists[585] = 16'h00_0d; + idists[586] = 16'h00_0d; + idists[587] = 16'h00_0d; + idists[588] = 16'h00_0d; + idists[589] = 16'h00_0d; + idists[590] = 16'h00_0d; + idists[591] = 16'h00_0d; + idists[592] = 16'h00_0d; + idists[593] = 16'h00_0d; + idists[594] = 16'h00_0d; + idists[595] = 16'h00_0d; + idists[596] = 16'h00_0d; + idists[597] = 16'h00_0d; + idists[598] = 16'h00_0d; + idists[599] = 16'h00_0d; + idists[600] = 16'h00_0d; + idists[601] = 16'h00_0d; + idists[602] = 16'h00_0d; + idists[603] = 16'h00_0d; + idists[604] = 16'h00_0d; + idists[605] = 16'h00_0d; + idists[606] = 16'h00_0d; + idists[607] = 16'h00_0d; + idists[608] = 16'h00_0d; + idists[609] = 16'h00_0d; + idists[610] = 16'h00_0d; + idists[611] = 16'h00_0d; + idists[612] = 16'h00_0d; + idists[613] = 16'h00_0d; + idists[614] = 16'h00_0d; + idists[615] = 16'h00_0d; + idists[616] = 16'h00_0d; + idists[617] = 16'h00_0d; + idists[618] = 16'h00_0d; + idists[619] = 16'h00_0d; + idists[620] = 16'h00_0d; + idists[621] = 16'h00_0d; + idists[622] = 16'h00_0d; + idists[623] = 16'h00_0d; + idists[624] = 16'h00_0d; + idists[625] = 16'h00_0d; + idists[626] = 16'h00_0d; + idists[627] = 16'h00_0d; + idists[628] = 16'h00_0d; + idists[629] = 16'h00_0d; + idists[630] = 16'h00_0c; + idists[631] = 16'h00_0c; + idists[632] = 16'h00_0c; + idists[633] = 16'h00_0c; + idists[634] = 16'h00_0c; + idists[635] = 16'h00_0c; + idists[636] = 16'h00_0c; + idists[637] = 16'h00_0c; + idists[638] = 16'h00_0c; + idists[639] = 16'h00_0c; + idists[640] = 16'h00_0c; + idists[641] = 16'h00_0c; + idists[642] = 16'h00_0c; + idists[643] = 16'h00_0c; + idists[644] = 16'h00_0c; + idists[645] = 16'h00_0c; + idists[646] = 16'h00_0c; + idists[647] = 16'h00_0c; + idists[648] = 16'h00_0c; + idists[649] = 16'h00_0c; + idists[650] = 16'h00_0c; + idists[651] = 16'h00_0c; + idists[652] = 16'h00_0c; + idists[653] = 16'h00_0c; + idists[654] = 16'h00_0c; + idists[655] = 16'h00_0c; + idists[656] = 16'h00_0c; + idists[657] = 16'h00_0c; + idists[658] = 16'h00_0c; + idists[659] = 16'h00_0c; + idists[660] = 16'h00_0c; + idists[661] = 16'h00_0c; + idists[662] = 16'h00_0c; + idists[663] = 16'h00_0c; + idists[664] = 16'h00_0c; + idists[665] = 16'h00_0c; + idists[666] = 16'h00_0c; + idists[667] = 16'h00_0c; + idists[668] = 16'h00_0c; + idists[669] = 16'h00_0c; + idists[670] = 16'h00_0c; + idists[671] = 16'h00_0c; + idists[672] = 16'h00_0c; + idists[673] = 16'h00_0c; + idists[674] = 16'h00_0c; + idists[675] = 16'h00_0c; + idists[676] = 16'h00_0c; + idists[677] = 16'h00_0c; + idists[678] = 16'h00_0c; + idists[679] = 16'h00_0c; + idists[680] = 16'h00_0c; + idists[681] = 16'h00_0c; + idists[682] = 16'h00_0b; + idists[683] = 16'h00_0b; + idists[684] = 16'h00_0b; + idists[685] = 16'h00_0b; + idists[686] = 16'h00_0b; + idists[687] = 16'h00_0b; + idists[688] = 16'h00_0b; + idists[689] = 16'h00_0b; + idists[690] = 16'h00_0b; + idists[691] = 16'h00_0b; + idists[692] = 16'h00_0b; + idists[693] = 16'h00_0b; + idists[694] = 16'h00_0b; + idists[695] = 16'h00_0b; + idists[696] = 16'h00_0b; + idists[697] = 16'h00_0b; + idists[698] = 16'h00_0b; + idists[699] = 16'h00_0b; + idists[700] = 16'h00_0b; + idists[701] = 16'h00_0b; + idists[702] = 16'h00_0b; + idists[703] = 16'h00_0b; + idists[704] = 16'h00_0b; + idists[705] = 16'h00_0b; + idists[706] = 16'h00_0b; + idists[707] = 16'h00_0b; + idists[708] = 16'h00_0b; + idists[709] = 16'h00_0b; + idists[710] = 16'h00_0b; + idists[711] = 16'h00_0b; + idists[712] = 16'h00_0b; + idists[713] = 16'h00_0b; + idists[714] = 16'h00_0b; + idists[715] = 16'h00_0b; + idists[716] = 16'h00_0b; + idists[717] = 16'h00_0b; + idists[718] = 16'h00_0b; + idists[719] = 16'h00_0b; + idists[720] = 16'h00_0b; + idists[721] = 16'h00_0b; + idists[722] = 16'h00_0b; + idists[723] = 16'h00_0b; + idists[724] = 16'h00_0b; + idists[725] = 16'h00_0b; + idists[726] = 16'h00_0b; + idists[727] = 16'h00_0b; + idists[728] = 16'h00_0b; + idists[729] = 16'h00_0b; + idists[730] = 16'h00_0b; + idists[731] = 16'h00_0b; + idists[732] = 16'h00_0b; + idists[733] = 16'h00_0b; + idists[734] = 16'h00_0b; + idists[735] = 16'h00_0b; + idists[736] = 16'h00_0b; + idists[737] = 16'h00_0b; + idists[738] = 16'h00_0b; + idists[739] = 16'h00_0b; + idists[740] = 16'h00_0b; + idists[741] = 16'h00_0b; + idists[742] = 16'h00_0b; + idists[743] = 16'h00_0b; + idists[744] = 16'h00_0a; + idists[745] = 16'h00_0a; + idists[746] = 16'h00_0a; + idists[747] = 16'h00_0a; + idists[748] = 16'h00_0a; + idists[749] = 16'h00_0a; + idists[750] = 16'h00_0a; + idists[751] = 16'h00_0a; + idists[752] = 16'h00_0a; + idists[753] = 16'h00_0a; + idists[754] = 16'h00_0a; + idists[755] = 16'h00_0a; + idists[756] = 16'h00_0a; + idists[757] = 16'h00_0a; + idists[758] = 16'h00_0a; + idists[759] = 16'h00_0a; + idists[760] = 16'h00_0a; + idists[761] = 16'h00_0a; + idists[762] = 16'h00_0a; + idists[763] = 16'h00_0a; + idists[764] = 16'h00_0a; + idists[765] = 16'h00_0a; + idists[766] = 16'h00_0a; + idists[767] = 16'h00_0a; + idists[768] = 16'h00_0a; + idists[769] = 16'h00_0a; + idists[770] = 16'h00_0a; + idists[771] = 16'h00_0a; + idists[772] = 16'h00_0a; + idists[773] = 16'h00_0a; + idists[774] = 16'h00_0a; + idists[775] = 16'h00_0a; + idists[776] = 16'h00_0a; + idists[777] = 16'h00_0a; + idists[778] = 16'h00_0a; + idists[779] = 16'h00_0a; + idists[780] = 16'h00_0a; + idists[781] = 16'h00_0a; + idists[782] = 16'h00_0a; + idists[783] = 16'h00_0a; + idists[784] = 16'h00_0a; + idists[785] = 16'h00_0a; + idists[786] = 16'h00_0a; + idists[787] = 16'h00_0a; + idists[788] = 16'h00_0a; + idists[789] = 16'h00_0a; + idists[790] = 16'h00_0a; + idists[791] = 16'h00_0a; + idists[792] = 16'h00_0a; + idists[793] = 16'h00_0a; + idists[794] = 16'h00_0a; + idists[795] = 16'h00_0a; + idists[796] = 16'h00_0a; + idists[797] = 16'h00_0a; + idists[798] = 16'h00_0a; + idists[799] = 16'h00_0a; + idists[800] = 16'h00_0a; + idists[801] = 16'h00_0a; + idists[802] = 16'h00_0a; + idists[803] = 16'h00_0a; + idists[804] = 16'h00_0a; + idists[805] = 16'h00_0a; + idists[806] = 16'h00_0a; + idists[807] = 16'h00_0a; + idists[808] = 16'h00_0a; + idists[809] = 16'h00_0a; + idists[810] = 16'h00_0a; + idists[811] = 16'h00_0a; + idists[812] = 16'h00_0a; + idists[813] = 16'h00_0a; + idists[814] = 16'h00_0a; + idists[815] = 16'h00_0a; + idists[816] = 16'h00_0a; + idists[817] = 16'h00_0a; + idists[818] = 16'h00_0a; + idists[819] = 16'h00_09; + idists[820] = 16'h00_09; + idists[821] = 16'h00_09; + idists[822] = 16'h00_09; + idists[823] = 16'h00_09; + idists[824] = 16'h00_09; + idists[825] = 16'h00_09; + idists[826] = 16'h00_09; + idists[827] = 16'h00_09; + idists[828] = 16'h00_09; + idists[829] = 16'h00_09; + idists[830] = 16'h00_09; + idists[831] = 16'h00_09; + idists[832] = 16'h00_09; + idists[833] = 16'h00_09; + idists[834] = 16'h00_09; + idists[835] = 16'h00_09; + idists[836] = 16'h00_09; + idists[837] = 16'h00_09; + idists[838] = 16'h00_09; + idists[839] = 16'h00_09; + idists[840] = 16'h00_09; + idists[841] = 16'h00_09; + idists[842] = 16'h00_09; + idists[843] = 16'h00_09; + idists[844] = 16'h00_09; + idists[845] = 16'h00_09; + idists[846] = 16'h00_09; + idists[847] = 16'h00_09; + idists[848] = 16'h00_09; + idists[849] = 16'h00_09; + idists[850] = 16'h00_09; + idists[851] = 16'h00_09; + idists[852] = 16'h00_09; + idists[853] = 16'h00_09; + idists[854] = 16'h00_09; + idists[855] = 16'h00_09; + idists[856] = 16'h00_09; + idists[857] = 16'h00_09; + idists[858] = 16'h00_09; + idists[859] = 16'h00_09; + idists[860] = 16'h00_09; + idists[861] = 16'h00_09; + idists[862] = 16'h00_09; + idists[863] = 16'h00_09; + idists[864] = 16'h00_09; + idists[865] = 16'h00_09; + idists[866] = 16'h00_09; + idists[867] = 16'h00_09; + idists[868] = 16'h00_09; + idists[869] = 16'h00_09; + idists[870] = 16'h00_09; + idists[871] = 16'h00_09; + idists[872] = 16'h00_09; + idists[873] = 16'h00_09; + idists[874] = 16'h00_09; + idists[875] = 16'h00_09; + idists[876] = 16'h00_09; + idists[877] = 16'h00_09; + idists[878] = 16'h00_09; + idists[879] = 16'h00_09; + idists[880] = 16'h00_09; + idists[881] = 16'h00_09; + idists[882] = 16'h00_09; + idists[883] = 16'h00_09; + idists[884] = 16'h00_09; + idists[885] = 16'h00_09; + idists[886] = 16'h00_09; + idists[887] = 16'h00_09; + idists[888] = 16'h00_09; + idists[889] = 16'h00_09; + idists[890] = 16'h00_09; + idists[891] = 16'h00_09; + idists[892] = 16'h00_09; + idists[893] = 16'h00_09; + idists[894] = 16'h00_09; + idists[895] = 16'h00_09; + idists[896] = 16'h00_09; + idists[897] = 16'h00_09; + idists[898] = 16'h00_09; + idists[899] = 16'h00_09; + idists[900] = 16'h00_09; + idists[901] = 16'h00_09; + idists[902] = 16'h00_09; + idists[903] = 16'h00_09; + idists[904] = 16'h00_09; + idists[905] = 16'h00_09; + idists[906] = 16'h00_09; + idists[907] = 16'h00_09; + idists[908] = 16'h00_09; + idists[909] = 16'h00_09; + idists[910] = 16'h00_08; + idists[911] = 16'h00_08; + idists[912] = 16'h00_08; + idists[913] = 16'h00_08; + idists[914] = 16'h00_08; + idists[915] = 16'h00_08; + idists[916] = 16'h00_08; + idists[917] = 16'h00_08; + idists[918] = 16'h00_08; + idists[919] = 16'h00_08; + idists[920] = 16'h00_08; + idists[921] = 16'h00_08; + idists[922] = 16'h00_08; + idists[923] = 16'h00_08; + idists[924] = 16'h00_08; + idists[925] = 16'h00_08; + idists[926] = 16'h00_08; + idists[927] = 16'h00_08; + idists[928] = 16'h00_08; + idists[929] = 16'h00_08; + idists[930] = 16'h00_08; + idists[931] = 16'h00_08; + idists[932] = 16'h00_08; + idists[933] = 16'h00_08; + idists[934] = 16'h00_08; + idists[935] = 16'h00_08; + idists[936] = 16'h00_08; + idists[937] = 16'h00_08; + idists[938] = 16'h00_08; + idists[939] = 16'h00_08; + idists[940] = 16'h00_08; + idists[941] = 16'h00_08; + idists[942] = 16'h00_08; + idists[943] = 16'h00_08; + idists[944] = 16'h00_08; + idists[945] = 16'h00_08; + idists[946] = 16'h00_08; + idists[947] = 16'h00_08; + idists[948] = 16'h00_08; + idists[949] = 16'h00_08; + idists[950] = 16'h00_08; + idists[951] = 16'h00_08; + idists[952] = 16'h00_08; + idists[953] = 16'h00_08; + idists[954] = 16'h00_08; + idists[955] = 16'h00_08; + idists[956] = 16'h00_08; + idists[957] = 16'h00_08; + idists[958] = 16'h00_08; + idists[959] = 16'h00_08; + idists[960] = 16'h00_08; + idists[961] = 16'h00_08; + idists[962] = 16'h00_08; + idists[963] = 16'h00_08; + idists[964] = 16'h00_08; + idists[965] = 16'h00_08; + idists[966] = 16'h00_08; + idists[967] = 16'h00_08; + idists[968] = 16'h00_08; + idists[969] = 16'h00_08; + idists[970] = 16'h00_08; + idists[971] = 16'h00_08; + idists[972] = 16'h00_08; + idists[973] = 16'h00_08; + idists[974] = 16'h00_08; + idists[975] = 16'h00_08; + idists[976] = 16'h00_08; + idists[977] = 16'h00_08; + idists[978] = 16'h00_08; + idists[979] = 16'h00_08; + idists[980] = 16'h00_08; + idists[981] = 16'h00_08; + idists[982] = 16'h00_08; + idists[983] = 16'h00_08; + idists[984] = 16'h00_08; + idists[985] = 16'h00_08; + idists[986] = 16'h00_08; + idists[987] = 16'h00_08; + idists[988] = 16'h00_08; + idists[989] = 16'h00_08; + idists[990] = 16'h00_08; + idists[991] = 16'h00_08; + idists[992] = 16'h00_08; + idists[993] = 16'h00_08; + idists[994] = 16'h00_08; + idists[995] = 16'h00_08; + idists[996] = 16'h00_08; + idists[997] = 16'h00_08; + idists[998] = 16'h00_08; + idists[999] = 16'h00_08; + idists[1000] = 16'h00_08; + idists[1001] = 16'h00_08; + idists[1002] = 16'h00_08; + idists[1003] = 16'h00_08; + idists[1004] = 16'h00_08; + idists[1005] = 16'h00_08; + idists[1006] = 16'h00_08; + idists[1007] = 16'h00_08; + idists[1008] = 16'h00_08; + idists[1009] = 16'h00_08; + idists[1010] = 16'h00_08; + idists[1011] = 16'h00_08; + idists[1012] = 16'h00_08; + idists[1013] = 16'h00_08; + idists[1014] = 16'h00_08; + idists[1015] = 16'h00_08; + idists[1016] = 16'h00_08; + idists[1017] = 16'h00_08; + idists[1018] = 16'h00_08; + idists[1019] = 16'h00_08; + idists[1020] = 16'h00_08; + idists[1021] = 16'h00_08; + idists[1022] = 16'h00_08; + idists[1023] = 16'h00_08; diff --git a/src/idist_rom.v b/src/idist_rom.v new file mode 100644 index 0000000..5d283c2 --- /dev/null +++ b/src/idist_rom.v @@ -0,0 +1,28 @@ +module idist_rom ( + input clk, + input [9:0] addr, + output [15:0] idist // Q8.8 inverse distance + ); + +reg [15:0] idists [1023:0]; + +reg [15:0] idist_d, idist_q; + +assign idist = idist_q; + +initial begin +`include "idist.rom" +end + +always @(*) begin + if (addr < 10'd1023) + idist_d = idists[addr]; + else + idist_d = 16'd0; +end + +always @(posedge clk) begin + idist_q <= idist_d; +end + +endmodule diff --git a/src/iheight.rom b/src/iheight.rom new file mode 100644 index 0000000..18a8c7f --- /dev/null +++ b/src/iheight.rom @@ -0,0 +1,512 @@ + iheights[0] = 16'h20_00; + iheights[1] = 16'h20_00; + iheights[2] = 16'h10_00; + iheights[3] = 16'h0a_aa; + iheights[4] = 16'h08_00; + iheights[5] = 16'h06_66; + iheights[6] = 16'h05_55; + iheights[7] = 16'h04_92; + iheights[8] = 16'h04_00; + iheights[9] = 16'h03_8e; + iheights[10] = 16'h03_33; + iheights[11] = 16'h02_e8; + iheights[12] = 16'h02_aa; + iheights[13] = 16'h02_76; + iheights[14] = 16'h02_49; + iheights[15] = 16'h02_22; + iheights[16] = 16'h02_00; + iheights[17] = 16'h01_e1; + iheights[18] = 16'h01_c7; + iheights[19] = 16'h01_af; + iheights[20] = 16'h01_99; + iheights[21] = 16'h01_86; + iheights[22] = 16'h01_74; + iheights[23] = 16'h01_64; + iheights[24] = 16'h01_55; + iheights[25] = 16'h01_47; + iheights[26] = 16'h01_3b; + iheights[27] = 16'h01_2f; + iheights[28] = 16'h01_24; + iheights[29] = 16'h01_1a; + iheights[30] = 16'h01_11; + iheights[31] = 16'h01_08; + iheights[32] = 16'h01_00; + iheights[33] = 16'h00_f8; + iheights[34] = 16'h00_f0; + iheights[35] = 16'h00_ea; + iheights[36] = 16'h00_e3; + iheights[37] = 16'h00_dd; + iheights[38] = 16'h00_d7; + iheights[39] = 16'h00_d2; + iheights[40] = 16'h00_cc; + iheights[41] = 16'h00_c7; + iheights[42] = 16'h00_c3; + iheights[43] = 16'h00_be; + iheights[44] = 16'h00_ba; + iheights[45] = 16'h00_b6; + iheights[46] = 16'h00_b2; + iheights[47] = 16'h00_ae; + iheights[48] = 16'h00_aa; + iheights[49] = 16'h00_a7; + iheights[50] = 16'h00_a3; + iheights[51] = 16'h00_a0; + iheights[52] = 16'h00_9d; + iheights[53] = 16'h00_9a; + iheights[54] = 16'h00_97; + iheights[55] = 16'h00_94; + iheights[56] = 16'h00_92; + iheights[57] = 16'h00_8f; + iheights[58] = 16'h00_8d; + iheights[59] = 16'h00_8a; + iheights[60] = 16'h00_88; + iheights[61] = 16'h00_86; + iheights[62] = 16'h00_84; + iheights[63] = 16'h00_82; + iheights[64] = 16'h00_80; + iheights[65] = 16'h00_7e; + iheights[66] = 16'h00_7c; + iheights[67] = 16'h00_7a; + iheights[68] = 16'h00_78; + iheights[69] = 16'h00_76; + iheights[70] = 16'h00_75; + iheights[71] = 16'h00_73; + iheights[72] = 16'h00_71; + iheights[73] = 16'h00_70; + iheights[74] = 16'h00_6e; + iheights[75] = 16'h00_6d; + iheights[76] = 16'h00_6b; + iheights[77] = 16'h00_6a; + iheights[78] = 16'h00_69; + iheights[79] = 16'h00_67; + iheights[80] = 16'h00_66; + iheights[81] = 16'h00_65; + iheights[82] = 16'h00_63; + iheights[83] = 16'h00_62; + iheights[84] = 16'h00_61; + iheights[85] = 16'h00_60; + iheights[86] = 16'h00_5f; + iheights[87] = 16'h00_5e; + iheights[88] = 16'h00_5d; + iheights[89] = 16'h00_5c; + iheights[90] = 16'h00_5b; + iheights[91] = 16'h00_5a; + iheights[92] = 16'h00_59; + iheights[93] = 16'h00_58; + iheights[94] = 16'h00_57; + iheights[95] = 16'h00_56; + iheights[96] = 16'h00_55; + iheights[97] = 16'h00_54; + iheights[98] = 16'h00_53; + iheights[99] = 16'h00_52; + iheights[100] = 16'h00_51; + iheights[101] = 16'h00_51; + iheights[102] = 16'h00_50; + iheights[103] = 16'h00_4f; + iheights[104] = 16'h00_4e; + iheights[105] = 16'h00_4e; + iheights[106] = 16'h00_4d; + iheights[107] = 16'h00_4c; + iheights[108] = 16'h00_4b; + iheights[109] = 16'h00_4b; + iheights[110] = 16'h00_4a; + iheights[111] = 16'h00_49; + iheights[112] = 16'h00_49; + iheights[113] = 16'h00_48; + iheights[114] = 16'h00_47; + iheights[115] = 16'h00_47; + iheights[116] = 16'h00_46; + iheights[117] = 16'h00_46; + iheights[118] = 16'h00_45; + iheights[119] = 16'h00_44; + iheights[120] = 16'h00_44; + iheights[121] = 16'h00_43; + iheights[122] = 16'h00_43; + iheights[123] = 16'h00_42; + iheights[124] = 16'h00_42; + iheights[125] = 16'h00_41; + iheights[126] = 16'h00_41; + iheights[127] = 16'h00_40; + iheights[128] = 16'h00_40; + iheights[129] = 16'h00_3f; + iheights[130] = 16'h00_3f; + iheights[131] = 16'h00_3e; + iheights[132] = 16'h00_3e; + iheights[133] = 16'h00_3d; + iheights[134] = 16'h00_3d; + iheights[135] = 16'h00_3c; + iheights[136] = 16'h00_3c; + iheights[137] = 16'h00_3b; + iheights[138] = 16'h00_3b; + iheights[139] = 16'h00_3a; + iheights[140] = 16'h00_3a; + iheights[141] = 16'h00_3a; + iheights[142] = 16'h00_39; + iheights[143] = 16'h00_39; + iheights[144] = 16'h00_38; + iheights[145] = 16'h00_38; + iheights[146] = 16'h00_38; + iheights[147] = 16'h00_37; + iheights[148] = 16'h00_37; + iheights[149] = 16'h00_36; + iheights[150] = 16'h00_36; + iheights[151] = 16'h00_36; + iheights[152] = 16'h00_35; + iheights[153] = 16'h00_35; + iheights[154] = 16'h00_35; + iheights[155] = 16'h00_34; + iheights[156] = 16'h00_34; + iheights[157] = 16'h00_34; + iheights[158] = 16'h00_33; + iheights[159] = 16'h00_33; + iheights[160] = 16'h00_33; + iheights[161] = 16'h00_32; + iheights[162] = 16'h00_32; + iheights[163] = 16'h00_32; + iheights[164] = 16'h00_31; + iheights[165] = 16'h00_31; + iheights[166] = 16'h00_31; + iheights[167] = 16'h00_31; + iheights[168] = 16'h00_30; + iheights[169] = 16'h00_30; + iheights[170] = 16'h00_30; + iheights[171] = 16'h00_2f; + iheights[172] = 16'h00_2f; + iheights[173] = 16'h00_2f; + iheights[174] = 16'h00_2f; + iheights[175] = 16'h00_2e; + iheights[176] = 16'h00_2e; + iheights[177] = 16'h00_2e; + iheights[178] = 16'h00_2e; + iheights[179] = 16'h00_2d; + iheights[180] = 16'h00_2d; + iheights[181] = 16'h00_2d; + iheights[182] = 16'h00_2d; + iheights[183] = 16'h00_2c; + iheights[184] = 16'h00_2c; + iheights[185] = 16'h00_2c; + iheights[186] = 16'h00_2c; + iheights[187] = 16'h00_2b; + iheights[188] = 16'h00_2b; + iheights[189] = 16'h00_2b; + iheights[190] = 16'h00_2b; + iheights[191] = 16'h00_2a; + iheights[192] = 16'h00_2a; + iheights[193] = 16'h00_2a; + iheights[194] = 16'h00_2a; + iheights[195] = 16'h00_2a; + iheights[196] = 16'h00_29; + iheights[197] = 16'h00_29; + iheights[198] = 16'h00_29; + iheights[199] = 16'h00_29; + iheights[200] = 16'h00_28; + iheights[201] = 16'h00_28; + iheights[202] = 16'h00_28; + iheights[203] = 16'h00_28; + iheights[204] = 16'h00_28; + iheights[205] = 16'h00_27; + iheights[206] = 16'h00_27; + iheights[207] = 16'h00_27; + iheights[208] = 16'h00_27; + iheights[209] = 16'h00_27; + iheights[210] = 16'h00_27; + iheights[211] = 16'h00_26; + iheights[212] = 16'h00_26; + iheights[213] = 16'h00_26; + iheights[214] = 16'h00_26; + iheights[215] = 16'h00_26; + iheights[216] = 16'h00_25; + iheights[217] = 16'h00_25; + iheights[218] = 16'h00_25; + iheights[219] = 16'h00_25; + iheights[220] = 16'h00_25; + iheights[221] = 16'h00_25; + iheights[222] = 16'h00_24; + iheights[223] = 16'h00_24; + iheights[224] = 16'h00_24; + iheights[225] = 16'h00_24; + iheights[226] = 16'h00_24; + iheights[227] = 16'h00_24; + iheights[228] = 16'h00_23; + iheights[229] = 16'h00_23; + iheights[230] = 16'h00_23; + iheights[231] = 16'h00_23; + iheights[232] = 16'h00_23; + iheights[233] = 16'h00_23; + iheights[234] = 16'h00_23; + iheights[235] = 16'h00_22; + iheights[236] = 16'h00_22; + iheights[237] = 16'h00_22; + iheights[238] = 16'h00_22; + iheights[239] = 16'h00_22; + iheights[240] = 16'h00_22; + iheights[241] = 16'h00_21; + iheights[242] = 16'h00_21; + iheights[243] = 16'h00_21; + iheights[244] = 16'h00_21; + iheights[245] = 16'h00_21; + iheights[246] = 16'h00_21; + iheights[247] = 16'h00_21; + iheights[248] = 16'h00_21; + iheights[249] = 16'h00_20; + iheights[250] = 16'h00_20; + iheights[251] = 16'h00_20; + iheights[252] = 16'h00_20; + iheights[253] = 16'h00_20; + iheights[254] = 16'h00_20; + iheights[255] = 16'h00_20; + iheights[256] = 16'h00_20; + iheights[257] = 16'h00_1f; + iheights[258] = 16'h00_1f; + iheights[259] = 16'h00_1f; + iheights[260] = 16'h00_1f; + iheights[261] = 16'h00_1f; + iheights[262] = 16'h00_1f; + iheights[263] = 16'h00_1f; + iheights[264] = 16'h00_1f; + iheights[265] = 16'h00_1e; + iheights[266] = 16'h00_1e; + iheights[267] = 16'h00_1e; + iheights[268] = 16'h00_1e; + iheights[269] = 16'h00_1e; + iheights[270] = 16'h00_1e; + iheights[271] = 16'h00_1e; + iheights[272] = 16'h00_1e; + iheights[273] = 16'h00_1e; + iheights[274] = 16'h00_1d; + iheights[275] = 16'h00_1d; + iheights[276] = 16'h00_1d; + iheights[277] = 16'h00_1d; + iheights[278] = 16'h00_1d; + iheights[279] = 16'h00_1d; + iheights[280] = 16'h00_1d; + iheights[281] = 16'h00_1d; + iheights[282] = 16'h00_1d; + iheights[283] = 16'h00_1c; + iheights[284] = 16'h00_1c; + iheights[285] = 16'h00_1c; + iheights[286] = 16'h00_1c; + iheights[287] = 16'h00_1c; + iheights[288] = 16'h00_1c; + iheights[289] = 16'h00_1c; + iheights[290] = 16'h00_1c; + iheights[291] = 16'h00_1c; + iheights[292] = 16'h00_1c; + iheights[293] = 16'h00_1b; + iheights[294] = 16'h00_1b; + iheights[295] = 16'h00_1b; + iheights[296] = 16'h00_1b; + iheights[297] = 16'h00_1b; + iheights[298] = 16'h00_1b; + iheights[299] = 16'h00_1b; + iheights[300] = 16'h00_1b; + iheights[301] = 16'h00_1b; + iheights[302] = 16'h00_1b; + iheights[303] = 16'h00_1b; + iheights[304] = 16'h00_1a; + iheights[305] = 16'h00_1a; + iheights[306] = 16'h00_1a; + iheights[307] = 16'h00_1a; + iheights[308] = 16'h00_1a; + iheights[309] = 16'h00_1a; + iheights[310] = 16'h00_1a; + iheights[311] = 16'h00_1a; + iheights[312] = 16'h00_1a; + iheights[313] = 16'h00_1a; + iheights[314] = 16'h00_1a; + iheights[315] = 16'h00_1a; + iheights[316] = 16'h00_19; + iheights[317] = 16'h00_19; + iheights[318] = 16'h00_19; + iheights[319] = 16'h00_19; + iheights[320] = 16'h00_19; + iheights[321] = 16'h00_19; + iheights[322] = 16'h00_19; + iheights[323] = 16'h00_19; + iheights[324] = 16'h00_19; + iheights[325] = 16'h00_19; + iheights[326] = 16'h00_19; + iheights[327] = 16'h00_19; + iheights[328] = 16'h00_18; + iheights[329] = 16'h00_18; + iheights[330] = 16'h00_18; + iheights[331] = 16'h00_18; + iheights[332] = 16'h00_18; + iheights[333] = 16'h00_18; + iheights[334] = 16'h00_18; + iheights[335] = 16'h00_18; + iheights[336] = 16'h00_18; + iheights[337] = 16'h00_18; + iheights[338] = 16'h00_18; + iheights[339] = 16'h00_18; + iheights[340] = 16'h00_18; + iheights[341] = 16'h00_18; + iheights[342] = 16'h00_17; + iheights[343] = 16'h00_17; + iheights[344] = 16'h00_17; + iheights[345] = 16'h00_17; + iheights[346] = 16'h00_17; + iheights[347] = 16'h00_17; + iheights[348] = 16'h00_17; + iheights[349] = 16'h00_17; + iheights[350] = 16'h00_17; + iheights[351] = 16'h00_17; + iheights[352] = 16'h00_17; + iheights[353] = 16'h00_17; + iheights[354] = 16'h00_17; + iheights[355] = 16'h00_17; + iheights[356] = 16'h00_17; + iheights[357] = 16'h00_16; + iheights[358] = 16'h00_16; + iheights[359] = 16'h00_16; + iheights[360] = 16'h00_16; + iheights[361] = 16'h00_16; + iheights[362] = 16'h00_16; + iheights[363] = 16'h00_16; + iheights[364] = 16'h00_16; + iheights[365] = 16'h00_16; + iheights[366] = 16'h00_16; + iheights[367] = 16'h00_16; + iheights[368] = 16'h00_16; + iheights[369] = 16'h00_16; + iheights[370] = 16'h00_16; + iheights[371] = 16'h00_16; + iheights[372] = 16'h00_16; + iheights[373] = 16'h00_15; + iheights[374] = 16'h00_15; + iheights[375] = 16'h00_15; + iheights[376] = 16'h00_15; + iheights[377] = 16'h00_15; + iheights[378] = 16'h00_15; + iheights[379] = 16'h00_15; + iheights[380] = 16'h00_15; + iheights[381] = 16'h00_15; + iheights[382] = 16'h00_15; + iheights[383] = 16'h00_15; + iheights[384] = 16'h00_15; + iheights[385] = 16'h00_15; + iheights[386] = 16'h00_15; + iheights[387] = 16'h00_15; + iheights[388] = 16'h00_15; + iheights[389] = 16'h00_15; + iheights[390] = 16'h00_15; + iheights[391] = 16'h00_14; + iheights[392] = 16'h00_14; + iheights[393] = 16'h00_14; + iheights[394] = 16'h00_14; + iheights[395] = 16'h00_14; + iheights[396] = 16'h00_14; + iheights[397] = 16'h00_14; + iheights[398] = 16'h00_14; + iheights[399] = 16'h00_14; + iheights[400] = 16'h00_14; + iheights[401] = 16'h00_14; + iheights[402] = 16'h00_14; + iheights[403] = 16'h00_14; + iheights[404] = 16'h00_14; + iheights[405] = 16'h00_14; + iheights[406] = 16'h00_14; + iheights[407] = 16'h00_14; + iheights[408] = 16'h00_14; + iheights[409] = 16'h00_14; + iheights[410] = 16'h00_13; + iheights[411] = 16'h00_13; + iheights[412] = 16'h00_13; + iheights[413] = 16'h00_13; + iheights[414] = 16'h00_13; + iheights[415] = 16'h00_13; + iheights[416] = 16'h00_13; + iheights[417] = 16'h00_13; + iheights[418] = 16'h00_13; + iheights[419] = 16'h00_13; + iheights[420] = 16'h00_13; + iheights[421] = 16'h00_13; + iheights[422] = 16'h00_13; + iheights[423] = 16'h00_13; + iheights[424] = 16'h00_13; + iheights[425] = 16'h00_13; + iheights[426] = 16'h00_13; + iheights[427] = 16'h00_13; + iheights[428] = 16'h00_13; + iheights[429] = 16'h00_13; + iheights[430] = 16'h00_13; + iheights[431] = 16'h00_13; + iheights[432] = 16'h00_12; + iheights[433] = 16'h00_12; + iheights[434] = 16'h00_12; + iheights[435] = 16'h00_12; + iheights[436] = 16'h00_12; + iheights[437] = 16'h00_12; + iheights[438] = 16'h00_12; + iheights[439] = 16'h00_12; + iheights[440] = 16'h00_12; + iheights[441] = 16'h00_12; + iheights[442] = 16'h00_12; + iheights[443] = 16'h00_12; + iheights[444] = 16'h00_12; + iheights[445] = 16'h00_12; + iheights[446] = 16'h00_12; + iheights[447] = 16'h00_12; + iheights[448] = 16'h00_12; + iheights[449] = 16'h00_12; + iheights[450] = 16'h00_12; + iheights[451] = 16'h00_12; + iheights[452] = 16'h00_12; + iheights[453] = 16'h00_12; + iheights[454] = 16'h00_12; + iheights[455] = 16'h00_12; + iheights[456] = 16'h00_11; + iheights[457] = 16'h00_11; + iheights[458] = 16'h00_11; + iheights[459] = 16'h00_11; + iheights[460] = 16'h00_11; + iheights[461] = 16'h00_11; + iheights[462] = 16'h00_11; + iheights[463] = 16'h00_11; + iheights[464] = 16'h00_11; + iheights[465] = 16'h00_11; + iheights[466] = 16'h00_11; + iheights[467] = 16'h00_11; + iheights[468] = 16'h00_11; + iheights[469] = 16'h00_11; + iheights[470] = 16'h00_11; + iheights[471] = 16'h00_11; + iheights[472] = 16'h00_11; + iheights[473] = 16'h00_11; + iheights[474] = 16'h00_11; + iheights[475] = 16'h00_11; + iheights[476] = 16'h00_11; + iheights[477] = 16'h00_11; + iheights[478] = 16'h00_11; + iheights[479] = 16'h00_11; + iheights[480] = 16'h00_11; + iheights[481] = 16'h00_11; + iheights[482] = 16'h00_10; + iheights[483] = 16'h00_10; + iheights[484] = 16'h00_10; + iheights[485] = 16'h00_10; + iheights[486] = 16'h00_10; + iheights[487] = 16'h00_10; + iheights[488] = 16'h00_10; + iheights[489] = 16'h00_10; + iheights[490] = 16'h00_10; + iheights[491] = 16'h00_10; + iheights[492] = 16'h00_10; + iheights[493] = 16'h00_10; + iheights[494] = 16'h00_10; + iheights[495] = 16'h00_10; + iheights[496] = 16'h00_10; + iheights[497] = 16'h00_10; + iheights[498] = 16'h00_10; + iheights[499] = 16'h00_10; + iheights[500] = 16'h00_10; + iheights[501] = 16'h00_10; + iheights[502] = 16'h00_10; + iheights[503] = 16'h00_10; + iheights[504] = 16'h00_10; + iheights[505] = 16'h00_10; + iheights[506] = 16'h00_10; + iheights[507] = 16'h00_10; + iheights[508] = 16'h00_10; + iheights[509] = 16'h00_10; + iheights[510] = 16'h00_10; + iheights[511] = 16'h00_10; diff --git a/src/iheight_rom.v b/src/iheight_rom.v new file mode 100644 index 0000000..ab2656c --- /dev/null +++ b/src/iheight_rom.v @@ -0,0 +1,25 @@ +module iheight_rom ( + input clk, + input [8:0] addr, + output [15:0] iheight // Q8.8 texture / height + ); + +reg [15:0] iheights [1023:0]; + +reg [15:0] iheight_d, iheight_q; + +assign iheight = iheight_q; + +initial begin +`include "iheight.rom" +end + +always @(*) begin + iheight_d = iheights[addr]; +end + +always @(posedge clk) begin + iheight_q <= iheight_d; +end + +endmodule diff --git a/src/lcd_driver.v b/src/lcd_driver.v new file mode 100644 index 0000000..bbb531f --- /dev/null +++ b/src/lcd_driver.v @@ -0,0 +1,107 @@ +// the actual SPI driver for the LCD runs in a separate clock domain, so we +// need to use the task_crossdomain module to safely signal to the SPI and +// back. This adds a few cycles of delay on either side. +// Further improvements could queue the next byte and ensure the SPI stays +// fed. +module lcd_driver ( + input clk, + input fclk, // faster clock for SPI + input rst, + output lcd_sck, + output lcd_mosi, + output lcd_ss, + output lcd_dcx, // lo: data, hi: cmd + // TODO: backlight and reset. + input [7:0] data_in, // data to write out + input data_dcx, // lo: data, hi: cmd + input start, + output busy, + output reg done // done executing transfer. +); + +localparam STATE_SIZE = 2; +localparam IDLE = 0, + START_TRANSFER = 1, + WAIT_TRANSFER = 2; + +reg [STATE_SIZE-1:0] state_d, state_q; + +reg [7:0] data_d, data_q; + +wire spi_busy; +reg spi_start; +wire spi_start_l, spi_done_l; +reg data_dcx_d, data_dcx_q; + +assign lcd_dcx = data_dcx_q; +assign busy = state_q != IDLE; + +task_crossdomain task_crossdomain( + .clka(clk), // external (slow) clock domain + .taskstart_clka(spi_start), + .taskbusy_clka(spi_busy), + .taskdone_clka(), + .clkb(fclk), // internal (fast) clock domain + .taskstart_clkb(spi_start_l), + .taskbusy_clkb(), + .taskdone_clkb(spi_done_l) +); + +spi #(.CLK_DIV(2)) lcd_spi ( + .clk(fclk), + .rst(rst), + .mosi(lcd_mosi), + .miso(), + .sck(lcd_sck), + .start(spi_start_l), + .ss(lcd_ss), + .data_in(data_q), + .data_out(), + .busy(), + .new_data(spi_done_l) +); + +always @(*) begin + data_dcx_d = data_dcx_q; + data_d = data_q; + spi_start = 1'b0; + done = 1'b0; + state_d = state_q; + + case (state_q) + IDLE: begin + if (start) begin + data_dcx_d = data_dcx; + data_d = data_in; + state_d = START_TRANSFER; + end + end + START_TRANSFER: begin + if (!spi_busy) begin + spi_start = 1'b1; + state_d = WAIT_TRANSFER; + end + end + WAIT_TRANSFER: begin + if (!spi_busy) begin + done = 1'b1; + state_d = IDLE; + end + end + default: state_d = IDLE; + endcase +end + +always @(posedge clk) begin + if (rst) begin + state_q <= IDLE; + data_dcx_q <= 0; + data_q <= 0; + end else begin + state_q <= state_d; + data_dcx_q <= data_dcx_d; + data_q <= data_d; + end +end + +endmodule diff --git a/src/line_writer.v b/src/line_writer.v new file mode 100644 index 0000000..5001b15 --- /dev/null +++ b/src/line_writer.v @@ -0,0 +1,494 @@ +// This module writes lines into a memory buffer, later to be blit to the +// screen. +// It was originally very simple; floors, ceilings, and sprites complicate it +// significantly. +// A few speedups and simplifications are possible: +// 1) mirror floor and ceiling writes (split the RAM into two modules for top +// and bottom half) +// 2) skip floor/ceiling calculations when drawing the wall :P +// 3) move some of the sprite logic (ie; x calculation) out into +// sprite_scanline. +module line_writer ( + input clk, + input rst, + + input start, + input [8:0] x, + input [7:0] pixel, // color, now texture ID. + input [39:0] height, // 39:32 height. 31:16 Q8.8 tex scale. 15:0 inverse dist + input [6:0] tex_x, // texture X offset. + input [15:0] floor_x, + input [15:0] floor_y, + input [15:0] pos_x, + input [15:0] pos_y, + + // signal to ray module whether we're ready to run another line. + output reg rdy, + output reg done, + + // external LCD write reads from memory. + input [RAM_ASIZE:0] ram_raddr, + output [15:0] ram_read_data, + + // external mmap interface loads texture memory. + input [13:0] tram_waddr, + input [3:0] tram_write_data, + input tram_write_en, + // external mmap interface also loads texture palettes. + input [7:0] tpram_waddr, + input [15:0] tpram_write_data, + input tpram_write_en, + // sprites + output reg sprscan_start, + input sprscan_done, + output reg [2:0] sprite_addr, + input [119:0] sprite_meta, + input [2:0] sprite_count +); + +// TODO: Should be a configuration wire. +localparam HALF_HEIGHT = 8'd120; +localparam HEIGHT_MAX = 8'd239; +localparam RAM_ASIZE = 8; +localparam TEX_WIDTH = 32; +localparam TEX_SIZE = 11'd1024; // 32 * 32 +localparam PAL_SIZE = 15; // should be 16 if I skip alpha channel for textures. +localparam FLOOR_OFFSET = 6144; +localparam CEILING_OFFSET = 7168; +localparam FLOOR_PAL = 90; +localparam CEILING_PAL = 105; + +reg [3:0] state_d, state_q; +reg [7:0] count_d, count_q; // number of pixels filled +reg [7:0] color_d, color_q; // hold onto color value +reg [15:0] floor_x_d, floor_x_q; +reg [15:0] floor_y_d, floor_y_q; +reg [15:0] pos_x_d, pos_x_q; +reg [15:0] pos_y_d, pos_y_q; +reg [8:0] camera_x_d, camera_x_q; + +// TODO: these lines are at most 8 bits (240 height) +// there's no reason to not also pre-calc the start/end values into the line +// height table, since the line height is never used. +reg [7:0] draw_start_d, draw_start_q; +reg [7:0] draw_end_d, draw_end_q; +reg [15:0] scale_d, scale_q; +reg [15:0] distwall_d, distwall_q; +reg [21:0] tex_offset_d, tex_offset_q; // Q13.8 -> 20:8 used for TRAM index. +reg [7:0] texp_offset_d, texp_offset_q; +reg [15:0] weight_d, weight_q; +reg [15:0] cfloor_x_d, cfloor_x_q; +reg [15:0] cfloor_y_d, cfloor_y_q; + +// sprites +reg spr_rdy_d, spr_rdy_q; +reg [7:0] spr_texid_d, spr_texid_q; +reg signed [15:0] spr_screenx_d, spr_screenx_q; +reg signed [15:0] spr_height_d, spr_height_q; +reg signed [15:0] spr_starty_d, spr_starty_q; +reg signed [15:0] spr_endy_d, spr_endy_q; +reg signed [15:0] spr_idx_d, spr_idx_q; +reg signed [31:0] spr_iheight_d, spr_iheight_q; +// Q16.16 because I'm an idiot and it always should've been. +reg signed [31:0] spr_tex_x_d, spr_tex_x_q; +// whether an alpha pixel was found. +reg alpha_d, alpha_q; + +// line RAM +reg [RAM_ASIZE:0] waddr_base_d, waddr_base_q; +reg [RAM_ASIZE:0] ram_waddr; +reg [15:0] ram_write_data; +reg ram_write_en; + +// texture RAM +reg [13:0] tram_holdr_d, tram_holdr_q; // extra indirection for sprite writer. +wire [3:0] tram_read_data; +reg [13:0] tram_raddr; +wire [15:0] tpram_read_data; +reg [7:0] tpram_raddr; + +simple_dual_ram #(.SIZE(16), .DEPTH((HEIGHT_MAX+1)*2)) line_ram ( + .wclk(clk), + .waddr(ram_waddr), + .write_data(ram_write_data), + .write_en(ram_write_en), + // read + .rclk(clk), + .raddr(ram_raddr), + .read_data(ram_read_data) +); + +// texture RAM module. holds 32x32 textures with up to 4 bit color. +// would be one fewer wire if mmap owned it, but harder to test bench. +// TODO: simple_dual_ram has equal sized read/write ports. mmap interface can +// write four bytes at once, but to avoid excess logic we're only loading +// one per command. + +simple_dual_ram #(.SIZE(4), .DEPTH(16384)) texture_ram ( + .wclk(clk), + .waddr(tram_waddr), + .write_data(tram_write_data), + .write_en(tram_write_en), + // read + .rclk(clk), + .raddr(tram_raddr), + .read_data(tram_read_data) +); + +simple_dual_ram #(.SIZE(16), .DEPTH(256)) texture_pal_ram ( + .wclk(clk), + .waddr(tpram_waddr), + .write_data(tpram_write_data), + .write_en(tpram_write_en), + // read + .rclk(clk), + .raddr(tpram_raddr), + .read_data(tpram_read_data) +); + +// floor dist precalcs +reg [8:0] fd_addr; +wire [15:0] floordist; +floordist_rom floordist_rom ( + .clk(clk), + .addr(fd_addr), + .floordist(floordist) +); + +// inverse sprite height +reg [8:0] iheight_addr; +wire[15:0] iheight; +iheight_rom iheight_rom ( + .clk(clk), + .addr(iheight_addr), + .iheight(iheight) +); + +localparam IDLE = 0, + FILLING = 1, + FILL_PRECALC = 2, + FILL_PRECALC2 = 3, + FILL_PRECALC3 = 4, + CHECK_PAL = 5, + SPRITE_START = 6, + SPRITE_DRAW = 7, + SPRITE_CALCX = 8, + SPRITE_CALCX2 = 9, + SPRITE_FINDPIXEL = 10, + SPRITE_LOOKUP = 11, + SPRITE_PAL = 12, + SPRITE_FILL = 13, + FINISH = 14; + +initial begin + draw_end_q = 16'd0; + draw_start_q = 16'd0; + color_q = 8'd0; + count_q = 8'd0; +end + +always @(*) begin + state_d = state_q; + count_d = count_q; + camera_x_d = camera_x_q; + draw_start_d = draw_start_q; + draw_end_d = draw_end_q; + scale_d = scale_q; + tex_offset_d = tex_offset_q; + waddr_base_d = waddr_base_q; + ram_waddr = count_q + waddr_base_q; + ram_write_en = 1'b0; + ram_write_data = 8'd0; + rdy = 0; + done = 0; + color_d = color_q; + tram_raddr = tex_offset_q[21:8]; + tpram_raddr = 0; + fd_addr = count_q; + floor_x_d = floor_x_q; + floor_y_d = floor_y_q; + pos_x_d = pos_x_q; + pos_y_d = pos_y_q; + distwall_d = distwall_q; + weight_d = weight_q; + cfloor_x_d = cfloor_x_q; + cfloor_y_d = cfloor_y_q; + texp_offset_d = texp_offset_q; + // sprites + sprscan_start = 1'b0; + spr_rdy_d = spr_rdy_q; + sprite_addr = 3'b0; + iheight_addr = 9'd0; + spr_texid_d = spr_texid_q; + spr_screenx_d = spr_screenx_q; + spr_height_d = spr_height_q; + spr_starty_d = spr_starty_q; + spr_endy_d = spr_endy_q; + spr_iheight_d = spr_iheight_q; + spr_tex_x_d = spr_tex_x_q; + spr_idx_d = spr_idx_q; + alpha_d = alpha_q; + tram_holdr_d = tram_holdr_q; + + // can happen anytime, so log it outside of the state machine. + if (sprscan_done) begin + spr_rdy_d = 1'b1; + end + + case (state_q) + IDLE: begin + if (start) begin + state_d = FILL_PRECALC; + count_d = 0; + color_d = pixel; + /* + * drawStart = -height / 2 + HALF_HEIGHT; + * drawEnd = height / 2 + HALF_HEIGHT + * min(start, 0) + * max(end, HEIGHT) + */ + draw_start_d = ( (~(height[39:32] >> 1)) + 8'd1 ) + HALF_HEIGHT; + draw_end_d = ( height[39:32] >> 1 ) + HALF_HEIGHT; + scale_d = height[31:16]; + distwall_d = height[15:0]; + floor_x_d = floor_x; + floor_y_d = floor_y; + pos_x_d = pos_x; + pos_y_d = pos_y; + // always start with the bottom texture pixel. + // replace the TEX_SIZE "mul" which is getting turned into + // a shift anyway. + tex_offset_d[21:8] = TEX_SIZE * (pixel[3:0] - 1'b1) + (tex_x << 5); + tex_offset_d[7:0] = 8'd0; + texp_offset_d = PAL_SIZE * (pixel[3:0] - 1'b1); + // kick off sprite sorting while we do the wall. + spr_rdy_d = 1'b0; + sprscan_start = 1'b1; + camera_x_d = x - 1'b1; + end else begin + rdy = 1'b1; + end + end + FILL_PRECALC: begin + weight_d = trunc_fixed_mul(floordist * distwall_q); + state_d = FILL_PRECALC2; + end + FILL_PRECALC2: begin + // bits 7:3 are the final texture coordinates + cfloor_x_d = trunc_fixed_mul(weight_q * floor_x_q) + trunc_fixed_mul((16'h01_00 - weight_q) * pos_x_q); + cfloor_y_d = trunc_fixed_mul(weight_q * floor_y_q) + trunc_fixed_mul((16'h01_00 - weight_q) * pos_y_q); + state_d = FILL_PRECALC3; + end + FILL_PRECALC3: begin + // FIXME: Can remove this cycle if adding a bit more to previous + // cycles and filling tram_raddr above. + if (count_q < draw_start_q) begin + tram_raddr = CEILING_OFFSET + (cfloor_x_q[7:3] << 5) + cfloor_y_q[7:3]; + end else if (count_q > draw_end_q) begin + // override the texture RAM lookup if we're casting to the + // floor. + tram_raddr = FLOOR_OFFSET + (cfloor_x_q[7:3] << 5) + cfloor_y_q[7:3]; + end + state_d = CHECK_PAL; + end + CHECK_PAL: begin + tpram_raddr = texp_offset_q + tram_read_data; + if (count_q < draw_start_q) begin + tpram_raddr = CEILING_PAL + tram_read_data; + end else if (count_q > draw_end_q) begin + tpram_raddr = FLOOR_PAL + tram_read_data; + end + state_d = FILLING; + end + FILLING: begin + count_d = count_q + 1'b1; + if (count_q < draw_start_q) begin + // ceiling gets normal color. + ram_write_data = tpram_read_data; + end else if (count_q >= draw_start_q && count_q <= draw_end_q) begin + // if "side", darken the color + // RGB 565 + // FIXME: function. + if (color_q[7]) begin + ram_write_data[15:11] = tpram_read_data[15:11] >> 1; + ram_write_data[10:5] = tpram_read_data[10:5] >> 1; + ram_write_data[4:0] = tpram_read_data[4:0] >> 1; + end else begin + ram_write_data = tpram_read_data; + end + tex_offset_d = tex_offset_q + scale_q; + end else if (count_q > draw_end_q) begin + // floor, darken color. + ram_write_data[15:11] = tpram_read_data[15:11] >> 1; + ram_write_data[10:5] = tpram_read_data[10:5] >> 1; + ram_write_data[4:0] = tpram_read_data[4:0] >> 1; + end + ram_write_en = 1'b1; + + if (count_q == 239) begin + state_d = SPRITE_START; + end else begin + count_d = count_q + 1'b1; + state_d = FILL_PRECALC; + end + end + SPRITE_START: begin + if (spr_rdy_q) begin + if (sprite_count != 3'd0) begin + state_d = SPRITE_DRAW; + end else begin + state_d = FINISH; + end + end + end + SPRITE_DRAW: begin + // 1) load in relevant sprite meta + spr_texid_d = sprite_meta[119:112]; + spr_screenx_d = sprite_meta[95:80]; + spr_height_d = sprite_meta[79:64]; + spr_starty_d = sprite_meta[63:48]; + spr_endy_d = sprite_meta[47:32]; + iheight_addr = spr_height_d[8:0]; + // test data + /*spr_texid_d = 8'd8; + spr_screenx_d = 16'd120; + spr_height_d = 16'd60; + spr_starty_d = 16'd90; + spr_endy_d = 16'd150; + iheight_addr = 16'd60;*/ + + state_d = SPRITE_CALCX; + end + SPRITE_CALCX: begin + // 2) calculate tex_x + spr_tex_x_d = ((spr_height_q >> 1) - (spr_screenx_q - camera_x_q)) << 16; + // Q8.8 - need to convert to Q16.16 + spr_iheight_d = iheight << 8; + state_d = SPRITE_CALCX2; + end + SPRITE_CALCX2: begin + // we only need Q5.0 out of here + spr_tex_x_d = trunc_fixed_mul32(spr_tex_x_q * spr_iheight_q); + // 3) seed tex_offset_d and texp_offset_d + tex_offset_d[21:8] = (spr_texid_q << 10) + (spr_tex_x_d[20:16] << 5); + tex_offset_d[7:0] = 8'd0; + // FIXME: lookup table. (or round it to 16 and shift) + texp_offset_d = PAL_SIZE * spr_texid_q; + // 4) adjust draw boundaries + // seed counter + if (spr_starty_q < 0) begin + spr_starty_d = 0; + // how far we've indexed into the "scaled" sprite. + spr_idx_d = (~spr_starty_q) + 1'b1; + count_d = 0; + end else begin + spr_idx_d = 0; + count_d = spr_starty_q; + end + if (spr_endy_q > HEIGHT_MAX-1) begin + spr_endy_d = HEIGHT_MAX-1; + end + // switch to draw state + state_d = SPRITE_FINDPIXEL; + end + SPRITE_FINDPIXEL: begin + // draaaaaaaaaaaaaaaaawwww + // sadly the Q16.16 multiplication is so large this violates + // timing, so we add the extra cycle of indirection. + // this could be removed if we pre-multiply to find the bottom of + // the sprite and then add the scale offset the same way as + // scaling a wall texture. + tram_holdr_d = (trunc_fixed_mul32((spr_idx_q << 16) * spr_iheight_q) >> 16) + tex_offset_q[21:8]; + state_d = SPRITE_LOOKUP; + end + SPRITE_LOOKUP: begin + tram_raddr = tram_holdr_q; + state_d = SPRITE_PAL; + end + SPRITE_PAL: begin + if (tram_read_data == 4'd15) begin + alpha_d = 1'b1; + end else begin + alpha_d = 1'b0; + tpram_raddr = texp_offset_q + tram_read_data; + end + state_d = SPRITE_FILL; + end + SPRITE_FILL: begin + count_d = count_q + 1'b1; + spr_idx_d = spr_idx_q + 1'b1; + // alpha test. skip transparent sprite pixels. + if (!alpha_q) begin + ram_write_data = tpram_read_data; + ram_write_en = 1'b1; + end + if (count_q == spr_endy_q) begin + state_d = FINISH; + end else begin + state_d = SPRITE_FINDPIXEL; + end + end + FINISH: begin + done = 1'b1; + if (waddr_base_q == 9'd0) begin + waddr_base_d = 9'd240; + end else begin + waddr_base_d = 9'd0; + end + state_d = IDLE; + end + endcase +end + +always @(posedge clk) begin + if (rst) begin + state_q = IDLE; + count_q <= 0; + draw_start_q <= 0; + draw_end_q <= 0; + color_q <= 0; + tex_offset_q <= 0; + waddr_base_q <= 0; + end else begin + state_q = state_d; + count_q <= count_d; + draw_start_q <= draw_start_d; + draw_end_q <= draw_end_d; + color_q <= color_d; + tex_offset_q <= tex_offset_d; + waddr_base_q <= waddr_base_d; + end + + scale_q <= scale_d; + floor_x_q <= floor_x_d; + floor_y_q <= floor_y_d; + pos_x_q <= pos_x_d; + pos_y_q <= pos_y_d; + distwall_q <= distwall_d; + weight_q <= weight_d; + cfloor_x_q <= cfloor_x_d; + cfloor_y_q <= cfloor_y_d; + texp_offset_q <= texp_offset_d; + spr_rdy_q <= spr_rdy_d; + camera_x_q <= camera_x_d; + spr_texid_q <= spr_texid_d; + spr_screenx_q <= spr_screenx_d; + spr_height_q <= spr_height_d; + spr_starty_q <= spr_starty_d; + spr_endy_q <= spr_endy_d; + spr_tex_x_q <= spr_tex_x_d; + spr_iheight_q <= spr_iheight_d; + spr_idx_q <= spr_idx_d; + alpha_q <= alpha_d; + tram_holdr_q <= tram_holdr_d; +end + +function signed [15:0] trunc_fixed_mul(input signed [31:0] mulres); + trunc_fixed_mul = mulres[23:8]; +endfunction + +function signed [31:0] trunc_fixed_mul32(input signed [63:0] mulres); + trunc_fixed_mul32 = mulres[47:16]; +endfunction + +endmodule diff --git a/src/line_writer_tb.v b/src/line_writer_tb.v new file mode 100644 index 0000000..a019e3a --- /dev/null +++ b/src/line_writer_tb.v @@ -0,0 +1,58 @@ +`timescale 1ns / 1ps + +module line_writer_tb( + ); + +reg clk; +reg rst; + +reg start; +reg [7:0] pixel; +reg [23:0] height; +reg [6:0] tex_x; +reg [$clog2(240)-1:0] ram_raddr; +wire [7:0] ram_read_data; + +reg [12:0] tram_waddr; +reg [7:0] tram_write_data; +reg tram_write_en; + +line_writer DUT ( + .clk(clk), + .rst(rst), + .start(start), + .pixel(pixel), + .height(height), + .tex_x(tex_x), + .rdy(rdy), + .ram_raddr(ram_raddr), + .ram_read_data(ram_read_data) +); + + initial begin + clk = 0; + forever #10 clk = ~clk; + end + + initial begin + rst = 1'b1; + repeat(6) @(posedge clk); + rst = 1'b0; + repeat(2) @(posedge clk); + start = 1'b1; + pixel = 8'd1; + height = 24'hee_00_22; + tex_x = 7'd15; + @(posedge clk); + start = 1'b0; + ram_raddr = 8'd100; + repeat(400) @(posedge clk); + #5000 + $finish; + end + + initial begin + #500000000 + $finish; + end +endmodule diff --git a/src/map b/src/map new file mode 100644 index 0000000..364f942 --- /dev/null +++ b/src/map @@ -0,0 +1,25 @@ + {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,2,2,2,2,2,0,0,0,0,6,0,7,0,8,0,0,0,1}, + {1,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,2,0,0,0,2,0,0,0,0,4,0,0,0,5,0,0,0,1}, + {1,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,2,2,0,2,2,0,0,0,0,1,0,2,0,3,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,0,4,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,0,0,0,0,5,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,0,4,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, + diff --git a/src/map.pl b/src/map.pl new file mode 100755 index 0000000..1269d85 --- /dev/null +++ b/src/map.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl + +use warnings; +use strict; + +my $mfile = $ARGV[0]; + +open(my $fh, "< $mfile") or die "boop: $!"; +my $x = 0; +while (my $l = <$fh>) { + chomp $l; + my $y = 0; + $l =~ s/^\s+//; + $l =~ s/,$//; + $l =~ s/[{}]//g; + for my $col (split(/,/, $l)) { + print " map[$x][$y] = 4'd$col;\n"; + $y++; + } + $x++; +} +close($fh); diff --git a/src/map.rom b/src/map.rom new file mode 100644 index 0000000..fbfcdab --- /dev/null +++ b/src/map.rom @@ -0,0 +1,576 @@ + map[0][0] = 4'd1; + map[0][1] = 4'd1; + map[0][2] = 4'd1; + map[0][3] = 4'd1; + map[0][4] = 4'd1; + map[0][5] = 4'd1; + map[0][6] = 4'd1; + map[0][7] = 4'd1; + map[0][8] = 4'd1; + map[0][9] = 4'd1; + map[0][10] = 4'd1; + map[0][11] = 4'd1; + map[0][12] = 4'd1; + map[0][13] = 4'd1; + map[0][14] = 4'd1; + map[0][15] = 4'd1; + map[0][16] = 4'd1; + map[0][17] = 4'd1; + map[0][18] = 4'd1; + map[0][19] = 4'd1; + map[0][20] = 4'd1; + map[0][21] = 4'd1; + map[0][22] = 4'd1; + map[0][23] = 4'd1; + map[1][0] = 4'd1; + map[1][1] = 4'd0; + map[1][2] = 4'd0; + map[1][3] = 4'd0; + map[1][4] = 4'd0; + map[1][5] = 4'd0; + map[1][6] = 4'd0; + map[1][7] = 4'd0; + map[1][8] = 4'd0; + map[1][9] = 4'd0; + map[1][10] = 4'd0; + map[1][11] = 4'd0; + map[1][12] = 4'd0; + map[1][13] = 4'd0; + map[1][14] = 4'd0; + map[1][15] = 4'd0; + map[1][16] = 4'd0; + map[1][17] = 4'd0; + map[1][18] = 4'd0; + map[1][19] = 4'd0; + map[1][20] = 4'd0; + map[1][21] = 4'd0; + map[1][22] = 4'd0; + map[1][23] = 4'd1; + map[2][0] = 4'd1; + map[2][1] = 4'd0; + map[2][2] = 4'd0; + map[2][3] = 4'd0; + map[2][4] = 4'd0; + map[2][5] = 4'd0; + map[2][6] = 4'd0; + map[2][7] = 4'd0; + map[2][8] = 4'd0; + map[2][9] = 4'd0; + map[2][10] = 4'd0; + map[2][11] = 4'd0; + map[2][12] = 4'd0; + map[2][13] = 4'd0; + map[2][14] = 4'd0; + map[2][15] = 4'd0; + map[2][16] = 4'd0; + map[2][17] = 4'd0; + map[2][18] = 4'd0; + map[2][19] = 4'd0; + map[2][20] = 4'd0; + map[2][21] = 4'd0; + map[2][22] = 4'd0; + map[2][23] = 4'd1; + map[3][0] = 4'd1; + map[3][1] = 4'd0; + map[3][2] = 4'd0; + map[3][3] = 4'd0; + map[3][4] = 4'd0; + map[3][5] = 4'd0; + map[3][6] = 4'd0; + map[3][7] = 4'd0; + map[3][8] = 4'd0; + map[3][9] = 4'd0; + map[3][10] = 4'd0; + map[3][11] = 4'd0; + map[3][12] = 4'd0; + map[3][13] = 4'd0; + map[3][14] = 4'd0; + map[3][15] = 4'd0; + map[3][16] = 4'd0; + map[3][17] = 4'd0; + map[3][18] = 4'd0; + map[3][19] = 4'd0; + map[3][20] = 4'd0; + map[3][21] = 4'd0; + map[3][22] = 4'd0; + map[3][23] = 4'd1; + map[4][0] = 4'd1; + map[4][1] = 4'd0; + map[4][2] = 4'd0; + map[4][3] = 4'd0; + map[4][4] = 4'd0; + map[4][5] = 4'd0; + map[4][6] = 4'd2; + map[4][7] = 4'd2; + map[4][8] = 4'd2; + map[4][9] = 4'd2; + map[4][10] = 4'd2; + map[4][11] = 4'd0; + map[4][12] = 4'd0; + map[4][13] = 4'd0; + map[4][14] = 4'd0; + map[4][15] = 4'd6; + map[4][16] = 4'd0; + map[4][17] = 4'd7; + map[4][18] = 4'd0; + map[4][19] = 4'd8; + map[4][20] = 4'd0; + map[4][21] = 4'd0; + map[4][22] = 4'd0; + map[4][23] = 4'd1; + map[5][0] = 4'd1; + map[5][1] = 4'd0; + map[5][2] = 4'd0; + map[5][3] = 4'd0; + map[5][4] = 4'd0; + map[5][5] = 4'd0; + map[5][6] = 4'd2; + map[5][7] = 4'd0; + map[5][8] = 4'd0; + map[5][9] = 4'd0; + map[5][10] = 4'd2; + map[5][11] = 4'd0; + map[5][12] = 4'd0; + map[5][13] = 4'd0; + map[5][14] = 4'd0; + map[5][15] = 4'd0; + map[5][16] = 4'd0; + map[5][17] = 4'd0; + map[5][18] = 4'd0; + map[5][19] = 4'd0; + map[5][20] = 4'd0; + map[5][21] = 4'd0; + map[5][22] = 4'd0; + map[5][23] = 4'd1; + map[6][0] = 4'd1; + map[6][1] = 4'd0; + map[6][2] = 4'd0; + map[6][3] = 4'd0; + map[6][4] = 4'd0; + map[6][5] = 4'd0; + map[6][6] = 4'd2; + map[6][7] = 4'd0; + map[6][8] = 4'd0; + map[6][9] = 4'd0; + map[6][10] = 4'd2; + map[6][11] = 4'd0; + map[6][12] = 4'd0; + map[6][13] = 4'd0; + map[6][14] = 4'd0; + map[6][15] = 4'd4; + map[6][16] = 4'd0; + map[6][17] = 4'd0; + map[6][18] = 4'd0; + map[6][19] = 4'd5; + map[6][20] = 4'd0; + map[6][21] = 4'd0; + map[6][22] = 4'd0; + map[6][23] = 4'd1; + map[7][0] = 4'd1; + map[7][1] = 4'd0; + map[7][2] = 4'd0; + map[7][3] = 4'd0; + map[7][4] = 4'd0; + map[7][5] = 4'd0; + map[7][6] = 4'd2; + map[7][7] = 4'd0; + map[7][8] = 4'd0; + map[7][9] = 4'd0; + map[7][10] = 4'd2; + map[7][11] = 4'd0; + map[7][12] = 4'd0; + map[7][13] = 4'd0; + map[7][14] = 4'd0; + map[7][15] = 4'd0; + map[7][16] = 4'd0; + map[7][17] = 4'd0; + map[7][18] = 4'd0; + map[7][19] = 4'd0; + map[7][20] = 4'd0; + map[7][21] = 4'd0; + map[7][22] = 4'd0; + map[7][23] = 4'd1; + map[8][0] = 4'd1; + map[8][1] = 4'd0; + map[8][2] = 4'd0; + map[8][3] = 4'd0; + map[8][4] = 4'd0; + map[8][5] = 4'd0; + map[8][6] = 4'd0; + map[8][7] = 4'd0; + map[8][8] = 4'd0; + map[8][9] = 4'd0; + map[8][10] = 4'd0; + map[8][11] = 4'd0; + map[8][12] = 4'd0; + map[8][13] = 4'd0; + map[8][14] = 4'd0; + map[8][15] = 4'd1; + map[8][16] = 4'd0; + map[8][17] = 4'd2; + map[8][18] = 4'd0; + map[8][19] = 4'd3; + map[8][20] = 4'd0; + map[8][21] = 4'd0; + map[8][22] = 4'd0; + map[8][23] = 4'd1; + map[9][0] = 4'd1; + map[9][1] = 4'd0; + map[9][2] = 4'd0; + map[9][3] = 4'd0; + map[9][4] = 4'd0; + map[9][5] = 4'd0; + map[9][6] = 4'd0; + map[9][7] = 4'd0; + map[9][8] = 4'd0; + map[9][9] = 4'd0; + map[9][10] = 4'd0; + map[9][11] = 4'd0; + map[9][12] = 4'd0; + map[9][13] = 4'd0; + map[9][14] = 4'd0; + map[9][15] = 4'd0; + map[9][16] = 4'd0; + map[9][17] = 4'd0; + map[9][18] = 4'd0; + map[9][19] = 4'd0; + map[9][20] = 4'd0; + map[9][21] = 4'd0; + map[9][22] = 4'd0; + map[9][23] = 4'd1; + map[10][0] = 4'd1; + map[10][1] = 4'd0; + map[10][2] = 4'd0; + map[10][3] = 4'd0; + map[10][4] = 4'd0; + map[10][5] = 4'd0; + map[10][6] = 4'd0; + map[10][7] = 4'd0; + map[10][8] = 4'd0; + map[10][9] = 4'd0; + map[10][10] = 4'd0; + map[10][11] = 4'd0; + map[10][12] = 4'd0; + map[10][13] = 4'd0; + map[10][14] = 4'd0; + map[10][15] = 4'd0; + map[10][16] = 4'd0; + map[10][17] = 4'd0; + map[10][18] = 4'd0; + map[10][19] = 4'd0; + map[10][20] = 4'd0; + map[10][21] = 4'd0; + map[10][22] = 4'd0; + map[10][23] = 4'd1; + map[11][0] = 4'd1; + map[11][1] = 4'd0; + map[11][2] = 4'd0; + map[11][3] = 4'd0; + map[11][4] = 4'd0; + map[11][5] = 4'd0; + map[11][6] = 4'd0; + map[11][7] = 4'd0; + map[11][8] = 4'd0; + map[11][9] = 4'd0; + map[11][10] = 4'd0; + map[11][11] = 4'd0; + map[11][12] = 4'd0; + map[11][13] = 4'd0; + map[11][14] = 4'd0; + map[11][15] = 4'd0; + map[11][16] = 4'd0; + map[11][17] = 4'd0; + map[11][18] = 4'd0; + map[11][19] = 4'd0; + map[11][20] = 4'd0; + map[11][21] = 4'd0; + map[11][22] = 4'd0; + map[11][23] = 4'd1; + map[12][0] = 4'd1; + map[12][1] = 4'd0; + map[12][2] = 4'd0; + map[12][3] = 4'd0; + map[12][4] = 4'd0; + map[12][5] = 4'd0; + map[12][6] = 4'd0; + map[12][7] = 4'd0; + map[12][8] = 4'd0; + map[12][9] = 4'd0; + map[12][10] = 4'd0; + map[12][11] = 4'd0; + map[12][12] = 4'd0; + map[12][13] = 4'd0; + map[12][14] = 4'd0; + map[12][15] = 4'd0; + map[12][16] = 4'd0; + map[12][17] = 4'd0; + map[12][18] = 4'd0; + map[12][19] = 4'd0; + map[12][20] = 4'd0; + map[12][21] = 4'd0; + map[12][22] = 4'd0; + map[12][23] = 4'd1; + map[13][0] = 4'd1; + map[13][1] = 4'd0; + map[13][2] = 4'd0; + map[13][3] = 4'd0; + map[13][4] = 4'd0; + map[13][5] = 4'd0; + map[13][6] = 4'd0; + map[13][7] = 4'd0; + map[13][8] = 4'd0; + map[13][9] = 4'd0; + map[13][10] = 4'd0; + map[13][11] = 4'd0; + map[13][12] = 4'd0; + map[13][13] = 4'd0; + map[13][14] = 4'd0; + map[13][15] = 4'd0; + map[13][16] = 4'd0; + map[13][17] = 4'd0; + map[13][18] = 4'd0; + map[13][19] = 4'd0; + map[13][20] = 4'd0; + map[13][21] = 4'd0; + map[13][22] = 4'd0; + map[13][23] = 4'd1; + map[14][0] = 4'd1; + map[14][1] = 4'd0; + map[14][2] = 4'd0; + map[14][3] = 4'd0; + map[14][4] = 4'd0; + map[14][5] = 4'd0; + map[14][6] = 4'd0; + map[14][7] = 4'd0; + map[14][8] = 4'd0; + map[14][9] = 4'd0; + map[14][10] = 4'd0; + map[14][11] = 4'd0; + map[14][12] = 4'd0; + map[14][13] = 4'd0; + map[14][14] = 4'd0; + map[14][15] = 4'd0; + map[14][16] = 4'd0; + map[14][17] = 4'd0; + map[14][18] = 4'd0; + map[14][19] = 4'd0; + map[14][20] = 4'd0; + map[14][21] = 4'd0; + map[14][22] = 4'd0; + map[14][23] = 4'd1; + map[15][0] = 4'd1; + map[15][1] = 4'd0; + map[15][2] = 4'd0; + map[15][3] = 4'd0; + map[15][4] = 4'd0; + map[15][5] = 4'd0; + map[15][6] = 4'd0; + map[15][7] = 4'd0; + map[15][8] = 4'd0; + map[15][9] = 4'd0; + map[15][10] = 4'd0; + map[15][11] = 4'd0; + map[15][12] = 4'd0; + map[15][13] = 4'd0; + map[15][14] = 4'd0; + map[15][15] = 4'd0; + map[15][16] = 4'd0; + map[15][17] = 4'd0; + map[15][18] = 4'd0; + map[15][19] = 4'd0; + map[15][20] = 4'd0; + map[15][21] = 4'd0; + map[15][22] = 4'd0; + map[15][23] = 4'd1; + map[16][0] = 4'd1; + map[16][1] = 4'd4; + map[16][2] = 4'd4; + map[16][3] = 4'd4; + map[16][4] = 4'd4; + map[16][5] = 4'd4; + map[16][6] = 4'd4; + map[16][7] = 4'd4; + map[16][8] = 4'd4; + map[16][9] = 4'd0; + map[16][10] = 4'd0; + map[16][11] = 4'd0; + map[16][12] = 4'd0; + map[16][13] = 4'd0; + map[16][14] = 4'd0; + map[16][15] = 4'd0; + map[16][16] = 4'd0; + map[16][17] = 4'd0; + map[16][18] = 4'd0; + map[16][19] = 4'd0; + map[16][20] = 4'd0; + map[16][21] = 4'd0; + map[16][22] = 4'd0; + map[16][23] = 4'd1; + map[17][0] = 4'd1; + map[17][1] = 4'd4; + map[17][2] = 4'd0; + map[17][3] = 4'd4; + map[17][4] = 4'd0; + map[17][5] = 4'd0; + map[17][6] = 4'd0; + map[17][7] = 4'd0; + map[17][8] = 4'd0; + map[17][9] = 4'd0; + map[17][10] = 4'd0; + map[17][11] = 4'd0; + map[17][12] = 4'd0; + map[17][13] = 4'd0; + map[17][14] = 4'd0; + map[17][15] = 4'd0; + map[17][16] = 4'd0; + map[17][17] = 4'd0; + map[17][18] = 4'd0; + map[17][19] = 4'd0; + map[17][20] = 4'd0; + map[17][21] = 4'd0; + map[17][22] = 4'd0; + map[17][23] = 4'd1; + map[18][0] = 4'd1; + map[18][1] = 4'd4; + map[18][2] = 4'd0; + map[18][3] = 4'd0; + map[18][4] = 4'd0; + map[18][5] = 4'd0; + map[18][6] = 4'd5; + map[18][7] = 4'd0; + map[18][8] = 4'd0; + map[18][9] = 4'd0; + map[18][10] = 4'd0; + map[18][11] = 4'd0; + map[18][12] = 4'd0; + map[18][13] = 4'd0; + map[18][14] = 4'd0; + map[18][15] = 4'd0; + map[18][16] = 4'd0; + map[18][17] = 4'd0; + map[18][18] = 4'd0; + map[18][19] = 4'd0; + map[18][20] = 4'd0; + map[18][21] = 4'd0; + map[18][22] = 4'd0; + map[18][23] = 4'd1; + map[19][0] = 4'd1; + map[19][1] = 4'd4; + map[19][2] = 4'd0; + map[19][3] = 4'd4; + map[19][4] = 4'd0; + map[19][5] = 4'd0; + map[19][6] = 4'd0; + map[19][7] = 4'd0; + map[19][8] = 4'd0; + map[19][9] = 4'd0; + map[19][10] = 4'd0; + map[19][11] = 4'd0; + map[19][12] = 4'd0; + map[19][13] = 4'd0; + map[19][14] = 4'd0; + map[19][15] = 4'd0; + map[19][16] = 4'd0; + map[19][17] = 4'd0; + map[19][18] = 4'd0; + map[19][19] = 4'd0; + map[19][20] = 4'd0; + map[19][21] = 4'd0; + map[19][22] = 4'd0; + map[19][23] = 4'd1; + map[20][0] = 4'd1; + map[20][1] = 4'd4; + map[20][2] = 4'd0; + map[20][3] = 4'd4; + map[20][4] = 4'd4; + map[20][5] = 4'd4; + map[20][6] = 4'd4; + map[20][7] = 4'd4; + map[20][8] = 4'd0; + map[20][9] = 4'd0; + map[20][10] = 4'd0; + map[20][11] = 4'd0; + map[20][12] = 4'd0; + map[20][13] = 4'd0; + map[20][14] = 4'd0; + map[20][15] = 4'd0; + map[20][16] = 4'd0; + map[20][17] = 4'd0; + map[20][18] = 4'd0; + map[20][19] = 4'd0; + map[20][20] = 4'd0; + map[20][21] = 4'd0; + map[20][22] = 4'd0; + map[20][23] = 4'd1; + map[21][0] = 4'd1; + map[21][1] = 4'd4; + map[21][2] = 4'd0; + map[21][3] = 4'd0; + map[21][4] = 4'd0; + map[21][5] = 4'd0; + map[21][6] = 4'd0; + map[21][7] = 4'd0; + map[21][8] = 4'd0; + map[21][9] = 4'd0; + map[21][10] = 4'd0; + map[21][11] = 4'd0; + map[21][12] = 4'd0; + map[21][13] = 4'd0; + map[21][14] = 4'd0; + map[21][15] = 4'd0; + map[21][16] = 4'd0; + map[21][17] = 4'd0; + map[21][18] = 4'd0; + map[21][19] = 4'd0; + map[21][20] = 4'd0; + map[21][21] = 4'd0; + map[21][22] = 4'd0; + map[21][23] = 4'd1; + map[22][0] = 4'd1; + map[22][1] = 4'd4; + map[22][2] = 4'd4; + map[22][3] = 4'd4; + map[22][4] = 4'd4; + map[22][5] = 4'd4; + map[22][6] = 4'd4; + map[22][7] = 4'd4; + map[22][8] = 4'd0; + map[22][9] = 4'd0; + map[22][10] = 4'd0; + map[22][11] = 4'd0; + map[22][12] = 4'd0; + map[22][13] = 4'd0; + map[22][14] = 4'd0; + map[22][15] = 4'd0; + map[22][16] = 4'd0; + map[22][17] = 4'd0; + map[22][18] = 4'd0; + map[22][19] = 4'd0; + map[22][20] = 4'd0; + map[22][21] = 4'd0; + map[22][22] = 4'd0; + map[22][23] = 4'd1; + map[23][0] = 4'd1; + map[23][1] = 4'd1; + map[23][2] = 4'd1; + map[23][3] = 4'd1; + map[23][4] = 4'd1; + map[23][5] = 4'd1; + map[23][6] = 4'd1; + map[23][7] = 4'd1; + map[23][8] = 4'd1; + map[23][9] = 4'd1; + map[23][10] = 4'd1; + map[23][11] = 4'd1; + map[23][12] = 4'd1; + map[23][13] = 4'd1; + map[23][14] = 4'd1; + map[23][15] = 4'd1; + map[23][16] = 4'd1; + map[23][17] = 4'd1; + map[23][18] = 4'd1; + map[23][19] = 4'd1; + map[23][20] = 4'd1; + map[23][21] = 4'd1; + map[23][22] = 4'd1; + map[23][23] = 4'd1; diff --git a/src/map2 b/src/map2 new file mode 100644 index 0000000..39393fc --- /dev/null +++ b/src/map2 @@ -0,0 +1,24 @@ + {8,8,8,8,8,8,8,8,8,8,8,4,4,6,4,4,6,4,6,4,4,4,6,4}, + {8,0,0,0,0,0,0,0,0,0,8,4,0,0,0,0,0,0,0,0,0,0,0,4}, + {8,0,3,3,0,0,0,0,0,8,8,4,0,0,0,0,0,0,0,0,0,0,0,6}, + {8,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6}, + {8,0,3,3,0,0,0,0,0,8,8,4,0,0,0,0,0,0,0,0,0,0,0,4}, + {8,0,0,0,0,0,0,0,0,0,8,4,0,0,0,0,0,6,6,6,0,6,4,6}, + {8,8,8,8,0,8,8,8,8,8,8,4,4,4,4,4,4,6,0,0,0,0,0,6}, + {7,7,7,7,0,7,7,7,7,0,8,0,8,0,8,0,8,4,0,4,0,6,0,6}, + {7,7,0,0,0,0,0,0,7,8,0,8,0,8,0,8,8,6,0,0,0,0,0,6}, + {7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,0,0,0,4}, + {7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,6,0,6,0,6}, + {7,7,0,0,0,0,0,0,7,8,0,8,0,8,0,8,8,6,4,6,0,6,6,6}, + {7,7,7,7,0,7,7,7,7,8,8,4,0,6,8,4,8,3,3,3,0,3,3,3}, + {2,2,2,2,0,2,2,2,2,4,6,4,0,0,6,0,6,3,0,0,0,0,0,3}, + {2,2,0,0,0,0,0,2,2,4,0,0,0,0,0,0,4,3,0,0,0,0,0,3}, + {2,0,0,0,0,0,0,0,2,4,0,0,0,0,0,0,4,3,0,0,0,0,0,3}, + {1,0,0,0,0,0,0,0,1,4,4,4,4,4,6,0,6,3,3,0,0,0,3,3}, + {2,0,0,0,0,0,0,0,2,2,2,1,2,2,2,6,6,0,0,5,0,5,0,5}, + {2,2,0,0,0,0,0,2,2,2,0,0,0,2,2,0,5,0,5,0,0,0,5,5}, + {2,0,0,0,0,0,0,0,2,0,0,0,0,0,2,5,0,5,0,5,0,5,0,5}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5}, + {2,0,0,0,0,0,0,0,2,0,0,0,0,0,2,5,0,5,0,5,0,5,0,5}, + {2,2,0,0,0,0,0,2,2,2,0,0,0,2,2,0,5,0,5,0,0,0,5,5}, + {2,2,2,2,1,2,2,2,2,2,2,1,2,2,2,5,5,5,5,5,5,5,5,5} diff --git a/src/map3 b/src/map3 new file mode 100644 index 0000000..04be3d1 --- /dev/null +++ b/src/map3 @@ -0,0 +1,25 @@ + {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,2,2,2,2,2,0,0,0,0,6,0,7,0,8,0,0,0,1}, + {1,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,2,0,0,0,2,0,0,0,0,4,0,0,0,5,0,0,0,1}, + {1,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,3,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, + diff --git a/src/map_rom.v b/src/map_rom.v new file mode 100644 index 0000000..ef51686 --- /dev/null +++ b/src/map_rom.v @@ -0,0 +1,20 @@ +module map_rom ( + input [7:0] x, + input [7:0] y, + output reg [3:0] point + ); + +reg [3:0] map [23:0][23:0]; + +initial begin +`include "map.rom" +end + +always @(*) begin + if (x < 24 && y < 24) + point = map[x][y]; + else + point = 4'd1; +end + +endmodule diff --git a/src/mmap.v b/src/mmap.v new file mode 100644 index 0000000..9378387 --- /dev/null +++ b/src/mmap.v @@ -0,0 +1,223 @@ +/* + This module adapted from reg_interface.luc from embedded micro. + // 1 CMD byte: + // 5:0 CMD - up to 64 different GPU commands + // 6 inc it + // 7 wr bit + // 16bit data packet count (could possibly encode) + // 32bit addr + // 32bit data [up to repeat count] + // is zero an acceptable count? + // NOTE: Not exposing the run count + // if inc -> addr += 4 per run + */ + +module mmap_protocol #( + parameter CLK_FREQ = 50000000 + )( + input clk, + input rst, + + // Serial RX + input [7:0] rx_data, + input new_rx_data, + + // Serial TX + output reg [7:0] tx_data, + output reg new_tx_data, + input tx_busy, + + // Master interface + output reg m_new_cmd, + output reg m_write, + output [5:0] m_cmd, + output [31:0] m_address, + output [31:0] m_data, + + // Slave interface + input [31:0] s_data, + input s_drdy +); + +localparam STATE_SIZE = 4; +localparam IDLE = 0, + GET_ADDR = 1, + WRITE = 2, + REQUEST_WRITE = 3, + REQUEST_READ = 4, + WAIT_READ = 5, + READ_RESULT = 6, + GET_PCOUNT = 7; + +reg [STATE_SIZE-1:0] state_d, state_q; + +reg [5:0] cmd_d, cmd_q; +reg [15:0] addr_ct_d, addr_ct_q; +reg [1:0] byte_ct_d, byte_ct_q; +reg inc_d, inc_q; // address increment bit +reg wr_d, wr_q; // write request bit +reg [$clog2(CLK_FREQ/2):0] timeout_d, timeout_q; // timeout counter +//reg [31:0] timeout; // timeout counter +reg [31:0] addr_d, addr_q; // saved address +reg [31:0] data_d, data_q; // saved data +//reg [1:0] delay; // hmm + +assign m_data = data_q; +assign m_cmd = cmd_q; +assign m_address = addr_q; + +always @(*) begin + // incremnt timeout, or reset if new data is avilable. + timeout_d = timeout_q + 1'b1; + if (new_rx_data) + timeout_d = 0; + + // defaults. + m_new_cmd = 0; + m_write = 0; + tx_data = 7'bx; + wr_d = wr_q; + inc_d = inc_q; + state_d = state_q; + byte_ct_d = byte_ct_q; + data_d = data_q; + addr_d = addr_q; + addr_ct_d = addr_ct_q; + cmd_d = cmd_q; + new_tx_data = 0; + + case (state_q) + IDLE: begin + timeout_d = 0; + byte_ct_d = 0; + + if (new_rx_data) begin + wr_d = rx_data[7]; + inc_d = rx_data[6]; + cmd_d = rx_data[5:0]; + state_d = GET_PCOUNT; + end + end + GET_PCOUNT: begin + // number of four byte data packets to read + if (new_rx_data) begin + addr_ct_d = {rx_data, addr_ct_q[15-:8]}; + byte_ct_d = byte_ct_q + 1'b1; + if (byte_ct_q == 2'd1) begin + byte_ct_d = 2'd0; + state_d = GET_ADDR; + end + end + end + GET_ADDR: begin + if (new_rx_data) begin + addr_d = {rx_data, addr_q[31-:24]}; // shift in a byte + byte_ct_d = byte_ct_q + 1'b1; + if (byte_ct_q == 2'd3) begin + if (wr_q) begin + state_d = WRITE; + end else begin + state_d = REQUEST_READ; + end + end + end + end + WRITE: begin + if (new_rx_data) begin + data_d = {rx_data, data_q[31-:24]}; + byte_ct_d = byte_ct_q + 1'b1; + if (byte_ct_q == 2'd3) begin + state_d = REQUEST_WRITE; + end + end + end + REQUEST_WRITE: begin + m_new_cmd = 1'b1; + m_write = 1'b1; + addr_ct_d = addr_ct_q - 1'b1; + if (addr_ct_q == 1'b0) begin + state_d = IDLE; + end else begin + state_d = WRITE; + if (inc_q) begin + addr_d = addr_q + 1'd1; + end + end + end + REQUEST_READ: begin + m_new_cmd = 1'b1; + m_write = 0; + //delay <= {2{1'b1}}; + if (s_drdy) begin + byte_ct_d = 2'd0; + data_d = s_data; + state_d = READ_RESULT; + end else begin + state_d = WAIT_READ; + end + end + WAIT_READ: begin + if (s_drdy) begin + byte_ct_d = 2'd0; + data_d = s_data; + state_d = READ_RESULT; + end + end + READ_RESULT: begin + timeout_d = 0; + //delay <= delay - 1'b1; + //if (!tx_busy && delay == {2{1'b0}}) begin + if (!tx_busy) begin + //delay <= {2{1'b1}}; + tx_data = data_q[7:0]; + data_d = data_q >> 8; + new_tx_data = 1'b1; + byte_ct_d = byte_ct_q + 1'b1; + if (byte_ct_q == 2'd3) begin + addr_ct_d = addr_ct_q - 1'b1; + if (addr_ct_q == 0) begin + state_d = IDLE; + end else begin + state_d = REQUEST_READ; + if (inc_q) begin + addr_d = addr_q + 1'd1; + end + end + end + end + end + default: state_d = IDLE; + endcase + + if (&timeout_q) begin + state_d = IDLE; + end +end + +always @(posedge clk) begin + if (rst) begin + state_q <= IDLE; + addr_ct_q <= 0; + byte_ct_q <= 0; + inc_q <= 0; + wr_q <= 0; + data_q <= 0; + addr_q <= 0; + cmd_q <= 0; + //delay_q <= 0; + end else begin + timeout_q <= timeout_d; + //m_new_cmd_q <= m_new_cmd_d; + //m_write_q <= m_write_d; + cmd_q <= cmd_d; + wr_q <= wr_d; + inc_q <= inc_d; + state_q <= state_d; + data_q <= data_d; + addr_q <= addr_d; + byte_ct_q <= byte_ct_d; + addr_ct_q <= addr_ct_d; + end +end + +endmodule diff --git a/src/mmap_leds.v b/src/mmap_leds.v new file mode 100644 index 0000000..e6c97a9 --- /dev/null +++ b/src/mmap_leds.v @@ -0,0 +1,460 @@ +// ignore the file being called _leds.v :P +// this central interface consumes the memory mapped protocol and controls the +// rest of the design, including rendering. +module mmap_interface ( + input clk, + input rst, + + output [2:0] leds, + output flush_busy, + + // Master interface + input m_new_cmd, + input m_write, + input [5:0] m_cmd, + input [31:0] m_address, + input [31:0] m_data, + + // Slave interface + output [31:0] s_data, + output s_drdy, + + // share output angle to other modules + output [79:0] angle, + + // ray caster wires + output reg [8:0] cast_x, + output [15:0] map_pos_x, + output [15:0] map_pos_y, + output reg cast_start, + input cast_busy, + input cast_done, + + // line writer + input [39:0] line_height, // observed line height + input line_write_ready, + input line_write_done, + output reg line_write_start, + output [8:0] line_ram_raddr, + input [15:0] line_ram_read_data, + // line writer texture memory. + output reg [13:0] tram_waddr, + output reg [3:0] tram_write_data, + output reg tram_write_en, + output reg [7:0] tpram_waddr, + output reg [15:0] tpram_write_data, + output reg tpram_write_en, + + // sprite metadata memory + output reg [6:0] smeta_waddr, + output reg [39:0] smeta_write_data, + output reg smeta_write_en, + output reg sprite_start, + input sprite_done, + + // LCD driver + output reg [7:0] lcd_data_in, + output reg lcd_data_dcx, // low: data, hi: cmd + output reg lcd_start, + output lcd_rst, + input lcd_done +); + +// FIXME: reorg states and commands +localparam CMD_LEDS = 0, + CMD_TEXP_LOAD = 1, + CMD_TEX_LOAD = 3, + CMD_CAST_FB = 4, + CMD_LCD = 5, + CMD_SPRITE_META = 6; + +reg [2:0] led_d, led_q; +reg [31:0] data_d, data_q; +reg drdy_d, drdy_q; + +assign leds = led_q; +assign s_data = data_q; +assign s_drdy = drdy_q; +assign lcd_rst = lcd_rst_q; +assign flush_busy = lcdstate_q != LCDIDLE; + +// FSM for SDRAM read/writes. +localparam IDLE = 0, + WAIT_DUMP = 4, + WAIT_LCD = 5, + WAIT_FOR_CAST = 6, + WAIT_FOR_LINE = 7, + CAST_FB = 8, + CAST_FB_START = 9; + +localparam LCDIDLE= 0, + LCD_FB_DUMP = 2, + LCD_FB_READRAM_RES = 3, + LCD_FB_SPLIT = 4, + LCD_FB_SPLIT_WAIT = 5, + LCD_FB_DUMP_START = 6; + +reg [4:0] state_d, state_q; +reg [4:0] lcdstate_d, lcdstate_q; + +// turn angle ROM. data shared between ray caster and sprite scaler (at least) +reg [6:0] angle_addr; +angle_rom angle_rom ( + .clk(clk), + .addr(angle_addr), + .angle(angle) // 4x Q8.8: dirX, dirY, planeX, planeY +); + +// ray caster positional data +reg [15:0] map_pos_x_d, map_pos_x_q; +reg [15:0] map_pos_y_d, map_pos_y_q; +reg [6:0] turn_addr_d, turn_addr_q; // angle lookup table index + +// caster +assign map_pos_x = map_pos_x_q; +assign map_pos_y = map_pos_y_q; +reg [8:0] lw_raddr_d, lw_raddr_q; // line writer +reg [8:0] lw_base_raddr_d, lw_base_raddr_q; // line RAM bank +assign line_ram_raddr = lw_raddr_q + lw_base_raddr_q; + +// screen casting. +localparam WIDTH = 320, + HEIGHT = 240; +reg [8:0] camera_x_d, camera_x_q; +reg dump_ready_d, dump_ready_q; +reg line_go_d, line_go_q; +reg lcd_go_d, lcd_go_q; +reg lcd_ready_d, lcd_ready_q; +reg lcd_done_d, lcd_done_q; // FIXME: weird. +// FIXME: come up with more clear logic for determining when rendering is +// complete. +// this workaround waits for the "done" condition to be held for a while. +reg [8:0] pipe_done_d, pipe_done_q; + +// lcd +reg lcd_rst_d, lcd_rst_q; +reg lcd_bcnt_d, lcd_bcnt_q; + +// frame render time tracker +reg [31:0] frame_cycle_d, frame_cycle_q; +reg [31:0] lframe_cycle_d, lframe_cycle_q; + +initial begin + lcd_rst_q = 1'b0; + camera_x_q = 9'd0; + turn_addr_q = 7'd0; + lframe_cycle_q = 0; +end + +// writing to SDRAM requires more states, but m_new_cmd/etc aren't held. +// - what happens if m_new_cmd comes high while we're in an FSM waiting for +// SDRAM? +// the read request shit queues but... do we lose serial transactions if we +// block too long? I think so. +// serial is slow enough that we might be fine for now. +// worst case we connect a couple RAM FIFO's, which I think we're intending on +// doing anyway. + +always @(*) begin + state_d = state_q; + lcdstate_d = lcdstate_q; + led_d = led_q; + data_d = data_q; + drdy_d = 0; + line_write_start = 1'b0; + lw_raddr_d = lw_raddr_q; + lw_base_raddr_d = lw_base_raddr_q; + dump_ready_d = dump_ready_q; + line_go_d = line_go_q; + lcd_go_d = lcd_go_q; + lcd_ready_d = lcd_ready_q; + lcd_done_d = lcd_done_q; + pipe_done_d = pipe_done_q; + frame_cycle_d = frame_cycle_q + 1'b1; + lframe_cycle_d = lframe_cycle_q; + // ray caster + camera_x_d = camera_x_q; + map_pos_x_d = map_pos_x_q; + map_pos_y_d = map_pos_y_q; + turn_addr_d = turn_addr_q; + cast_x = camera_x_q; + // ensure the angle is loaded + angle_addr = turn_addr_q; + cast_start = 1'b0; + // LCD regs + lcd_data_in = 8'd0; + lcd_data_dcx = 1'b0; + lcd_start = 1'b0; + lcd_rst_d = lcd_rst_q; + lcd_bcnt_d = lcd_bcnt_q; + // line texture memory. + tram_waddr = 13'd0; + tram_write_data = 8'd0; + tram_write_en = 1'b0; + tpram_waddr = 13'd0; + tpram_write_data = 8'd0; + tpram_write_en = 1'b0; + // sprite metadata memory. + smeta_waddr = 7'd0; + smeta_write_data = 39'd0; + smeta_write_en = 1'b0; + sprite_start = 1'b0; + + case (lcdstate_q) + LCDIDLE: begin + + end + LCD_FB_DUMP: begin + if (lw_raddr_q != 8'd240) begin + lcdstate_d = LCD_FB_READRAM_RES; + end else begin + lcd_done_d = 1'b1; + lcdstate_d = LCDIDLE; + // flip RAM line read bank. + if (lw_base_raddr_q == 9'd0) begin + lw_base_raddr_d = 9'd240; + end else begin + lw_base_raddr_d = 9'd0; + end + end + end + LCD_FB_READRAM_RES: begin + data_d[15:0] = line_ram_read_data; + lcd_bcnt_d = 1'b0; + lcdstate_d = LCD_FB_SPLIT; + end + LCD_FB_SPLIT: begin + // for each byte, send each half to SPI. + lcd_bcnt_d = ~lcd_bcnt_q; + if (!lcd_bcnt_q) begin + lcd_data_in = data_q[15:8]; + end else begin + lcd_data_in = data_q[7:0]; + end + + lcd_data_dcx = 1'b1; + lcd_start = 1'b1; + lcdstate_d = LCD_FB_SPLIT_WAIT; + end + LCD_FB_SPLIT_WAIT: begin + if (lcd_done) begin + if (!lcd_bcnt_q) begin // if we've flipped back to zero. + lw_raddr_d = lw_raddr_q + 1'b1; + lcdstate_d = LCD_FB_DUMP; + end else begin + lcdstate_d = LCD_FB_SPLIT; + end + end + end + default: lcdstate_d = LCDIDLE; + endcase + + case (state_q) + IDLE: begin + if (m_new_cmd) begin + led_d[0] = 1'b0; + case (m_cmd) + CMD_LEDS: begin + if (m_write) begin + led_d[2:0] = m_data[2:0]; + end else begin + data_d[7:0] = led_q; + drdy_d = 1'b1; + end + end + CMD_LCD: begin + // No read mode (until SD card interface?) + // FIXME: making an assumption about readiness :P + if (m_write) begin + state_d = WAIT_LCD; + lcd_data_in = m_data[7:0]; + lcd_data_dcx = m_data[8]; + lcd_start = 1'b1; + end else begin + // hack to allow RST toggling. + lcd_rst_d = m_address[0]; + drdy_d = 1'b1; + end + end + CMD_TEX_LOAD: begin + if (m_write) begin + tram_waddr = m_address[13:0]; + tram_write_data = m_data[3:0]; + tram_write_en = 1'b1; + end else begin + // no readback. + data_d = 32'd0; + drdy_d = 1'b1; + end + end + CMD_TEXP_LOAD: begin + if (m_write) begin + tpram_waddr = m_address[7:0]; + tpram_write_data = m_data[15:0]; + tpram_write_en = 1'b1; + end else begin + // no readback. + data_d = 32'd0; + drdy_d = 1'b1; + end + end + CMD_SPRITE_META: begin + if (m_write) begin + smeta_waddr = m_address[6:0]; + // texture ID is cuddled in the address. + smeta_write_data[39:32] = m_address[15:8]; + // x, y offsets in Q8.8 + smeta_write_data[31:0] = m_data; + smeta_write_en = 1'b1; + led_d[1] = 1'b1; + end else begin + // no readback. + data_d = 32'd0; + drdy_d = 1'b1; + end + end + CMD_CAST_FB: begin + if (m_write) begin + case (m_address) + 31'd0: begin + map_pos_x_d = m_data[31:16]; + map_pos_y_d = m_data[15:0]; + camera_x_d = 9'd0; + end + 31'd1: begin + turn_addr_d = m_data[6:0]; + state_d = CAST_FB_START; + lcd_data_dcx = 1'b0; + lcd_data_in = 8'h2C; // RAMWR + lcd_start = 1'b1; + // prep state + dump_ready_d = 1'b1; + lcd_ready_d = 1'b1; + line_go_d = 1'b0; + pipe_done_d = 10'd0; + // kick render chain + sprite_start = 1'b1; + frame_cycle_d = 32'd0; + end + endcase + end else begin + // return cycle count of previously rendered frame + data_d = lframe_cycle_q; + drdy_d = 1'b1; + end + end + endcase + end else begin + led_d[0] = 1'b1; + end + end + CAST_FB_START: begin + // wait for sprite transforms to complete. + if (sprite_done) begin + cast_start = 1'b1; + state_d = CAST_FB; + end + end + CAST_FB: begin + if (cast_done) begin + line_go_d = 1'b1; + camera_x_d = camera_x_q + 1'b1; + end + + if (line_go_q && dump_ready_q) begin + line_write_start = 1'b1; + line_go_d = 1'b0; + dump_ready_d = 1'b0; + // re-kick pipelined ray cast. + if (camera_x_q != WIDTH) begin + cast_start = 1'b1; + end + end + + if (line_write_done) begin + lcd_go_d = 1'b1; + end + + if (lcd_go_q && lcd_ready_q) begin + dump_ready_d = 1'b1; + lcd_go_d = 1'b0; + lcd_ready_d = 1'b0; + lw_raddr_d = 8'd0; + lcdstate_d = LCD_FB_DUMP; + end + + if (lcd_done_q) begin + lcd_ready_d = 1'b1; + lcd_done_d = 1'b0; + end + + // FIXME: race condition in this logic still, but I don't see it + // offhand. At lower frame rates it's easy to start another + // frame while the lcd writer is still going, which causes the + // frame to snap at an offset. + // at higher framerates + some delay here this doesn't seem to + // happen. + if (camera_x_q == WIDTH && !cast_busy && dump_ready_q && lcd_ready_q) begin + pipe_done_d = pipe_done_q + 1'b1; + if (&pipe_done_q) begin + lcd_data_dcx = 1'b0; + lcd_data_in = 8'h00; // NOP + lcd_start = 1'b1; + state_d = WAIT_LCD; + // hold timing of previous frame + lframe_cycle_d = frame_cycle_q; + end + end else begin + pipe_done_d = 10'd0; + end + end + WAIT_LCD: begin + if (lcd_done) begin + state_d = IDLE; + end + end + default: state_d = IDLE; + endcase +end + +always @(posedge clk) begin + if (rst) begin + led_q <= 0; + data_q <= 0; + drdy_q <= 0; + state_q = 0; + lcdstate_q = 0; + map_pos_x_q <= 0; + map_pos_y_q <= 0; + lw_raddr_q <= 0; + lw_base_raddr_q <= 0; + camera_x_q <= 0; + turn_addr_q <= 0; + lcd_bcnt_q <= 0; + end else begin + state_q = state_d; + lcdstate_q = lcdstate_d; + data_q <= data_d; + drdy_q <= drdy_d; + led_q <= led_d; + map_pos_x_q <= map_pos_x_d; + map_pos_y_q <= map_pos_y_d; + lw_raddr_q <= lw_raddr_d; + lw_base_raddr_q <= lw_base_raddr_d; + camera_x_q <= camera_x_d; + turn_addr_q <= turn_addr_d; + lcd_bcnt_q <= lcd_bcnt_d; + end + + lcd_rst_q <= lcd_rst_d; + dump_ready_q <= dump_ready_d; + line_go_q <= line_go_d; + lcd_done_q <= lcd_done_d; + lcd_go_q <= lcd_go_d; + lcd_ready_q <= lcd_ready_d; + pipe_done_q <= pipe_done_d; + frame_cycle_q <= frame_cycle_d; + lframe_cycle_q <= lframe_cycle_d; +end + +endmodule diff --git a/src/mmap_tb.v b/src/mmap_tb.v new file mode 100644 index 0000000..7a9d5b1 --- /dev/null +++ b/src/mmap_tb.v @@ -0,0 +1,117 @@ +`timescale 1ns / 1ps +////////////////////////////////////////////////////////////////////////////////// +// Company: +// Engineer: +// +// Create Date: 00:29:36 10/21/2018 +// Design Name: +// Module Name: mmap_interface_tb +// Project Name: +// Target Devices: +// Tool versions: +// Description: +// +// Dependencies: +// +// Revision: +// Revision 0.01 - File Created +// Additional Comments: +// +////////////////////////////////////////////////////////////////////////////////// +module mmap_interface_tb( + ); + + reg clk; + reg rst; + + wire [7:0] tx_data; + wire new_tx_data; + reg tx_busy; + reg [7:0] rx_data; + reg new_rx_data; + +wire m_new_cmd; +wire m_write; +wire [5:0] m_cmd; +wire [31:0] m_address; +reg [31:0] s_data; +reg s_drdy; + + mmap_protocol DUT ( + .clk(clk), + .rst(rst), + .tx_data(tx_data), + .new_tx_data(new_tx_data), + .tx_busy(tx_busy), + .rx_data(rx_data), + .new_rx_data(new_rx_data), + .m_new_cmd(m_new_cmd), + .m_cmd(m_cmd), + .m_write(m_write), + .m_address(m_address), + .s_data(s_data), + .s_drdy(s_drdy) + ); + + // wait by delay for clocks rather than manually run them. + initial begin + clk = 0; + forever #10 clk = ~clk; + end + + initial begin + rst = 1'b1; + repeat(6) @(posedge clk); + rst = 1'b0; + repeat(2) @(posedge clk); + // command byte + new_rx_data = 1'b1; + rx_data = 8'b11000000; + @(posedge clk); + // "packet count" 16bit. + rx_data = 8'd0; + repeat(2) @(posedge clk); + // "address" bytes. hold open for four clocks. + rx_data = 8'b00000001; + repeat(4) @(posedge clk); + // "data" bytes. hold for another four clocks to load + rx_data = 8'b01111111; + repeat(4) @(posedge clk); + // command should be parsed by now. + new_rx_data = 1'b0; + rx_data = 8'd0; + repeat(8) @(posedge clk); + // NEXT: issue a read command + new_rx_data = 1'b1; + rx_data = 8'b00000001; + @(posedge clk); + // packet count 16bit + rx_data = 8'b00000000; + repeat(2) @(posedge clk); + // "address" bytes. four clocks to fill + rx_data = 8'b00010000; + repeat(4) @(posedge clk); + // m_new_cmd should be high + // m_write should be low. + // m_address should be full + new_rx_data = 1'b0; + @(posedge clk); + @(posedge clk); + //new_rx_data = 1'b1; + // reads request s_drdy and s_data to be set. + s_data = {16{2'b10}}; + s_drdy = 1'b1; + tx_busy = 1'b0; + @(posedge clk); + s_drdy = 1'b0; + // during next repetitions, tx_data, new_tx_data, etc should be flipped + repeat(25) @(posedge clk) + #5000 + $finish; + end + + initial begin + #500000000 + $finish; + end +endmodule diff --git a/src/mojo.ucf b/src/mojo.ucf new file mode 100644 index 0000000..8f93c6e --- /dev/null +++ b/src/mojo.ucf @@ -0,0 +1,38 @@ +#Created by Constraints Editor (xc6slx9-tqg144-3) - 2012/11/05 +NET "clk" TNM_NET = clk; +TIMESPEC TS_clk = PERIOD "clk" 50 MHz HIGH 50%; + +# PlanAhead Generated physical constraints +NET "clk" LOC = P56 | IOSTANDARD = LVTTL; +NET "rst_n" LOC = P38 | IOSTANDARD = LVTTL; + +NET "cclk" LOC = P70 | IOSTANDARD = LVTTL; + +NET "led<0>" LOC = P134 | IOSTANDARD = LVTTL; +NET "led<1>" LOC = P133 | IOSTANDARD = LVTTL; +NET "led<2>" LOC = P132 | IOSTANDARD = LVTTL; +NET "led<3>" LOC = P131 | IOSTANDARD = LVTTL; +NET "led<4>" LOC = P127 | IOSTANDARD = LVTTL; +NET "led<5>" LOC = P126 | IOSTANDARD = LVTTL; +NET "led<6>" LOC = P124 | IOSTANDARD = LVTTL; +NET "led<7>" LOC = P123 | IOSTANDARD = LVTTL; + +NET "spi_mosi" LOC = P44 | IOSTANDARD = LVTTL; +NET "spi_miso" LOC = P45 | IOSTANDARD = LVTTL; +NET "spi_ss" LOC = P48 | IOSTANDARD = LVTTL; +NET "spi_sck" LOC = P43 | IOSTANDARD = LVTTL; +NET "spi_channel<0>" LOC = P46 | IOSTANDARD = LVTTL; +NET "spi_channel<1>" LOC = P61 | IOSTANDARD = LVTTL; +NET "spi_channel<2>" LOC = P62 | IOSTANDARD = LVTTL; +NET "spi_channel<3>" LOC = P65 | IOSTANDARD = LVTTL; + +NET "avr_tx" LOC = P55 | IOSTANDARD = LVTTL; +NET "avr_rx" LOC = P59 | IOSTANDARD = LVTTL; +NET "avr_rx_busy" LOC = P39 | IOSTANDARD = LVTTL; + +NET "lcd_sck" LOC = P17 | IOSTANDARD = LVTTL; +NET "lcd_mosi" LOC = P16 | IOSTANDARD = LVTTL; +NET "lcd_ss" LOC = P15 | IOSTANDARD = LVTTL; +NET "lcd_dcx" LOC = P14 | IOSTANDARD = LVTTL; +NET "lcd_bl" LOC = P12 | IOSTANDARD = LVTTL; +NET "lcd_rst" LOC = P11 | IOSTANDARD = LVTTL; diff --git a/src/mojo_top.v b/src/mojo_top.v new file mode 100644 index 0000000..d3974dd --- /dev/null +++ b/src/mojo_top.v @@ -0,0 +1,305 @@ +module mojo_top( + // 50MHz clock input + input clk, + // Input from reset button (active low) + input rst_n, + // cclk input from AVR, high when AVR is ready + input cclk, + // Outputs to the 8 onboard LEDs + output[7:0]led, + // AVR SPI connections + output spi_miso, + input spi_ss, + input spi_mosi, + input spi_sck, + // AVR ADC channel select + output [3:0] spi_channel, + // Serial connections + input avr_tx, // AVR Tx => FPGA Rx + output avr_rx, // AVR Rx => FPGA Tx + input avr_rx_busy, // AVR Rx buffer full + // LCD SPI and control wires + output lcd_sck, + output lcd_mosi, + output lcd_ss, + output lcd_dcx, // hi: data, lo: cmd + output lcd_bl, // PWM'ed backlight + output lcd_rst // RST. LCD seems to hang sometimes. + ); + +wire rst = ~rst_n; // make reset active high +wire fclk, nclk; + +//assign led = 8'b0; + +// these signals should be high-z when not used +//assign spi_miso = 1'bz; +//assign avr_rx = 1'bz; +//assign spi_channel = 4'bzzzz; +wire [7:0] tx_data; +wire new_tx_data; +wire tx_busy; +wire [7:0] rx_data; +wire new_rx_data; + +// LCD wires +// TODO "LCD busy" wire for LED. +// LCD module wires +wire [7:0] lcd_data_in; +wire lcd_data_dcx; +wire lcd_start; +wire lcd_busy; +wire lcd_done; +// leave LCD backlight disconnected +assign lcd_bl = 1'bz; + +// mmap interface specifics +wire m_new_cmd; +wire m_write; +wire [5:0] m_cmd; +wire [31:0] m_address; +wire [31:0] m_data; +wire [31:0] s_data; +wire s_drdy; +wire flush_busy; + +wire [79:0] angle; + +// line writer wires +wire [39:0] line_height; +wire [6:0] line_tex_x; +wire [7:0] color; +wire [15:0] line_floor_x; +wire [15:0] line_floor_y; +wire [15:0] line_pos_x; +wire [15:0] line_pos_y; +wire line_write_ready, line_write_start, line_write_done; +wire [8:0] line_ram_raddr; +wire [15:0] line_ram_read_data; +wire [13:0] line_tram_waddr; +wire [3:0] line_tram_write_data; +wire line_tram_write_en; +wire [7:0] line_tpram_waddr; +wire [15:0] line_tpram_write_data; +wire line_tpram_write_en; + +// ray caster wires +wire cast_start; +wire cast_busy; +wire cast_done; +wire [8:0] cast_x; +wire [15:0] map_pos_x; +wire [15:0] map_pos_y; + +// sprite transform wires +wire sprite_start; +wire sprite_done; +wire [6:0] smeta_waddr; +wire [39:0] smeta_write_data; +wire smeta_write_en; +wire [6:0] stmeta_raddr; +wire [119:0] stmeta_read_data; + +// sprite scanline sorter +wire [15:0] wall_z; +wire [2:0] sprite_addr; +wire [119:0] sprite_meta; +wire sprscan_start; +wire sprscan_done; +wire [2:0] sprite_count; + +// LED indicators. +assign led[3] = sprite_count != 0; +assign led[4] = flush_busy; +assign led[5] = lcd_busy; +assign led[6] = ~line_write_ready; +assign led[7] = cast_busy; + +lcd_spi_clk lcd_spi_clk ( + .clk_in(clk), + .clk_fout(fclk), + .clk_nout(nclk) +); + +lcd_driver lcd_driver ( + .clk(nclk), + .fclk(fclk), + .rst(rst), + .lcd_sck(lcd_sck), + .lcd_mosi(lcd_mosi), + .lcd_ss(lcd_ss), + .lcd_dcx(lcd_dcx), + .data_in(lcd_data_in), + .data_dcx(lcd_data_dcx), + .start(lcd_start), + .busy(lcd_busy), + .done(lcd_done) +); + + avr_interface #(.CLK_RATE(50000000), .SERIAL_BAUD_RATE(500000)) avr_interface ( + .clk(nclk), + .rst(rst), + .cclk(cclk), + .spi_miso(spi_miso), + .spi_mosi(spi_mosi), + .spi_sck(spi_sck), + .spi_ss(spi_ss), + .spi_channel(spi_channel), + .tx(avr_rx), // FPGA tx goes to AVR rx + .rx(avr_tx), + .channel(4'd15), // invalid channel disables the ADC + .new_sample(), + .sample(), + .sample_channel(), + .tx_data(tx_data), + .new_tx_data(new_tx_data), + .tx_busy(tx_busy), + .tx_block(avr_rx_busy), + .rx_data(rx_data), + .new_rx_data(new_rx_data) + ); + +mmap_protocol mmap_protocol ( + .clk(nclk), + .rst(rst), + .tx_data(tx_data), + .new_tx_data(new_tx_data), + .tx_busy(tx_busy), + .rx_data(rx_data), + .new_rx_data(new_rx_data), + .m_new_cmd(m_new_cmd), + .m_cmd(m_cmd), + .m_write(m_write), + .m_address(m_address), + .m_data(m_data), + .s_data(s_data), + .s_drdy(s_drdy) + ); + +mmap_interface mmaped_interface ( + .clk(nclk), + .rst(rst), + .leds(led[2:0]), + .flush_busy(flush_busy), + // Protocol handler wires + .m_new_cmd(m_new_cmd), + .m_cmd(m_cmd), + .m_write(m_write), + .m_address(m_address), + .m_data(m_data), + .s_data(s_data), + .s_drdy(s_drdy), + .angle(angle), + // ray caster wires + .cast_x(cast_x), + .map_pos_x(map_pos_x), + .map_pos_y(map_pos_y), + .cast_start(cast_start), + .cast_busy(cast_busy), + .cast_done(cast_done), + // line writer wires + .line_height(line_height), + .line_write_ready(line_write_ready), + .line_write_start(line_write_start), + .line_write_done(line_write_done), + .line_ram_raddr(line_ram_raddr), + .line_ram_read_data(line_ram_read_data), + .tram_waddr(line_tram_waddr), + .tram_write_data(line_tram_write_data), + .tram_write_en(line_tram_write_en), + .tpram_waddr(line_tpram_waddr), + .tpram_write_data(line_tpram_write_data), + .tpram_write_en(line_tpram_write_en), + // sprite metadata wires + .smeta_waddr(smeta_waddr), + .smeta_write_data(smeta_write_data), + .smeta_write_en(smeta_write_en), + .sprite_start(sprite_start), + .sprite_done(sprite_done), + // LCD driver wires + .lcd_rst(lcd_rst), + .lcd_data_in(lcd_data_in), + .lcd_data_dcx(lcd_data_dcx), + .lcd_start(lcd_start), + .lcd_done(lcd_done) + ); + +line_writer line_writer ( + .clk(nclk), + .rst(rst), + .start(line_write_start), + .x(cast_x), + .pixel(color), + .height(line_height), + .tex_x(line_tex_x), + .floor_x(line_floor_x), + .floor_y(line_floor_y), + .pos_x(line_pos_x), + .pos_y(line_pos_y), + .rdy(line_write_ready), + .done(line_write_done), + .ram_raddr(line_ram_raddr), + .ram_read_data(line_ram_read_data), + .tram_waddr(line_tram_waddr), + .tram_write_data(line_tram_write_data), + .tram_write_en(line_tram_write_en), + .tpram_waddr(line_tpram_waddr), + .tpram_write_data(line_tpram_write_data), + .tpram_write_en(line_tpram_write_en), + .sprscan_start(sprscan_start), + .sprscan_done(sprscan_done), + .sprite_addr(sprite_addr), + .sprite_meta(sprite_meta), + .sprite_count(sprite_count) +); + +cast_ray cast_ray ( + .clk(nclk), + .rst(rst), + .x(cast_x), + .angle(angle), + .map_pos_x(map_pos_x), + .map_pos_y(map_pos_y), + .start(cast_start), + .busy(cast_busy), + .done(cast_done), + .line_height(line_height), + .line_tex_x(line_tex_x), + .line_color(color), + .line_floor_x(line_floor_x), + .line_floor_y(line_floor_y), + .line_pos_x(line_pos_x), + .line_pos_y(line_pos_y), + .wall_z(wall_z) +); + +sprite sprite ( + .clk(nclk), + .rst(rst), + .start(sprite_start), + .done(sprite_done), + .angle(angle), + .map_pos_x(map_pos_x), + .map_pos_y(map_pos_y), + .smeta_waddr(smeta_waddr), + .smeta_write_data(smeta_write_data), + .smeta_write_en(smeta_write_en), + .stmeta_raddr(stmeta_raddr), + .stmeta_read_data(stmeta_read_data) +); + +sprite_scanline sprite_scanline ( + .clk(nclk), + .rst(rst), + .start(sprscan_start), + .done(sprscan_done), + .x(cast_x), + .wall_z(wall_z), + .stmeta_raddr(stmeta_raddr), + .stmeta_read_data(stmeta_read_data), + .sprite_addr(sprite_addr), + .sprite_meta(sprite_meta), + .sprite_count(sprite_count) +); + +endmodule diff --git a/src/serial_rx.v b/src/serial_rx.v new file mode 100644 index 0000000..f0ffa45 --- /dev/null +++ b/src/serial_rx.v @@ -0,0 +1,95 @@ +// from embedded micro base project +module serial_rx #( + parameter CLK_PER_BIT = 50 + )( + input clk, + input rst, + input rx, + output [7:0] data, + output new_data + ); + + // clog2 is 'ceiling of log base 2' which gives you the number of bits needed to store a value + parameter CTR_SIZE = $clog2(CLK_PER_BIT); + + localparam STATE_SIZE = 2; + localparam IDLE = 2'd0, + WAIT_HALF = 2'd1, + WAIT_FULL = 2'd2, + WAIT_HIGH = 2'd3; + + reg [CTR_SIZE-1:0] ctr_d, ctr_q; + reg [2:0] bit_ctr_d, bit_ctr_q; + reg [7:0] data_d, data_q; + reg new_data_d, new_data_q; + reg [STATE_SIZE-1:0] state_d, state_q = IDLE; + reg rx_d, rx_q; + + assign new_data = new_data_q; + assign data = data_q; + + always @(*) begin + rx_d = rx; + state_d = state_q; + ctr_d = ctr_q; + bit_ctr_d = bit_ctr_q; + data_d = data_q; + new_data_d = 1'b0; + + case (state_q) + IDLE: begin + bit_ctr_d = 3'b0; + ctr_d = 1'b0; + if (rx_q == 1'b0) begin + state_d = WAIT_HALF; + end + end + WAIT_HALF: begin + ctr_d = ctr_q + 1'b1; + if (ctr_q == (CLK_PER_BIT >> 1)) begin + ctr_d = 1'b0; + state_d = WAIT_FULL; + end + end + WAIT_FULL: begin + ctr_d = ctr_q + 1'b1; + if (ctr_q == CLK_PER_BIT - 1) begin + data_d = {rx_q, data_q[7:1]}; + bit_ctr_d = bit_ctr_q + 1'b1; + ctr_d = 1'b0; + if (bit_ctr_q == 3'd7) begin + state_d = WAIT_HIGH; + new_data_d = 1'b1; + end + end + end + WAIT_HIGH: begin + if (rx_q == 1'b1) begin + state_d = IDLE; + end + end + default: begin + state_d = IDLE; + end + endcase + + end + + always @(posedge clk) begin + if (rst) begin + ctr_q <= 1'b0; + bit_ctr_q <= 3'b0; + new_data_q <= 1'b0; + state_q <= IDLE; + end else begin + ctr_q <= ctr_d; + bit_ctr_q <= bit_ctr_d; + new_data_q <= new_data_d; + state_q <= state_d; + end + + rx_q <= rx_d; + data_q <= data_d; + end + +endmodule diff --git a/src/serial_tx.v b/src/serial_tx.v new file mode 100644 index 0000000..5c37c4f --- /dev/null +++ b/src/serial_tx.v @@ -0,0 +1,110 @@ +// from embedded micro base project +module serial_tx #( + parameter CLK_PER_BIT = 50 + )( + input clk, + input rst, + output tx, + input block, + output busy, + input [7:0] data, + input new_data + ); + + // clog2 is 'ceiling of log base 2' which gives you the number of bits needed to store a value + parameter CTR_SIZE = $clog2(CLK_PER_BIT); + + localparam STATE_SIZE = 2; + localparam IDLE = 2'd0, + START_BIT = 2'd1, + DATA = 2'd2, + STOP_BIT = 2'd3; + + reg [CTR_SIZE-1:0] ctr_d, ctr_q; + reg [2:0] bit_ctr_d, bit_ctr_q; + reg [7:0] data_d, data_q; + reg [STATE_SIZE-1:0] state_d, state_q = IDLE; + reg tx_d, tx_q; + reg busy_d, busy_q; + reg block_d, block_q; + + assign tx = tx_q; + assign busy = busy_q; + + always @(*) begin + block_d = block; + ctr_d = ctr_q; + bit_ctr_d = bit_ctr_q; + data_d = data_q; + state_d = state_q; + busy_d = busy_q; + + case (state_q) + IDLE: begin + if (block_q) begin + busy_d = 1'b1; + tx_d = 1'b1; + end else begin + busy_d = 1'b0; + tx_d = 1'b1; + bit_ctr_d = 3'b0; + ctr_d = 1'b0; + if (new_data) begin + data_d = data; + state_d = START_BIT; + busy_d = 1'b1; + end + end + end + START_BIT: begin + busy_d = 1'b1; + ctr_d = ctr_q + 1'b1; + tx_d = 1'b0; + if (ctr_q == CLK_PER_BIT - 1) begin + ctr_d = 1'b0; + state_d = DATA; + end + end + DATA: begin + busy_d = 1'b1; + tx_d = data_q[bit_ctr_q]; + ctr_d = ctr_q + 1'b1; + if (ctr_q == CLK_PER_BIT - 1) begin + ctr_d = 1'b0; + bit_ctr_d = bit_ctr_q + 1'b1; + if (bit_ctr_q == 7) begin + state_d = STOP_BIT; + end + end + end + STOP_BIT: begin + busy_d = 1'b1; + tx_d = 1'b1; + ctr_d = ctr_q + 1'b1; + if (ctr_q == CLK_PER_BIT - 1) begin + state_d = IDLE; + end + end + default: begin + state_d = IDLE; + end + endcase + end + + always @(posedge clk) begin + if (rst) begin + state_q <= IDLE; + tx_q <= 1'b1; + end else begin + state_q <= state_d; + tx_q <= tx_d; + end + + block_q <= block_d; + data_q <= data_d; + bit_ctr_q <= bit_ctr_d; + ctr_q <= ctr_d; + busy_q <= busy_d; + end + +endmodule diff --git a/src/simple_dual_ram.v b/src/simple_dual_ram.v new file mode 100644 index 0000000..77dbd0c --- /dev/null +++ b/src/simple_dual_ram.v @@ -0,0 +1,76 @@ +/****************************************************************************** + + The MIT License (MIT) + + Copyright (c) 2015 Embedded Micro + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + ***************************************************************************** + + This module is a simple dual port RAM. This RAM is implemented in such a + way that Xilinx's tools will recognize it as a RAM and implement large + instances in block RAM instead of flip-flops. + + The parameter SIZE is used to specify the word size. That is the size of + each entry in the RAM. + + The parameter DEPTH is used to specify how many entries are in the RAM. + + read_data outputs the value of the entry pointed to by raddr in the previous + clock cycle. That means to read address 10, you would set address to be 10 + and wait one cycle for its value to show up. The RAM is always reading whatever + address is. If you don't need to read, just ignore this value. + + To write, set write_en to 1, write_data to the value to write, and waddr to + the address you want to write. + + You should avoid reading and writing to the same address simultaneously. +*/ + +module simple_dual_ram #( + parameter SIZE = 32, // size of each entry + parameter DEPTH = 320 // number of entries + )( + // write interface + input wclk, // write clock + input [$clog2(DEPTH)-1:0] waddr, // write address + input [SIZE-1:0] write_data, // write data + input write_en, // write enable (1 = write) + + // read interface + input rclk, // read clock + input [$clog2(DEPTH)-1:0] raddr, // read address + output reg [SIZE-1:0] read_data // read data + ); + + reg [SIZE-1:0] mem [DEPTH-1:0]; // memory array + + // write clock domain + always @(posedge wclk) begin + if (write_en) // if write enable + mem[waddr] <= write_data; // write memory + end + + // read clock domain + always @(posedge rclk) begin + read_data <= mem[raddr]; // read memory + end + +endmodule diff --git a/src/spi.v b/src/spi.v new file mode 100644 index 0000000..d1d15ea --- /dev/null +++ b/src/spi.v @@ -0,0 +1,105 @@ +// (modified) from mojo example source code. +// (same MIT license) + +module spi #(parameter CLK_DIV = 2)( + input clk, + input rst, + input miso, + output mosi, + output sck, + input start, + output reg ss, // lcd_ss + input[7:0] data_in, + output[7:0] data_out, + output busy, + output new_data +); + +localparam STATE_SIZE = 2; +localparam IDLE = 2'd0, + WAIT_HALF = 2'd1, + TRANSFER = 2'd2; + +reg [STATE_SIZE-1:0] state_d, state_q; + +reg [7:0] data_d, data_q; +reg [CLK_DIV-1:0] sck_d, sck_q; +reg mosi_d, mosi_q; +reg [2:0] ctr_d, ctr_q; +reg new_data_d, new_data_q; +reg [7:0] data_out_d, data_out_q; + +assign mosi = mosi_q; +// CPHA = 1 +//assign sck = (~sck_q[CLK_DIV-1]) & (state_q == TRANSFER); +assign sck = (sck_q[CLK_DIV-1]) & (state_q == TRANSFER); // CPHA = 0 +assign busy = state_q != IDLE; +assign data_out = data_out_q; +assign new_data = new_data_q; + +always @(*) begin + sck_d = sck_q; + data_d = data_q; + mosi_d = mosi_q; + ctr_d = ctr_q; + new_data_d = 1'b0; + data_out_d = data_out_q; + state_d = state_q; + ss = 1'b1; // ss high when idle. + + case (state_q) + IDLE: begin + sck_d = 4'b0; + ctr_d = 3'b0; + if (start == 1'b1) begin + data_d = data_in; + state_d = WAIT_HALF; + end + end + WAIT_HALF: begin + sck_d = sck_q + 1'b1; + if (sck_q == {CLK_DIV-1{1'b1}}) begin + sck_d = 1'b0; + state_d = TRANSFER; + end + end + TRANSFER: begin + sck_d = sck_q + 1'b1; + ss = 1'b0; // low when active. + if (sck_q == 4'b0000) begin + mosi_d = data_q[7]; + end else if (sck_q == {CLK_DIV-1{1'b1}}) begin + data_d = {data_q[6:0], miso}; + end else if (sck_q == {CLK_DIV{1'b1}}) begin + ctr_d = ctr_q + 1'b1; + if (ctr_q == 3'b111) begin + state_d = IDLE; + data_out_d = data_q; + new_data_d = 1'b1; + end + end + end + endcase +end + +always @(posedge clk) begin + if (rst) begin + ctr_q <= 3'b0; + data_q <= 8'b0; + sck_q <= 4'b0; + mosi_q <= 1'b0; + state_q <= IDLE; + data_out_q <= 8'b0; + new_data_q <= 1'b0; + end else begin + ctr_q <= ctr_d; + data_q <= data_d; + sck_q <= sck_d; + mosi_q <= mosi_d; + state_q <= state_d; + data_out_q <= data_out_d; + new_data_q <= new_data_d; + end +end + +endmodule diff --git a/src/spi_slave.v b/src/spi_slave.v new file mode 100644 index 0000000..3cba2c9 --- /dev/null +++ b/src/spi_slave.v @@ -0,0 +1,79 @@ +module spi_slave( + input clk, + input rst, + input ss, + input mosi, + output miso, + input sck, + output done, + input [7:0] din, + output [7:0] dout + ); + +reg mosi_d, mosi_q; +reg ss_d, ss_q; +reg sck_d, sck_q; +reg sck_old_d, sck_old_q; +reg [7:0] data_d, data_q; +reg done_d, done_q; +reg [2:0] bit_ct_d, bit_ct_q; +reg [7:0] dout_d, dout_q; +reg miso_d, miso_q; + +assign miso = miso_q; +assign done = done_q; +assign dout = dout_q; + +always @(*) begin + ss_d = ss; + mosi_d = mosi; + miso_d = miso_q; + sck_d = sck; + sck_old_d = sck_q; + data_d = data_q; + done_d = 1'b0; + bit_ct_d = bit_ct_q; + dout_d = dout_q; + + if (ss_q) begin + bit_ct_d = 3'b0; + data_d = din; + miso_d = data_q[7]; + end else begin + if (!sck_old_q && sck_q) begin // rising edge + data_d = {data_q[6:0], mosi_q}; + bit_ct_d = bit_ct_q + 1'b1; + if (bit_ct_q == 3'b111) begin + dout_d = {data_q[6:0], mosi_q}; + done_d = 1'b1; + data_d = din; + end + end else if (sck_old_q && !sck_q) begin // falling edge + miso_d = data_q[7]; + end + end +end + +always @(posedge clk) begin + if (rst) begin + done_q <= 1'b0; + bit_ct_q <= 3'b0; + dout_q <= 8'b0; + miso_q <= 1'b1; + end else begin + done_q <= done_d; + bit_ct_q <= bit_ct_d; + dout_q <= dout_d; + miso_q <= miso_d; + end + + sck_q <= sck_d; + mosi_q <= mosi_d; + ss_q <= ss_d; + data_q <= data_d; + sck_old_q <= sck_old_d; + +end + + +endmodule diff --git a/src/sprite.v b/src/sprite.v new file mode 100644 index 0000000..0425903 --- /dev/null +++ b/src/sprite.v @@ -0,0 +1,385 @@ +// sprite transformation pre-pass module. +// at the start of a frame, walks each sprite meta and writes out data +// transformed to the camera view. +// not exactly optimized; walks *all* sprites vs ones just available in frame. +// a much better algo would be to organize sprites into linked list buckets +// per map square. Then take a log of visited tiles during the ray cast and +// use that to index into squares. +// +// however, linked lists in raw verilog are time consuming for me to write, so +// I will do that as an optimization pass later (perhaps for a different +// engine). + +// This module operates in Q16.16, though most lookup tables are some form of +// 16bit (Q8.8, Q4.12, etc). Otherwise a lot of the math doesn't work out. +module sprite ( + input clk, + input rst, + + input start, + output reg done, + // turn data + input [79:0] angle, + input [15:0] map_pos_x, + input [15:0] map_pos_y, + + // mmap_interface writes sprite metadata + input [6:0] smeta_waddr, + input [39:0] smeta_write_data, + input smeta_write_en, + // sprite scanline culler reads transformed data. + input [6:0] stmeta_raddr, + output [119:0] stmeta_read_data +); + +localparam HEIGHT = 240, + WIDTH = 320, + HALF_HEIGHT = 120, + HALF_WIDTH = 160, + SPRITE_COUNT = 128; + +// RAM module for x/y/tex meta +reg [6:0] smeta_raddr; +wire [39:0] smeta_read_data; + +// 8bit sprite texture, x, y 16bit +simple_dual_ram #(.SIZE(40), .DEPTH(SPRITE_COUNT)) smeta_ram ( + .wclk(clk), + .waddr(smeta_waddr), + .write_data(smeta_write_data), + .write_en(smeta_write_en), + // read + .rclk(clk), + .raddr(smeta_raddr), + .read_data(smeta_read_data) +); + +// RAM module for transformed meta +reg [6:0] stmeta_waddr; +reg [119:0] stmeta_write_data; +reg stmeta_write_en; +// read wires? + +simple_dual_ram #(.SIZE(120), .DEPTH(SPRITE_COUNT)) stmeta_ram ( + .wclk(clk), + .waddr(stmeta_waddr), + .write_data(stmeta_write_data), + .write_en(stmeta_write_en), + // read + .rclk(clk), + .raddr(stmeta_raddr), + .read_data(stmeta_read_data) +); + +// inverse distance rom (for transformY) +reg [9:0] idist_addr; +wire [15:0] idist; +idist_rom idist_rom ( + .clk(clk), + .addr(idist_addr), + .idist(idist) +); + +reg [4:0] state_d, state_q; +reg [4:0] next_state_d, next_state_q; +localparam IDLE = 0, + MULTIPLY = 1, + TRANSFORM_START = 2, + TRANSFORMX_1 = 3, + TRANSFORMX_2 = 4, + TRANSFORMX_3 = 5, + TRANSFORMX_4 = 6, + TRANSFORMY_1 = 7, + TRANSFORMY_2 = 8, + TRANSFORMY_3 = 9, + SPRITE_SCREENX = 10, + SPRITE_SCREENX_2 = 11, + SPRITE_SCREENX_3 = 12, + SPRITE_HEIGHT = 13, + SPRITE_DRAWBOUNDS = 14, + SAVE_TRANSFORMS = 15; + +// shared multiplier +reg signed [31:0] mul_res_d, mul_res_q; +reg signed [31:0] mul_arg1_d, mul_arg1_q; +reg signed [31:0] mul_arg2_d, mul_arg2_q; +reg signed [31:0] math_hold_d, math_hold_q; + +// turn angle data +reg signed [31:0] dirx_d, dirx_q; +reg signed [31:0] diry_d, diry_q; +reg signed [31:0] planex_d, planex_q; +reg signed [31:0] planey_d, planey_q; +reg signed [31:0] invdet_d, invdet_q; + +reg signed [31:0] map_posx_d, map_posx_q; +reg signed [31:0] map_posy_d, map_posy_q; + +// registers for temp sprite transform meta +reg signed [31:0] spritex_d, spritex_q; +reg signed [31:0] spritey_d, spritey_q; +reg signed [31:0] transformx_d, transformx_q; +reg signed [31:0] transformy_d, transformy_q; +reg signed [15:0] sprite_screenx_d, sprite_screenx_q; +reg signed [15:0] sprite_height_d, sprite_height_q; +reg signed [15:0] draw_starty_d, draw_starty_q; +reg signed [15:0] draw_endy_d, draw_endy_q; +reg signed [15:0] draw_startx_d, draw_startx_q; +reg signed [15:0] draw_endx_d, draw_endx_q; + +reg [6:0] count_d, count_q; + +always @(*) begin + state_d = state_q; + next_state_d = next_state_q; + count_d = count_q; + smeta_raddr = count_q; + stmeta_waddr = count_q; + stmeta_write_data = 120'd0; + stmeta_write_en = 1'b0; + idist_addr = 0; + done = 1'b0; + // multiplier + mul_res_d = mul_res_q; + mul_arg1_d = mul_arg1_q; + mul_arg2_d = mul_arg2_q; + math_hold_d = math_hold_q; + next_state_d = next_state_q; + // angle data + dirx_d = dirx_q; + diry_d = diry_q; + planex_d = planex_q; + planey_d = planey_q; + invdet_d = invdet_q; + map_posx_d = map_posx_q; + map_posy_d = map_posy_q; + // temp sprite metadata. + spritex_d = spritex_q; + spritey_d = spritey_q; + transformx_d = transformx_q; + transformy_d = transformy_q; + sprite_screenx_d = sprite_screenx_q; + sprite_height_d = sprite_height_q; + draw_starty_d = draw_starty_q; + draw_endy_d = draw_endy_q; + draw_startx_d = draw_startx_q; + draw_endx_d = draw_endx_q; + + case (state_q) + IDLE: begin + if (start) begin + // hold angle data. convert Q8.8 -> Q16.16 + // FIXME: fucking up the sign extension! + // dirx_d is becoming a huge number instead of -1 + dirx_d[31:16] = angle[79:64]; + dirx_d[15:0] = 0; + diry_d[31:16] = angle[63:48]; + diry_d[15:0] = 0; + planex_d[31:16] = angle[47:32]; + planex_d[15:0] = 0; + planey_d[31:16] = angle[31:16]; + planey_d[15:0] = 0; + invdet_d[31:16] = angle[15:0]; + invdet_d[15:0] = 0; + + map_posx_d = map_pos_x <<< 8; + map_posy_d = map_pos_y <<< 8; + count_d = 0; + + state_d = TRANSFORM_START; + end + // ensure smeta_ram is ready with the first value on start + smeta_raddr = 0; + end + MULTIPLY: begin + mul_res_d = trunc_fixed_mul(mul_arg1_q * mul_arg2_q); + state_d = next_state_q; + end + // for each sprite, find its X/Y positions, as well as + // height/width. + TRANSFORM_START: begin + // Finish transforming signed Q8.8's to Q16.16 + dirx_d = dirx_q >>> 8; + diry_d = diry_q >>> 8; + planex_d = planex_q >>> 8; + planey_d = planey_q >>> 8; + invdet_d = invdet_q >>> 8; + + // sprite position relative to camera. + spritex_d = (smeta_read_data[31:16] << 8) - map_posx_q; + spritey_d = (smeta_read_data[15:0] << 8) - map_posy_q; + // rest of smeta is the sprite texture id. we'll simply write + // directly from smeta_read_data when done with the transform. + // also, could seed the multiplier here, but lets keep the code + // more clear. + state_d = TRANSFORMX_1; + end + TRANSFORMX_1: begin + // transformX = invDet * (dirY * spriteX - dirX * spriteY); + // need to set up several multiplications, bouncing through shared + // logic. + mul_arg1_d = diry_q; + mul_arg2_d = spritex_q; + next_state_d = TRANSFORMX_2; + state_d = MULTIPLY; + end + TRANSFORMX_2: begin + // effectively registers :) + math_hold_d = mul_res_q; + mul_arg1_d = dirx_q; + mul_arg2_d = spritey_q; + next_state_d = TRANSFORMX_3; + state_d = MULTIPLY; + end + TRANSFORMX_3: begin + // this is pretty much "bizarro assembler". + // final multiplication for tX is invdet * (stuff so far) + mul_arg1_d = invdet_q; + mul_arg2_d = math_hold_q - mul_res_q; + next_state_d = TRANSFORMX_4; + state_d = MULTIPLY; + end + TRANSFORMX_4: begin + // I did create a tiny cpu core, assembler, etc which I'd intended + // to use here to avoid exploding logic and reuse a multiplier. + transformx_d = mul_res_q; + // now again for tY! + mul_arg1_d = ((~planey_q) + 1'b1); // negate + mul_arg2_d = spritex_q; + next_state_d = TRANSFORMY_1; + state_d = MULTIPLY; + end + TRANSFORMY_1: begin + // The core used a lot of LUT's, even after aggressive area + // optimization. Compared to simply sharing the multiplier, the + // logic here wasn't long enough to justify using it. + math_hold_d = mul_res_q; + mul_arg1_d = planex_q; + mul_arg2_d = spritey_q; + next_state_d = TRANSFORMY_2; + state_d = MULTIPLY; + end + TRANSFORMY_2: begin + // It's also (surprisingly) a lot more clear to read what this is + // doing vs jumping around with an amateur assembly file. + // If it gets too complex, there are enough resources to use a few + // more multipliers an simplify it again. + mul_arg1_d = invdet_q; + mul_arg2_d = math_hold_q + mul_res_q; + next_state_d = TRANSFORMY_3; + state_d = MULTIPLY; + end + TRANSFORMY_3: begin + // using two multipliers would cut these states in half, for + // example. since this isn't too long and I'd like to port this + // engine to smaller FPGA's, we'll try to stick with this. + transformy_d = mul_res_q; + // next up: spriteScreenX = int((w / 2) * (1 + transformX / transformY)) + // to avoid the division, we have a Q4.12 inversion of transformY. + // taken from a Q5.5 out of transformY. + idist_addr = mul_res_q[21:10]; + state_d = SPRITE_SCREENX; + end + SPRITE_SCREENX: begin + mul_arg1_d = transformx_q; + mul_arg2_d = idist << 8; // lookup table stored Q8.8 + next_state_d = SPRITE_SCREENX_2; + state_d = MULTIPLY; + end + SPRITE_SCREENX_2: begin + mul_arg1_d = HALF_WIDTH << 16; + // Add a Q16.16 1.0 to the previous result. + mul_arg2_d = 31'h0001_0000 + mul_res_q; + next_state_d = SPRITE_SCREENX_3; + state_d = MULTIPLY; + // we need the inverse distance again to find sprite height. + math_hold_d = mul_arg2_q; + end + SPRITE_SCREENX_3: begin + sprite_screenx_d = mul_res_q >>> 16; + // next up is sprite height: + // spriteHeight = abs(int(h / (transformY))) + mul_arg1_d = HEIGHT << 16; + mul_arg2_d = math_hold_q; + next_state_d = SPRITE_HEIGHT; + state_d = MULTIPLY; + end + SPRITE_HEIGHT: begin + // invert if negative. + // convert back to normal 16bit signed integer. + if (mul_res_q[31]) begin + sprite_height_d = (~mul_res_q) + 1'b1 >> 16; + end else begin + sprite_height_d = mul_res_q >> 16; + end + // width and height are identical; stick to one register. + state_d = SPRITE_DRAWBOUNDS; + end + SPRITE_DRAWBOUNDS: begin + // find the bounds, but we don't actually want to use them + // out of screen range (< 0 or > WIDTH) + draw_starty_d = (~(sprite_height_q >> 1)) + 1'b1 + HALF_HEIGHT; + draw_endy_d = (sprite_height_q >> 1) + HALF_HEIGHT; + draw_startx_d = (~(sprite_height_q >> 1)) + 1'b1 + sprite_screenx_q; + draw_endx_d = (sprite_height_q >> 1) + sprite_screenx_q; + state_d = SAVE_TRANSFORMS; + end + SAVE_TRANSFORMS: begin + // could have done this in the previous cycle, but less clear. + stmeta_write_data = {smeta_read_data[39:32], transformy_q[23:8], sprite_screenx_q, sprite_height_q, draw_starty_q, draw_endy_q, draw_startx_q, draw_endx_q}; + stmeta_write_en = 1'b1; + count_d = count_q + 1'b1; + if (count_q == SPRITE_COUNT-1) begin + done = 1'b1; + state_d = IDLE; + end else begin + // FIXME: REVERT AFTER TESTING! + state_d = TRANSFORM_START; + //state_d = IDLE; + end + end + endcase +end + +always @(posedge clk) begin + if (rst) begin + state_q <= IDLE; + end else begin + state_q <= state_d; + end + + count_q <= count_d; + // multiplier + mul_res_q <= mul_res_d; + mul_arg1_q <= mul_arg1_d; + mul_arg2_q <= mul_arg2_d; + math_hold_q <= math_hold_d; + next_state_q <= next_state_d; + // angle data + dirx_q <= dirx_d; + diry_q <= diry_d; + planex_q <= planex_d; + planey_q <= planey_d; + invdet_q <= invdet_d; + map_posx_q <= map_posx_d; + map_posy_q <= map_posy_d; + // temp sprite metadata. + spritex_q <= spritex_d; + spritey_q <= spritey_d; + transformx_q <= transformx_d; + transformy_q <= transformy_d; + sprite_screenx_q <= sprite_screenx_d; + sprite_height_q <= sprite_height_d; + draw_starty_q <= draw_starty_d; + draw_endy_q <= draw_endy_d; + draw_startx_q <= draw_startx_d; + draw_endx_q <= draw_endx_d; +end + +// see cast_ray.v +// multiplies out to 64bit, then returns Q16.16 middle. +function signed [31:0] trunc_fixed_mul(input signed [63:0] mulres); + trunc_fixed_mul = mulres[47:16]; +endfunction + +endmodule diff --git a/src/sprite_scanline.v b/src/sprite_scanline.v new file mode 100644 index 0000000..b5e91d6 --- /dev/null +++ b/src/sprite_scanline.v @@ -0,0 +1,123 @@ +// module for culling and sorting sprites to be displayed on a particular +// scanline. + +// This uses the pre-transformed sprite data to determine if a sprite scanline +// exists on the current line or not. +// It caches data for up to N sprites, which is then read by the line writer +// during the display routine. +// This module gets kicked off while the walls are being drawn. + +// Note how this isn't generally optimized: this has to scan every possible +// sprite once per scanline, then sort, which is only consistently faster than +// the wall draw if there're < 128 sprites in a level. +// +// However, this is fine for this implementation since each sprite cull test +// can be done within a single cycle! +// A better one, and more closely matching the wolf3D engine, would have the +// sprite pre-transform sort sprites into map squares. The raycaster then logs +// which tiles it sees for each ray, which is used to more quickly cull +// sprites. It can also be used to improve ordering since map tiles can be +// examined from near-to-far, so you only have to sort sprites within +// a particular tile. + +module sprite_scanline ( + input clk, + input rst, + + input start, + output reg done, + + input [8:0] x, // camera X position + input [15:0] wall_z, // z buffer of casted wall + + // transformed sprite metadata + output reg [6:0] stmeta_raddr, + input [119:0] stmeta_read_data, + + // hook sorted registers into line writer + input [2:0] sprite_addr, + output reg [119:0] sprite_meta, + output reg [2:0] sprite_count +); + +localparam WIDTH = 320; + +localparam IDLE = 0, + CULL_FETCH = 1, + CULL = 2; +reg [3:0] state_d, state_q; + +reg [6:0] count_d, count_q; +reg [2:0] scount_d, scount_q; +// add an extra bit so we can do signed comparisons. +reg signed [15:0] camera_x_d, camera_x_q; + +// FIXME: use pointers instead and serve from stmeta_raddr. +reg [119:0] sprites [2:0]; + +reg save_meta; + +always @(*) begin + state_d = state_q; + count_d = count_q; + stmeta_raddr = count_q; + camera_x_d = camera_x_q; + save_meta = 1'b0; + sprite_count = scount_q; + scount_d = scount_q; + done = 1'b0; + + case (state_q) + IDLE: begin + count_d = 0; + if (start) begin + state_d = CULL_FETCH; + camera_x_d = x - 1'b1; + scount_d = 3'd0; + end + end + CULL_FETCH: begin + // load the metadata from RAM + // can remove this step once tested/understood better. + state_d = CULL; + end + CULL: begin + // First test is the wall Z depth cull. + // Then, if camera X is within sprite X draw boundaries + if ($signed(stmeta_read_data[111:96]) < wall_z + && $signed(stmeta_read_data[111:96]) > 0 + && $signed(stmeta_read_data[31:16]) <= camera_x_q + && $signed(stmeta_read_data[15:0]) >= camera_x_q + ) begin + // save the sprite info if it's visible + save_meta = 1'b1; + scount_d = scount_q + 1'b1; + end + count_d = count_q + 1'b1; + if (count_q == 127 || scount_d == 8) begin + done = 1'b1; + state_d = IDLE; + end else begin + state_d = CULL_FETCH; + end + end + endcase +end + +always @(posedge clk) begin + if (rst) begin + state_q <= IDLE; + end else begin + state_q <= state_d; + end + + count_q <= count_d; + camera_x_q <= camera_x_d; + scount_q <= scount_d; + if (save_meta) begin + sprites[count_q] <= stmeta_read_data; + end + sprite_meta <= sprites[sprite_addr]; +end + +endmodule diff --git a/src/sprite_tb.v b/src/sprite_tb.v new file mode 100644 index 0000000..f5dd6d4 --- /dev/null +++ b/src/sprite_tb.v @@ -0,0 +1,77 @@ +`timescale 1ns / 1ps + +module sprite_tb( + ); + +reg clk; +reg rst; + +reg start; +wire done; +//reg [79:0] angle; +reg [15:0] map_pos_x; +reg [15:0] map_pos_y; + +reg [6:0] smeta_waddr; +reg [39:0] smeta_write_data; +reg smeta_write_en; +reg [6:0] stmeta_raddr; +wire [119:0] stmeta_read_data; + +reg [6:0] angle_addr; +wire [79:0] angle; +angle_rom angle_rom ( + .clk(clk), + .addr(angle_addr), + .angle(angle) // 4x Q8.8: dirX, dirY, planeX, planeY +); + +sprite DUT ( + .clk(clk), + .rst(rst), + .start(start), + .done(done), + .angle(angle), + .map_pos_x(map_pos_x), + .map_pos_y(map_pos_y), + .smeta_waddr(smeta_waddr), + .smeta_write_data(smeta_write_data), + .smeta_write_en(smeta_write_en), + .stmeta_raddr(stmeta_raddr), + .stmeta_read_data(stmeta_read_data) +); + + initial begin + clk = 0; + forever #10 clk = ~clk; + end + + initial begin + rst = 1'b1; + repeat(6) @(posedge clk); + rst = 1'b0; + repeat(2) @(posedge clk); + smeta_waddr = 0; + // texture 1, map pos h12, h12. + smeta_write_data = 40'h01_1200_1200; + smeta_write_en = 1'b1; + angle_addr = 0; + repeat(1) @(posedge clk); + smeta_write_en = 1'b0; + //angle = 80'hff_00_00_00_00_00_00_a8_02_f0; + //angle = 80'hff_00_00_00_00_00_00_a8_01_83; + map_pos_x = 16'h13_00; + map_pos_y = 16'h13_00; + start = 1'b1; + repeat(1) @(posedge clk); + start = 1'b0; + repeat(400) @(posedge clk); + #5000 + $finish; + end + + initial begin + #500000000 + $finish; + end +endmodule diff --git a/src/task_crossdomain.v b/src/task_crossdomain.v new file mode 100644 index 0000000..6f61df5 --- /dev/null +++ b/src/task_crossdomain.v @@ -0,0 +1,31 @@ +// taken from: https://www.fpga4fun.com/CrossClockDomain3.html +// copyrighted fpga4fun.com & KNJN LLC. + +module task_crossdomain( + input clka, + input taskstart_clka, + output taskbusy_clka, taskdone_clka, + + input clkb, + output taskstart_clkb, taskbusy_clkb, + input taskdone_clkb +); + +reg FlagToggle_clkA = 0; +reg FlagToggle_clkB = 0; +reg Busyhold_clkB = 0; +reg [2:0] SyncA_clkB = 0; +reg [2:0] SyncB_clkA = 0; + +always @(posedge clka) FlagToggle_clkA <= FlagToggle_clkA ^ (taskstart_clka & ~taskbusy_clka); + +always @(posedge clkb) SyncA_clkB <= {SyncA_clkB[1:0], FlagToggle_clkA}; +assign taskstart_clkb = (SyncA_clkB[2] ^ SyncA_clkB[1]); +assign taskbusy_clkb = taskstart_clkb | Busyhold_clkB; +always @(posedge clkb) Busyhold_clkB <= ~taskdone_clkb & taskbusy_clkb; +always @(posedge clkb) if(taskbusy_clkb & taskdone_clkb) FlagToggle_clkB <= FlagToggle_clkA; + +always @(posedge clka) SyncB_clkA <= {SyncB_clkA[1:0], FlagToggle_clkB}; +assign taskbusy_clka = FlagToggle_clkA ^ SyncB_clkA[2]; +assign taskdone_clka = SyncB_clkA[2] ^ SyncB_clkA[1]; +endmodule diff --git a/syn/.gitignore b/syn/.gitignore new file mode 100644 index 0000000..86d0cb2 --- /dev/null +++ b/syn/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore \ No newline at end of file diff --git a/texture/LAB/door/door0.png b/texture/LAB/door/door0.png new file mode 100644 index 0000000000000000000000000000000000000000..ab6be01a76f236d873c83daeb25661e2e204949e GIT binary patch literal 712 zcmV;(0yq7MP)00006bW%=J0RI30 z0RM@=FOUEL0)0tDK~#90?OHKw+%Ob=E*iQ7yj(FH0aLuiL*ZyWWNFBCO2)#q(4jxz zAl)v|j2SXyNVh_VKq=H2yP4Eo1KDo44h5wMOsa7YJlObp@}_F<2Acrj9PQKF3~q+$oRLXi8|?6Aa?gK+ z0O00007SNklz+U2M5k% zId1(=15TE92X_(SvWkGs%rt}O2WKnT&c?d$6Sqt=Msxo0J?_x@ut{8r+; zzx6D%`EotBA=wMr6Sn6?fiZ-9CPoqiDk*K0_}p~ZL&$AoF1u007(!^n9S^e$Vx7es zz=5alJ`GOD^MHXqa_DYB(=DY%x}_YaKd-FB1^TmIiG4^0Vv`KSCanV&X&o4+ zKa1@26f(?YP@s3(NGu10_Wwo|bWQxMX>^Gs1F>1WfsA?uKVC_VtQefUIV`VmzC O00000007XNklpFe5Z&Au1o{IG7>K1z^k7KmV8f1GNHexH)EyE$UBgb4_k1XcZm1KWCJ z$yVi9TiG{yz~ijFPkM<~TCK7w%MzB13;=`>MC?*Z04R!rh@Ua`g^2pou;QG@?!)D% z>r+h8{7-_WLI{E$1674j3e}-VboTX|F>h^V$#mefc4pBLIj-K3u;RMN!u$ zybh7P3BV099o+nF0Ep%&8VLZhIRmWG-af@DlMc=|Zvui;4fgw|$H)7Yr|q;(j-?9y zHGgckTm2(a1+Gf;^4LbhGBgDlCB5Dr2B=D0Tx+l$MI&W%md#l=8Zr#8P7q^&kB#HY zym}oUu3rJxqr3vlLWbAX?Qgu1cVFE`yScLb2>?O}rPTBDAB@wfMqxQ1X#Y3bg06}GYZ_f5l7QG)ynu{)1wh#K>QMLxF_iij T`d-9M00000NkvXXu0mjfL6kS0 literal 0 HcmV?d00001 diff --git a/texture/LAB/door/door_red.png b/texture/LAB/door/door_red.png new file mode 100644 index 0000000000000000000000000000000000000000..c310db5666c1a02a81a38e70912520698dee0548 GIT binary patch literal 675 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%0Dve202GyQ&dUfsR?;tBx?Cva#hxoN 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 P-2;F@+nSM4w-f&l4v-{F literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun0e.png b/texture/LAB/guns/gun0e.png new file mode 100644 index 0000000000000000000000000000000000000000..0f7bff16ec8fd8b4e8f66e9be22ba8a84b82023c GIT binary patch literal 1249 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5VmO$9B%k&lP9Vir666=m@E^$f-+4fP0s{lf zG*1`Dkcv5PZ!gTh9U*hzWBhVvW;QlPRz^0qht>uG1(!s>+3%3cTDo$>trJToHeT+X z!&SZ@b?^TN2M(yozVKva=M!U*U}0gAn3DcrslNXC^L}sCHcr0(eeo(U8Fk(twV!3w zZD*VcVOSft z)t!5CpUzycnQxgTGkIw&u-jnBO#;qa^aWBKhG}KDUdI3KYDkT>!GHG zT=owSL#w_dC#~mW+dOgZ*>&cR;@JMG$Q*lRJ>`QK%fq*uq@sBb%&oKjb?gw=g@lgN z;_afM;mnH6tlPd@9+>pfTxxG!yXfQ5;-GX$evjEUHtUC%-~G!j7g%hWp3An{W73hmQLp#CzZA(V%X8p^ zQODyGb*#=A3F)#vsjvL@KQ!B*c+_T{|E}E}5<0BE)9a*4EM)f8|2OPQ7WBNl<&WO$ zhq~fQMYYxWdOOyynfs_VOhKto-^l)%mby>*IquJ&-tT*oznRgz`M1SJ-ZkC1n$msO zFNJPwyjdo7!}slf_Zib0H%?15<$u)oZ<+Li&yVLmW-ll#)b#Im(B11=`aVypK)f-X zFZ}8H@+ZcB*{aEPz`n^&{Lim;6^Aqxy z?OhmOcz1@6TB^CK=cLq|U*G=y`7(R=#&_j^yD$I$U{GdXbgu33^Z6NFk2QW6-mGbl zo8m9$%REQ+)fxu|aq;Q%?c;YwuX?`EX|1!Su-hb+{dfOV$5p(HDa>lVoL_&N$LwQ# zn(H#g$|$ZA3!0~`VMzNj+qY)kbMNnk<(p^Do%^?__ILkojuTmjqs;yuyIVg~r|$QQ zncfF4xjM{YYvHlV^kmo?cc|IjrE=bM-?}~e}(&+))83j+S z^UGXd?d9Km%~mkw`}xmzWFI|xe8j(tKj~e?kN<~G*B`Y%eS7|+wMVc2d-Uy*Gwc6= otzE`WpKGhQe}8zk!+Ia{tj3EuhM_C314}9fPgg&ebxsLQ0KmO8Z2$lO literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun1a.png b/texture/LAB/guns/gun1a.png new file mode 100644 index 0000000000000000000000000000000000000000..3af27d5c4971feb9219b6ee6c9a1bdf3ced26954 GIT binary patch literal 1534 zcmcJP`9Bj30LF(F7G^AELJ8%XBF$>eWD|Oc&6%@8a=h;AWsa3&q}-L}db8Q)`fRS; zVv;6uCsQrAIr{JxDZJi4;{D-yp6?&Y5}71_A&8lICVu{6V_>Co$mz_s_tA z58`kb-iiR&KcIbbr*0+y0IW5~8rw!uR-d;O&X`K{1n)H^i03Nb*DzMpzU&zO<;bkm zz|n2JlnNCqzE_B-v#^L&IW!gwY z992SFj%aV+^Ghl>)C5!S!3-RC+I63*+wur_3*zTU*R8om-TnHA{XJVv=EgJ9fU;Cd zH@^gyP7k6$z=k5-1#H`Z7+rompNh-wca@+`I9vV3s zxY<6K=deVZ++?0F}Gf z#^X$#J4Sz>qCOZX&wV-AIF+IBoW>9oplPbrTXRKRsXlxs;r*4-4J_wmDxIl$*<>Ac ze*F-2$Hl98Q_L>=!=KkZ@#PaE*0ot%@O=@^C>v znrDI}o`oata)E60CHx9g2iVSNtrzfW|Ivol<49*Hq4Su4?3~796)4;fUwV#j3FBdm z_ommoOSt*ikqbQY2LpXyi_ZEvZJGIDObkA0wnPa0^%xG6HPkX(m{m-&x~?T7adNzReu>a$-o@AS*!qPsQ9F2tjyvfZM*GAoHVHsMz-L-SY zQU|S%A9<<$fJDkbtGgEISr?Vq_IBG&rH_nEtt~MRy)s2O>^>A3(|NbR<`HabFo`dW zgF-sNeN{fIx7IR^jj_u1I$AHhl6VADZYj7*U_*4&FA|Wd$<10JGWEP{IAn;;7eTy= z5zlv-4&kg-n$slY2cdaB!)4o8bI-G7PN#h?LIpK!K%UeBTC4G5?Q}$ZxPyeD4Xi3G zANZ)nbDQo;;?9wtzJw&rM@fOBGwOy@957}dqQ8vEmP?Q*-(enZw4efyC4;&_vu+XR zc8S6$!U=zUVET=4_oFht`{X`75m4%zgi7fYS2ZI_@@uM$=tN|3ChGcOR1$Zz{;{Up z5W;PvWiTzc)2laFwKS_cNHOoSZ-?H3M6cae;RYh9_6l%HIV_O1q5t|(tn=Di+_!V` z@{%Ro?%5e+@!(oTeM-TFSj>}YY{tQ8r`3vivO&L)M1;Gd?g&RGHkrg3do4QD_0>{t z=%P=9DIAV;8rAz4amQ>!I~vk&5V5Dunz&L|h_0TrPG&l)wNTtKShqBzis2u8s`Nr- y2d_x9XPlyiu z!bKL4ZuWBNcLW!kD_>!B)+rlRn3ZoL_;rG0D7+z*vjc%s;_OPQ+=!bt3kA!gY@>kpjQ3KqrRh^lYaMQHVT2+Z&|DkfXRZ;tY9*yqM3kI zx=gV&(!em85DjKxgEIgBffERgA4ntF#fo;B?EehdJ09Jy6VZ|#)r`PCh$fAqjW38b zP7~AcA%LiUV9wO)yZ88a^j#y>Iaj@x_##c&N_-cWsSmFj1g(X0l3@ezBXRRO2b6g|@d#E0g&x^U)QHDu>Ix~3-xH>InC;{_>lq7ff12uP+ z${B^`r8i1$O%P^Tv-4H{KH~ifodqx2IHAwfvO1V#M3Mu8Z+_Udc>2YH8U+{hZ0;Hq z7Cc6p(0$pg$h$T^1GgS+<5sj@y-)ghdr#MHK5QB!q@?A?oL ze_PrS{72ZZ*#MF{9kvkhfD()e84P$ctnOOK%#X~tXQ+efUU6H1XJ@_$XD-%DX&!ia zX`me*w#_*3c)GT+3+Kktg}Zn?eOf+qLd_Da%1|4bS+MLI06!}eZkaF`l|gsdy?T2P zJ*PlsXr^%?s|6Bm>SVnOAR7Wa3?(|RF8vjV)T>ta|EG7ybqvStcV=N6}fDgE} zR*y*CS&6E-h?gNFIH0F9@A|W9@H8Vk*E|GEtzUW4ou)N}8QuK#nI+WAme$e13ha~I zMdLr6_^l;SLH)()n^JW7Euk2janhd}0LXFEB^FLJZZ&JRkB^`GTKx~4EW8OB>K?m3 z428@Dk?HPF+FeDos@fA7w^s$iT~9U1KwIL=2TXn9|0iU{!h z$3l}&sehc0ME8ac9}lB#U;l7jhtcODCQ*(DBUR*=4*C%fYp-y@c%`1VUE3RGdC!2^ zPfmp^J5mTD@0R`=*1h^qLr+bOsruqKQs@)*d4fO~H@#eA$Hax<*0!J@&qQ#ut+ONf z#6k3(88>==7e(lt69&Zda-T!%%xBArBF}3#zthH4FB*0vL>^7-UGK?lI4WMdOOuDc29{8VjMGauQJ{ojkkQ_0q%>IV8r#ccz~m>Q+7g{-Z5}QIicl|D%pX)tSiLU z9qE}sEN{;jbiRgoX`JbhVlu>@=dj)6L2Mb8QA@E>S6cC`<}1t=*HgWycbi({|H1!g z7yBssqDf9>jP!n$-O88+YG7D0o;x)^A~|Xm@daspo<&IySvNwX1#=Lg9X+`!9zJi! z;g_(Ir8(Cfauxt#Q)82TL4|U$ z>QZ0j%x!C8XFXPT7X5NY6ZJ$o9{C-Pg2J+@)VuAEi|ed$@%I%ssb3{c$<<0+uSQ@qh5Xel4tE44Ns@VID24c zQ80+7wig$yDdE80x-DHc#Zt=1+LBbxm9(ibEGm0*`cv=`9-SyqYBc@6U=sf2n=@?f zmASIsZ3XMTODG~Y<$+urNZs?2qq*3vLaPc(*pniCg#LUb_jFB?d?(@dqd50<2dTn}mz@FCIzm(9fHj*S^G(Zh5|<`=Z}Yzo=c}mJ=+{`L%k^B0hF` zNyQ*CC)(Y}{yq7Ti5dQ3b=KspR3J?$PQ9qNDcS7S(Vpj(@N^@hZ&X0K_@Q#6H{?cw zi>B(Q{rG)FWnUO&yJ^ol`3{w*;drLmNK3Kz)zEzva=^tONGT4t#vDI2L67 zVwNv4;ckRQ>#U|FRg&)_`unhG21KSHX!gB_pP%({E$zH+BVSd@pz#KFYOhmCN?(Y7 zXZb|c`Om;N<11mAvE-lB0!7!2t`tv4Pj1p(hmtBqx~C&aZrwUeuvabglpRki2*@u? zZAGD8yPRL3A8-@bE7t9x*k((lzrxAiiHWCXgWi~XJ7zcTXJYv>Rc|*1H_4rx+Dtpo X^Oxo$rZgJQ76yPqS{lDIx)=Rl?(rNh literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun1c.png b/texture/LAB/guns/gun1c.png new file mode 100644 index 0000000000000000000000000000000000000000..c82c71e33f6052d21a71ad851aca951bb061850f GIT binary patch literal 1505 zcmcJP{XY{30EZVz&FjpFlb0Q?iMeym%Zd+Y@;r@;Dg#}2COG524%>w{rid>NPxTMm}5?=ArW%;b=G(z9Wkq0m648@{zEX1}< zjO;2frFZ}js@*o@QcN;V$OZK&j-TkR&;wLCXA7Rz+*cs5Z;ZaTdS4iVq>fmteKCV6gq8;j!%KU-*1q zU@{QI>+Nlb-oL-}=@I5bXJq;SP~We_gFUN*q{oh1FRg!pl`yyS-I3O-98T|c8-H+OKg=wN|`p@+x$3}uwqZ_cbXyj+ZhfQr z{GkO1UU_?9$tcUV`>BSj+6@9ZeIqbD9^#+h#V(nO#ogKu$8OQX8YUoAythXo7^q?b zdKa02W2KQBRHr67v5srtXCrVw=|$3)gs#_e{4nBtt4V7xDnvU%gMXa#a;?` zhB_QplKqP{tAx}J-So3uQLxQ7wp!bSmeDQHy_RRTje|;Hll_y%RENKGqr~pu-Fkyx zh2)ynv6^Y3=1shXnS>~}8*_fAt;huIlhoh-+zK@!#s?s|6L}hP9mcmaGjna#0s_s@ z-`+7>yvbHx75`xRzIG^4ZnkWjR$`qKq;P()Cv{1-hgq|s(fK|>Y!nZ_g% zTUmL@Mw88J4x*bl9Se<#-!mgs;uD4XH@F5^XeCiVA!Qz@7<0RbIq&cV?iyxWu#w4- z{6(+P`-Rm_cg^lpfnvO#qX4Sx5KGwchR!-@hzb3|fc1O<{_R3eY0Y zxFQX-9a1wy=HdqYP+(>bU$*M#5#1L0PA$L)HCw5;Pubj0Mf0iN_oRIjw478lt>tIE zdY&E?T3-(##LvUhu~rvr8Djebn0MOcjbY9*n{ZO8j5Z1AyyR|MzI(XQ&&{}*`;YD2E3VgU|8`Bg!b0tzDZK#~8r$QKecKp-;7e^G5 I{c}*}zt4lna{vGU literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun2.png b/texture/LAB/guns/gun2.png new file mode 100644 index 0000000000000000000000000000000000000000..fd58383b731951ac5438650d9ddd96dc31bc79f4 GIT binary patch literal 1615 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 JPDHLkV1hE#Aa(!% literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun3.png b/texture/LAB/guns/gun3.png new file mode 100644 index 0000000000000000000000000000000000000000..8acb06bd063c91dcfb2ed37da750e2c2e34f7e69 GIT binary patch literal 1036 zcmeAS@N?(olHy`uVBq!ia0vp^F(Ayr1SE5MUHO3&TS<^#FvEW!>wo6~{Rs>V%m+PP z978JRyuGv0d$yy*@sIId?A($}r4HsgHCk`k-A2Q%E=-Hqkn z&Rn3g?ZtBcUx|_jX5aoAxBhv}s-|#;cORF(F-%=z;A#^zEB+OOkPdT$wU^wi#63r> zf;?O_mrnU~bAEFwLwyHa#{PbfN|IvBAJ%&r= zUerf*@-NLp6VOn|0{~zZxxBa=Z@oLG{{~TYd4&9SCJe6}Z(Mjpc`}1qd zf7T|sCbn}*S1+1r;a<4uuPDm>&K0GIk}q)!`>8*}0eI{gf18h!IvM;KSjany&2_3 z46m1$SKrn4sdiSd_p!UT>g@acx4zm;OBoNO1Vk|(`x7l3?)0y_VXfOMoh>WM)Ro13 z7Hm|q?iFR2Ej@>0Y1?u0$lq^-96mp=xHIul$CLGfU#pm6E_}Q9^Xd}iHzr|S788UQ zMz3;fR*ew}Ync~u?e*>S-8&oQ+npCY{7`6dpo_sk^1&sAh$&&pxlWhOI-ks+diPva zZO@s$?u)YzsPL&@k`&YEO1JVo(OP8jK+`Df#q=kSzFKh2-?sk53j@a=8g@^oCvs~B zOu3uaAEvtPk4a*2%qgR%{qh=I(bry!Up`|Q*CT1d-zR8y>gm$e0Y1)p#xE{-&EIy| zb)#{{9oE*(E4Or9Iu`_V-I<3$>m=6OU2C1|)&Eh{*?pnB-3{%F{|h;Pg>KUQzm99K zT9H`k=XJqT+D@JbueaiRDkQ&;4qhRkiio$y094LF?76eAjSSznZ)E;m&FI ptU4H4??r6<-)mAU_I}c9{fmn&81;^)d;(@_22WQ%mvv4FO#t%u#pwV5 literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun3a.png b/texture/LAB/guns/gun3a.png new file mode 100644 index 0000000000000000000000000000000000000000..8df54560e436ca92488d03f18d8aa48ebbf4cffb GIT binary patch literal 1064 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 Hr-UW|OVHC7 literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun4.png b/texture/LAB/guns/gun4.png new file mode 100644 index 0000000000000000000000000000000000000000..ee5073ba645a5c2653cd148a034346afccf620f2 GIT binary patch literal 4067 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 literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun4b.png b/texture/LAB/guns/gun4b.png new file mode 100644 index 0000000000000000000000000000000000000000..708baecc9f0b2abe7993aaa8b857603e80abeb7f GIT binary patch literal 9280 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 DTNOi+ literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun5a.png b/texture/LAB/guns/gun5a.png new file mode 100644 index 0000000000000000000000000000000000000000..b037b3a14586cea4ca3ff8187a3eea963d5df784 GIT binary patch literal 1448 zcmb_c`#aMM9R6~08*;72+FVxI5KAb8CKe{uOs>sZPf9q%=F&_;Xs)?uZV4epB#Mr3 z=F(g?G1uhIWRr449FG2n^TT_2-uIW!^ZDU@c**{}G)Nf)0D!cOwIyy(-G4(|c#nM& ztz`B@l#H`?0CxA>?!yndDF7gH)y5Ky56R^-)RJc~iV;I|k_Yq2V*3?y75&8|S2PZv_RnxFFDxW#9e{}=#GS#ivXg1TQXo;VlsLG$|3K3Q zMK8417}8NYNuyus9Ue(&ru~@jIkL433H#$3W5ptP5~+>@TY{pjugM~%)E}UWQE`f* zk6Km#?=WToJwaI$z+v6@Hs4;L_U%iNFGxQc2IXkgHVreCa&q2m5>VJQhJ6k%YD_mogT zZhn{+Vz?~&AcVWkxVHjVF1G8mgCS&+fU?2P)vI3ZLYrgmK2~7b6qCF)-F&x+C4SH8LGr(3GI!*C)8v3S{9z{J zpI!%Ng>~bw#h43k@jTh5ZHbB?g}rLpw<>J=&gpIipkaq!khWgCl1sY6${e#Mbf(Aw z+4k-2!$bEzQ@)r3;;JR?7&<1g+3IZLCKn$vC-7_d>n#w$%VP43N1iL{MFvBdC#Xsl z5AhaB<0zz)agRLEK%;~f5qWh*C19^RH=3w7?AsPt!azFx9UsO?Q*{6STHk_rHgrtf z>dB8YXmov*j>+;7&X;dS1LBe*EE^si*Gm{bLmC^*>G?Y>5@ve#Vq1rFT91HyE|V$Q zE?fwB7Ql(Fk)#aOOh; z=tLvOqCER0UH{{6j`e2FX=i9|=;OK=kMmE(V(JZ8HpO-t*SE2RiSLbU?xJaiTOR3O z$)H%f%eTrT57M({_~d2^DlehRPv>Jsj4R!(X$Bo|XHZd36S~Cg_Ad8$x!Z)BWd=q^ zrof#rP%Ih_Oxix#3LXm4gbG%t^IMM^z^H^A1c;W9r4uWYsC-CSq>GvHlNrA~N6px5 z)bOm+-r31*4oe=I^kc_A)>>;R*XTHALo^?JP$~%j^>gCAXdq}%HKN4!2PwICItgzy7Pfew zxBhHvIv}0I5=b{17jnt$FtSf^!%6#mjR7YaZPU@pyJvC;{l}bT`z}M0QX?@<(YWus)^B1c5b1hBbm)iLu=!TnXdyh_MmE!xO4Mw&68N)LoyPo`dU6V40 zaevAu5DSiB!vymskZk+_XWsCUXIB)*l6<9U%B==tSRhsbUYhM!yFf^qGJlO7;?TO| RYW4;fu(7hYd}%?9{10*!qFDd{ literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun5b.png b/texture/LAB/guns/gun5b.png new file mode 100644 index 0000000000000000000000000000000000000000..871f41411117ef45fcfc0d0925bdf0be12b1502d GIT binary patch literal 2035 zcmcIl`#aN%AOASHC6}!c$q>h-#c7V)5eZH1qvbG~X472GXkDh7pXvav!v`Vken>YJC2b`D08~8O z5vX0p{BIS1+QsPGu4=m^Pevin0@B?}n%;Db4gd<}9tdauIMz}=pQKLEYA<@1g2WNA z1p1LEZr&Z7bpbjCLZ^3>^y&&gYTUnWDtPlTtv8dYTB^FNxJ4>LP2+^sUHvwE zLgWRDbI@vm3}^G&^^ZvAz{W~<9YwNK``LUXUZH!tvy>vCi0;RWmL2$OKk_=Qie>V{ zUzd(h6~N{hvj5Ma2@!jd5u1&9aZVkj8}Us4l;QjGN4aEJss8)aECY=w#@p;UV};XW zP40|PJ6^i~u;*QN8YQfd#GgJ2(CzybkrDp+S;r;2E@MrKn1;Sb23cK!D~-Q~sK4Pq zW=H#j-J5e>rk{uM92b;L+V^1_Xz6@L8)ZQ~bi9vyD-%_VrYF;S;&cIJh01o)A~bnqzD# z{lWEo`H(!S;0y)ZNPd5qdC%#P#BFX%mAEYEC8e-xNA;duDeQ5R!#KsK?Rh$dY?+Kb zer&GK7GCv~WWpilynD~ZY-c*GTe#+x2qTPBluk>Z$zMp|jl@~$hpjK;*^$P*L9Atm zVQ~xTPNfn5u^X@}&HJr_0oQxe_=p;?=;9df#LH=aP8mS6ln^ z0xgyrx-?q5rfKK2OMc<3ddJ9;{}&2E0u;0F;l!cw!hF5NHE#b6*GKviY8Y zvIW7)s6*cwTH8DBzpO*s57U0Ta~75ZFG2;wa(-$dXWJZ1oA5DC5kn+`VO!6|8zDuS z-LjW;+Igx&v(1e*=B#q%*u*NA_Q*Ptz5s?bdQ>m@N)g3|0ArL}sDPeZo{pM$?q!w@JF3J=U~qUNGDIgU-jt0KJoc0G z9BCi6%}B@06>vNh$Jx%J=F0tA#^Ia^=OgI%s>J7KzDR3U`k++%q~^)qQSPfKqWmm+&HY84xQsJrLR^Srf zJJ!rzhi#S$z-(yD#Te!wN6YPrpo+`S%IxPn(Mnku>KQ!9`P9}4_J>Qv87Kc`h>4j#3gktrte#~L>h0jg-l z$w6x^XEz8Vc!=z6KYd!?CCff?kh;Gt5O?OI-|F0$W56pCAGEFG=VS`wV~K39qZzIw z%eUlyO5Wf~r72NG&nAs^ z+dH)u@M6vfnKe>mHIjWK(h&6Nsyg8ec#`&x}&M_&~cJztB3b7;b_R0!%h51*Z*-D;IKjVx?Q zQm!EhGjE-a=??mgJFl8X7!t%)1$m9Tv64pdF&Zo3oZ?r%XFFA#J#KLTAt;B~7%9OF zT3-jeUD0h$DjjI{Oo8+oo$Q<`31Y@heoHmD$ke38)D0Hge<+Tw@axNN;dxARJ%m9;|{ALx^~C%xY>419qbqT=p93_)kw1 cyDNNCO|DENpA!m)?f!1S!xf2m<`R12UrT4nh5!Hn literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun5c.png b/texture/LAB/guns/gun5c.png new file mode 100644 index 0000000000000000000000000000000000000000..dfe1b5ca5c84c23b447b6002d7883aefee51d19a GIT binary patch literal 1418 zcmcIk`#aMM9RAK_vJg@BtcM(w7DX{jPSc#R5vs2_QPJFwl!N1hhnW`Twxot!+Q?i+ z2ua6v!-gZ8T+3uBm)zzuxrL)Y;{5Plp7)3M`8=N=-uO!nctscj1^|Gf4FL!4>h+)4 zBel!7Xjc1n1sVc6I08GnZYQ2&_y_=GEo^XDVp#TER{5V_t<|DOogh#-C>$;WcTV6^ z39jE@+9(qCyvQb0be?Oocb@clOI{9km7NNM!9ex`hf0;byZ4|$;1TJ2R0vdB3W}?x z)kylsarze^^XkWsKT=cZ-ZI*P30jpMv~~$HDFq+?A0E+Ob%cQJfky zrCAGv|8LN0d_MJsu8w|1E65nja&M6-S?W)bD*4hd7 zKkssX--aLy7E@9P?t4^`xJXk)b0Cca63@mHslx+PzDp8$q%2Lh_kys$B;S_Fb2Rg^ z$Ld_p7U^fWfqgMYyjae8gH4p+0*SU4^a7Q(_+zFPRV`Szy2?yj^$ zj%%X%bnkF=9z+kLtP74+v2FES(mn^IdB3979e)->Cd!o{`EZ3Nl?Dx8l$lUOUm6LV z_DPLC-46FmV$W>oDxr!_cn;FnZXwvZ6hFv$WNiFzT#qC!ZR}*F^@Cyqh&B&#d;V^h zMl0M?Y<)Pbr6@M-Utib3rv~#bLY~4>+2ITlisxgj__7LAM(+%uvG;LFR~;A7%wMKDB{X=< z4$uPQ(SF-Mw!9we0f8&S7I=-xArz0E#YmKPYk#ByIKTDf57kgclq@j79lv!hy8_6|Z?^d{G1A0CfQ5{+1&8m)bvNjUPgUGYhApI;il>B>sfk?kxZ z!+3;b{V!Ykf7vn({eerz5qH8`3E;~*v0n@)dgoqCYsha0XDcq5tG zAZcB&qde5SB+V+fqEg{>GkLdVyPu^KdA&$55gwdGGW$K(^=(%9_=`}@>~q5|H=P2} zU`JiPTlE9}%X6KVSq2lvKkVIv@b6OoA^6Dwy7LZoi;jdT+P7FPE`^x47-|?yRF%vu z7xxJWL0O?fLbu_trtjWn6JIeufc zBu2mr``*lj`{f;zIMypr&a-LxGyD7q+^$=8=~ z@fR6-R=J1IWoR}Qkdip2j2fqdG)_S7h#0SI2u{(uR!yHWWDDaYJpxH%(S%?novYcw zZ0yRhxiza(TaNC(->5b1F@v~R;R_MnapDHZLZXZN&P4FlH7G(gzjh4o(ER4#G7+VS zPbWr<=4#s_qLy!unp-7Ijtks;;K;=F*{wQp<DBmF~bFkrjoaUkoM4t%eXK%|>ptiL62L?(&c70 zum?g#^6vQW(<|?ZS+BwO_feS$VZhmXk@&^V(l|g)I8+wk;vSBJ{vB9XEab2X9v-ZT fH@TphbaaejM(3M2T(F7Som9Za$^lnqNuvG-FmRmc literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun6.png b/texture/LAB/guns/gun6.png new file mode 100644 index 0000000000000000000000000000000000000000..db49f5cc63b72e8e99da10460f7f8c7944e18068 GIT binary patch literal 2821 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 literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun6b.png b/texture/LAB/guns/gun6b.png new file mode 100644 index 0000000000000000000000000000000000000000..3b9648283b7ba938e298cecd0401c3277b3abbff GIT binary patch literal 2912 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 O0Y*qOy?PzD`2PVF4UI?u literal 0 HcmV?d00001 diff --git a/texture/LAB/guns/gun6c.png b/texture/LAB/guns/gun6c.png new file mode 100644 index 0000000000000000000000000000000000000000..5717aa4ad729ab2e3a6ce6dce2508a935cafb429 GIT binary patch literal 2605 zcmdT``9Bkk1D8cm{N`Jav% z9YSrMnC0FdF(Qi4_r8ZFvy~1sQ#W<37$?myHk{Q0PM zmZ^B>F4rZv&Cm?vKCw`$|7ZA??{@dErEUV{&|Pd%cJLfqHV3Q->mI;JG6-^utD z^7w%!T|OmIOK0xfzI68)xDlmfLROAAfNHQbfdN!2EVI!2<5i0TM;gtD!K3rd%$F$H z-(DI)Di~9*LE3N*d5Kw08`gD{#PmsW_{M&AS-kA8Hdw%>Y7r8)pJ?{$;zKm^V)l7r%G^ z86R;AVpx)h16mE#2~C-(Y2S1a>wq2A-b=#`)xrVj^z5QcgauLE_y>mvPZ5VQ=cH$@ zsG6)}MIVm&P(^HN$Pi4nU+$n9UjWOU zFkJU_*NZu~`p@AesTf^RI%AEzl>R-&@Iep~mgywmY;F+1%(2CGZ0Nzrbvx~duwp{M z(3^WXh56<6%;fXpvl=k@}wU#ucZ-WeV&Ta^~V4ND0+V`mrUO z3MP_0RTfq3ge(L$E_j>ep;NVeHmK3lC+y-g6YPsHLO=sFgbo^JvN>3p#7ucUVHw==8Xw|)M@(&e^cwBA>cXl!2O&kBaVJ%X8;R#nG>=1-0^5e{+{NYjHafx z>L*fF>@67%Ip{7Vp9HdVN9wGc^nk%a%IgehKIEIpybX7ojKD0JzY*)-!g+(nEGVwl z_SS#691mO{%tz{=pSZReQ~a!V`1p(sg2Xy$vbSfR;1qq&x1V{B|we$Cw8(-IR!sXvTt z|E6e4AM0Y7r9?^QWzs9A$4D@Ey^A)S#PD*XVdZedo&wi;Gae z9Sy0}J30D}qZB8df2-!!8ui+rXm!&s`f_B5qB3M?RL%X7_ui=^^7kZ0Fuo8b1>S!-^!g&gR#zY&A^k;_h- z;6CMxgdZ4M+`3R}Ypw)}s61fE3M;wfErCHMPv#Fzm;RZ6tjyn3vv(BO?G1!UfKoE4 z_fPi(YwI)49Vut$xTZ}%c0Jx1k4oJk9!K2TX@Id;xayc&c~2ln`TA{Tx28eC z$ktbCa}3uh<*#gM9l?%^ZITz?7zFcY*i*sDdw$v!chQP1yWXC&G5J}8=0QS9JF4T{ z^NE3%LCsUPZ^tFBW_bFG0Nsk;f9KzQ5X9?EKbNN6Cad0g#OI)rYi)vTa zwhXdvKDlz;IO2@B(GojZI5mV8rdL|YI+_q}kX}bnFDM8B&j%GLAt5N{lzAP|87Eg;HL*Yh#)X%^c#sJ=>GvFYO4AogOdnxapbAt?~D0NEqcW{3$;^U;u*8D zQ*v8ttp4Q05c`Op>l$u&)LAQSHR+*09T^zu6fS`~DXoxEBP_LO*0-Tdk2|^7Y>-0y z)YxC!_`yA-C7kP4cHFofpM3$gZ-7Lg7>r0VUt}Ne!mK)ut`Rg;QD7YYdW27whoH4z z2jrtz>cf{(GgAbuh(d{EPdsBAC?tIJ!AsIx4sp=8H)W~s{4`@PpedJOB^@I7xUUc^a z%9_SnA?(5>`&RILyLrSLxv%?wTtCT;03C5|PML|;iCVJR={IxI3X~R9*DwQS*$vrs z@|LgD!$;}mx|P_UQCZH@Yhrpcd6kRQ-w*}q-^W~TWLllA03!F9`s!s-G7P51i}$KS zU#j8XC8IC1Zac5cHQ5Nq@rC)fE1#En)(Vqp-7iR(h!&<;tb0ezwfRKY#}Dnozt!p| z0Y}?QbKa7yiPN)#wvScj?4h-6pKf?O&}?`gPBum^tL96xPV`rb(TYSN?dOSWz~nfy zSIlmmJ&|TY+=Ke{i?(Z!ym_#P7YrT&vY0I=tTn8#2>Jc2FNLlZ-|K9W@60VZzF=kYU%ky1 tjxAD98kTlVL2Y!rZ>qvuC8`7H2zkK#bMT*1qtn+1Fh!z`Ul@Ae{s&L?+wTAX literal 0 HcmV?d00001 diff --git a/texture/LAB/readme.txt b/texture/LAB/readme.txt new file mode 100644 index 0000000..cca18c8 --- /dev/null +++ b/texture/LAB/readme.txt @@ -0,0 +1,13 @@ + + + all textures from my game LAB + + in case you never heard of it it's a little Wolf3D clone made in Flash AS3 + ( and you can play/download it for free: https://mutantleg.itch.io/lab ) + + all these gfx is hereby public domain (CC0) + (credit is not required but much appreciated indeed) + + game and graphics by Mutantleg (me) (2015) + + diff --git a/texture/LAB/sprites/acidspit.png b/texture/LAB/sprites/acidspit.png new file mode 100644 index 0000000000000000000000000000000000000000..b836639105b2eee44181289821c4922bb0085a1f GIT binary patch literal 1389 zcmV-z1(N!SP)(qom6B1fLDy)z?8l+jwru`kW zW;ws3|7EH!s5BBoM@4GYb~FW=3=nd0p^oCzxre6A;tL)NO6*Xi>4JB4Y#*QV_&eX_ z9D7c2itkBd|2M#S-2gf12FOV_Ku-GZfPB|GoM+8rwND>kCFOdqD^uH1EM0-=Di%67 zw|&-m^&U00wVf-Bd=(%&4NXsXWK{$(nTnP7j_$}a#N=7?jB2FOmdvx}nOE=8dUuwa{x#RNoq9B7B6!$L|v=8oPy*k z?8z{+K=je7pc2i2p8xsBp9m!>B;#Bhz`n76+&{|cxsgyv&KA088&;U8!%Qbq(Qq`D zQ2c&hFc?%PQ~**)BA_dv45oARAp&}Ee+587NED1hmOU} z-|O%9^gUuSt91Y}6ad@WjvF^}l$8rGjta&JcIFUW>AI%{X=i=ljlfq=JQ(KNL_rCO~ zGvj66=x+d!!Eol|2C56fBF_A8crF+QWO>h0>OO#!oWhxxkfPz}m}l&+co)EKb+^;+ zEXhm6v^cp~GD=p@I!soW82<6jKmg{|d%Vmw%~nk}38>Pl0GN~K0Az$ruRkykVdX#N zm*k~Rzq6@rE~pFdw08i^YCRz&+|a;f*yr@zEmhJQn%2M}phNBz-~ zSpu+c>~kXPm?zx=^|}K;l^AJuewG&NG87U&&a?hO26vyCE(NkYx~7|HIsGd4DlqN` zAgKeV4tN8Xy~}tRi5YY&nI)o03dyF~+QT7+#=nCPUED<+o5ujMM%Hp?yYip%T0;x_ z!~8g}1eN+p{agpD1YIWQCEM0^WQd%|w%ct08Z;>+MZ-}5ADSO-hi`xNEm|xksNgIc zQK-_>)Z+9%zvM>)I(>XfHI**AXi=lxZd2sfy0uED^61VZi)pvI%Xk?81+x(Hg<79m z)@V($l@JmF8VCB)aiGg6`x6r#QIn^z`i(qv2X0J zPOrATow_lg+17SWf4wwQI}}&TNW9GD^c>ZuI2XSaz7-QFKiZWS9v3b##dliuq0 z`cgp{)P$J9Us@0{BzgvX5|CCOoGR&Se&m{rF+80~hPe6^_y)9~95svBP~k&B#Ds vdH6^}%IORjf000000NkvXXu0mjfoxGKA literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/bloodspr.png b/texture/LAB/sprites/bloodspr.png new file mode 100644 index 0000000000000000000000000000000000000000..55556926983742bc59ed2591e79559cf139e3bab GIT binary patch literal 395 zcmV;60d)R}P)00006bW%=J0RI30 z0RM@=FOUEL0YFJaK~#90?UykQ!Y~X)Q-linn_X$eAaB|W;NfU1C^ddQnZ`OD`%nM7&QrU&*_^N!q0Ux|M}nW6QXC0luu zXtCZ)27D7M4YwS%8D#6GEUt{6i-xip)*k_LKx(M6jl>w3#1WC^Ha!5u{9(?#fa)H& zKW@qQ@8>J|{(Qasb$#wAVS?NwHi7vb&1x!?DxD6^a=%_ pp#U`I1@JzAh62z~02&HF^8tA-mWf?e1c002ovPDHLkV1gf(tv~<( literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/brain.png b/texture/LAB/sprites/brain.png new file mode 100644 index 0000000000000000000000000000000000000000..eaf8e169407f8826e9290beae9187150c1e7c1e0 GIT binary patch literal 2468 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 literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/ceil_slab.png b/texture/LAB/sprites/ceil_slab.png new file mode 100644 index 0000000000000000000000000000000000000000..938971e46225f40f55f4256f0eafebb09d29a7e2 GIT binary patch literal 542 zcmV+(0^$9MP)L41n1jF0S;&Iz1bcpHQ$*wQH` zSs~ch%q$X0@>O_w_}4uC9XLGT0X9yrC+j)@D5chm!!Wq6w{ll^>-rPvDK0etP}eo} zQC6ISt{+$Gv+BB*%ko9Ys;O;T;a`F~Ujad|r6w2T8baE(waTKF_8O)jgcmALz5w7k zcz;n8p0iEUEPhVY6nLV&O}`08=<99e=goh?!DWmK&TnUuCTpC6Y9PLb zTyd(Z%DP^bB|{Cw)Q~}IZC&sC-gOJ3=|o+&1%FA00006bW%=J0RI30 z0RM@=FOUEL2O3F4K~#90)mlAhTUQkR)MhZmgCH6n#Lx%zV2~k#v>=F}1rJeBhKwHU z$pNP%OK}S|1UkBqh)$&#k|`N7cCf)73@s>Nr~?i};K79(P(XtMZ-~G{gE}1R=;+*g z-=E}`9yC0?cYnU`p5Oc4EetTg|5-lyuK`Rdmo8$^xyG#XerNZ?)aNQp(S#UxX|CvO z(Cb8WF-0a*ARuuEVIUuMO&5TDbBatRG9iY(SX-cra4rO3I>y!&nVWUt67 zc}&Q+TGA5;rF3Gx3E)lZ#5qC^L&`=#LifeWc#9%RwnzTkz?wT{tzJ9BOQO0N@1UD4nD&9<-0`m+Z71{NbZ!{`t_Y9*j@8vrV|YbDew z*!b)W!>nAbRjajX5C%jhrpxx~ZaySA!|3|6Mssx+I70<@j&}gyc&F9Fxdw(>nh)o> zOV@OpZ)bd6)}J+e=`UU~M7= z<^WF&B||4}j1>U0!myI_bw~D8kTa1*rq6$i;bpo|)u^vJk^xGMbK!~1DYNB*{L6ft zA`t`l(4KVmv;@d6gnS2QXB>w_wo4A&8_lN;MUgl{mu5(#;3A7Cp(@c2m@NRcn)44 zVDxgA$f=&UV6?I7b)v}hYb)1dW|Go+{%XE<)gDJK3g4&N+h~-oPu0pwp?(AEUy!*ct=96Mx&dKp+%yJ zi9^5r@%8rm*LV-KeIv8)GD^-8G(J6Los)WfqiF&vNlC;kT-nR?L@mj(ee?0ctA&84 z4plYzY`I`3yD=Y-?m{4BWT1&7($*(x61emsI?0Z`VZYoU5^h1cFG z^uH7wBot*?g%7{QcSZ006&HxS$UeXY<=ZE&d$ARzI#ex&P zEOH1#8UUJr6xo^YtgVIi#KggwnBs*^*+!op0HhB@QQB0hT9QljI#J4G%q?R|wDdBj zfhdZcYEo_ZTAC1LpOhSAs`AyzDP=@}&=bC;r5j3#OG`Hxy5zvQQ-*mT4g1|NEIlLw zP)j@_a58gPMg1IBu_%Y|IS>o&VCWMD?+s#F(zW7gjNw^g07OxAc(%vA#!88WvuYX> zI+;17q(dgedwki<_GahDR$6{Cp}EFvdH@)f61p0#&eXG_r$_cXQ!ZK*J^67GLla^S zX#l`kjV7*v4?TONZ8?eeWjIQs2Z_N!fcrZ;%bv8mqif$*BVJUm$n-fDrNrPSfOJPS zZ2OTfpA|lJty*GS1L-l4I5KhWkLEHE*-r_2{8@w?7^ZgIMuJvbby!7Fj&ET;$@6-h z?Z@7W$gQ*ek&mxs7aGL2qLh-20M`!AZKVBOHPcg0$(d+mCLrGw*`|_JiP-?;E;0TLf%8y;+GOTCvog`C#h6Vn#^3#`M~PeH^pcGL?_Drl zVAC;#Amw=>nFqM9@_|f{Cei>K39n+}a@s8?%n5nIsH%cUG9A5v=e2H*Y>+vT#c+UC zPAA^SWau$rCYCp2c41Dj^D+K~Ow8isz>;`!S4nR4nDD59tSr={_)>x-U+th|(z6no f4oZ+r_qfDAy%C0ULBca&00000NkvXXu0mjfkur_o literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/cobra1.png b/texture/LAB/sprites/cobra1.png new file mode 100644 index 0000000000000000000000000000000000000000..dd9a1c3494c5272ceb65d865e22b0624edd2b261 GIT binary patch literal 1950 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 FV1nV$1oi*` literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/cobrahit1.png b/texture/LAB/sprites/cobrahit1.png new file mode 100644 index 0000000000000000000000000000000000000000..c9dbcd384e9d4ee32376230b491a7ddfeae9b043 GIT binary patch literal 1701 zcmV;W23q-vP)00006bW%=J0RI30 z0RM@=FOUEL23ko(K~#90)mpu4BS#c}&bbgs#lWdpu!04P*?U}W75u`YhA9oM&L3cC&n3?hR$G5PiG#XBDhB`FTHGpfQwPZRYa8Q8& z_CfuiHj+6cMj?SdZ4w-alZ5|IaZf;$+=;0X z07k=!cZLK*iX*_Ghhk;9MIj|uxCWwVL=fP1kK)DZ4V_!tNn(9E&IbrR;XtF$bv`vy z05CI?>8vmX5B9L>?qY~w66+6f8YrJ#B(hLo72L!O05G4~*U|t4On*9j1ORK6oIofW zU}pfxy9cqWyRw^NZaHrJ^xF}v&EVnk$=mJS#ajUAp8o&TeDu2{Xnb+X4eZh7NHcTAaL(4-g=`Aaq|Y#w3;F@ky*2(k4iTmum6Ss zZdZ`W!Qc%5hF{weuDg0w6GF?O4O6;Fua?)1 zysHq_a@>H6RdJf@occ`76wA+t%cthiHyX}UyO_M9HnwYkpI6XKtywDFBsZAPEX8lM zrE)nKyrKSl5}Xz`bJjv^$FaD!%0jfu&^clfs_bdu(BY;;kb^Z#es-fp&yPQ^p67FXxZl6QMbRrd zgBEglA%N9#rn90`06<@zzsxwD1Hh=bq6N@cIWaHElG6`IENtea(brl7fH9`sZX<^u z|LOz4&G1T;^wI}#uAjgE^#%QU5Bk|hw=-WG-45+4(-|SAXWqd@kFZV}{j;+(cXh%b zBHji8e23_958Uy*rx3Cz7bS1;o)d7w^W)EXo*U!oz%lTxluq1N=f)UB9~ysk_d7mw zZK6eyXNSbKcoJ)taJ+iHzrQ!e+}?i0kGznhx-WN~^6@uoe-LFw#cFi5 z3M(G~;H1&d^Bi@~S0@a7TW^Xh>BRl)BN>bse|!5CIS42euc)dC-I};Us^c68fIyEe zpFU}D#GlB#;{|j=j}JVqZ-q`pp*vfwylB8$>oqc0tn~mDxv5;-+l|He`NQFdDr1GL zG=TQxMJ5FM@Pi2YK&G>jI)ZTHA9hx{De6<4-&))2or?Be?-XD82@tX><6RDvu<62? zGvObp57z)r_2rK*gik5OF>nvG)=~%oZbFmB-3j#hcoBubk;V8K%f33oH-ek7QtJKt zf!p6&3yqhL`{G@d@sq}#XvC@;!k1ZGR*9nPxufQr=oMPsU(8h;PlIXu-KyA)r<5Xi zF0*FYI@%*8;I+-+x0CX4!p}DwC$jRv0zItnBktgS{*E?LO9WNUAWena-rol)jz^h0UJhjj_*g}w`H(ey7haLV} zr92gQlfX_S(TPJo!0$S%zpCTMDFg_;d&}#>CGozcLs>G1I06(aIPRSYGQsC48qq#L zH{jqD4pH-nv9ukr4jrKZQTg!iy1hlH*NM6Cfjp{4<>r(q#4o7%gP=iQDY)pp1Ji!9 zQtMZXxG?{}^}?Ma=Kqr=&V(TB16~Pfz}t;qRa7^jS{lHG#SLlou{696hLkWW4l!Ip zaj86BarcGDFdCi6Tn?e?tz7t-23yi{S*=VQ>ag{PudXC#;uIgiWyIAY7cbCI2?YOs vEksiPSX1*j2K9d{Ax=_N$Ow(q{JF$GDPhX3Rj!Y|00000NkvXXu0mjf6y-#p literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/cobrahit2.png b/texture/LAB/sprites/cobrahit2.png new file mode 100644 index 0000000000000000000000000000000000000000..38be9c4065704bb1922028a069c4cdcc3792f057 GIT binary patch literal 1407 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 literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/column.png b/texture/LAB/sprites/column.png new file mode 100644 index 0000000000000000000000000000000000000000..bb86e299b12a473538da8f9561426976d6827fe3 GIT binary patch literal 1303 zcmV+y1?c*TP)00006bW%=J0RI30 z0RM@=FOUEL1k6c9K~#90?OM-IB1shf#N|f^lWx!^O=6UwD1U(N1rrb6ylG`tSGXkB~(>iUthnuxdBkC)kftX9v(WK4z&&AKLQ^4 zxFf*y&So>Js+8v-5r2tvq^e08AgD?w(WMi{o_ZMeu^>qg-8qRHWCR^V=uQaz#+gXcYJgbkIS>=fWI8z*W>f& za{vpF_#YwgP9Z0O&CN{!mSthwj3?uSLLt_p>$+2n{WUbHhy#EpwD}3}P9f*#w=Anv zDp5O~PH${%TwY#cFz<<&6VYfi8jU)8`u#ot!!U+8^Wwmr7LTrLZ%PH-`W z7(RS_@5^+eUF_@m7cZN!2!Wppf&|D2uI$imx7%$O3p^)W_`ncSsWn&f99S!tgqUI-O3jSS%C@tVh@N>5nLi z5)1|b#N+X1v*b|$aRP=>1<>tw%H^_Ynu?-OKgC63LEKnSG#VWVz&9u6(MC}eP1CNf zuKXGlUI?&A`1JIY8a&acVHnwLmLkw{xhy<7gE)aeU=f4E%}h8w-Y^W|K}R7@V0Cqs zUs#ePAJ={-=6)Y|Ap(z&kI(ex|1IDFt`2mQ@a8SBxVSh|W|9N21F;u~FQeUV2f(*) zf5c)j3Lj_-Ycv`F=)^o0nx@f4_Wk>xnwAh&fZ#(Y@#)j=hH*Dr?q4i;AC$qLSSXv# z@C%!!pZO(m0>NMi!1nfbEEaR77H2|HWC}|ok)TV{je%DS^m;vk)FQ>+wrzVq(7ezx zI`%B@%K`t*?*p8mGvssN4O^g6sZ=TzA5{^<8@52d-|P2#*VorP!riXd<#H0l_W^cS zcXoD0YrONml`u9{;Y&7!L7af5B>^OpnyRXWLcugm+Q_EBU)2e|<%L*cYi4F{Yio;b zVa4L>W#$N>P$-khP;L}Jv)P=InFA1sL@)@seQ^wN0?q^B;o%{Gd_JE@BzR&Wx+fm3 zo)Ez6ETiFYI2;c9@~XMt2gIk4u9pEM66#Dz_ zYNK#X;P~jo%Xnkqg@e0_EouaVfu*G-U-D{eYio2%KpdX2V(Z;+?*PQ(GEJUpwd(!i zT2r8oSl6TB9_%ChVvfEO=(o%>kGpW10M!W`62Pr@r!uh0Dy`WrD5gKFg|TFU?c N002ovPDHLkV1hysbd>-A literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/crate.png b/texture/LAB/sprites/crate.png new file mode 100644 index 0000000000000000000000000000000000000000..0bf1528f320de8aee12a416a1a3d0db3070add7c GIT binary patch literal 601 zcmV-f0;c_mP)}Hxzq!> z)C0NH1G&@#xpeQmB2SoXFUpFv`%CSCRAk>=^Mr}hmptU7fovnYdT0?J4eU%dAUy^q zxTdl&8G-VI@yC(p0Ahdgzqr2M#6+*5JYiYNkujYx0N^|Z03iZm3mQDt3sGO@R2@hZE@1jKt8HHo^N*buU#j>fK&qAX^E(^N=ta4`DW)6d2|ce z4g=)uRK;zI4yMAGrCd}8@`fPdEM66YtkjOQN9ii_xt=)xWcHV1%1|vK2M$OBK7~<@ z1c_n-wI^dsAk--$3tNG_fRJbM(7*CFm17O5wOId$wm}lrAxk;=oI^xtQC2xzWIl?7 z9fCZ2)#j>dHXZ9rr;C~L1+wp*uw+#Q?Vu@6lCi#rKeLJzDlDS zK`MeFwxB7CVEB?e06?SntQHdc696pB;~74UK$5p+>RQY4DBBW?2D-gypdZt1v20Uz naiU`^#PK_B|E}F{Lrw~8CuSB~00000NkvXXu0mjf*_IDx literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/cricket.png b/texture/LAB/sprites/cricket.png new file mode 100644 index 0000000000000000000000000000000000000000..6854155c3d7505b0b7f53ba625ac08322a863e9c GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!3_U_tpA+{^d|u6y`C

14Dsp|gQ>Kro~R_rT$(%9C^fC5Xyg__}Y_T~-%00^Z23D~y z(ZwDn<>e?=AW8{A5oP+n(s@vmT z4`gs0N6X5$0v%tEe8D!Oroi#v$F2?oMs$HJw8XKQM6mx ztsX3$TK{ETx0fn5D#n=X%4?4wMyu^w2Flk^*5o2(zxEH17Sy|mfWQ&}0000#3=)D z%0Qel5T^{p=~X`U_;ySzcKf=qa|+=rY;$S=z*?KgbpO6@07Nv-xkMUTAOGR9bI zy=CO>QA+iFueA$>*#NvN*tKyXx71S9n+js_8hTlU{q2iu_}ptik|ClJvX zV~iQkcH3U#*5tPg5d%&IYwA7e=k~*w?lA1g;AKxvhY0Gj_`&2-Af_DI@s)|Me(G0({I1tbU zlmk5c6~o_U1(adpXe|LfT@FdV?YC;xQe#H_0L7LT?nWH&W&i*H07*qoM6N<$f+O13 ARsaA1 literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/d_grass.png b/texture/LAB/sprites/d_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..866c150b940aa6ccd77741216b9d6f7a96fe34ca GIT binary patch literal 1013 zcmVAp8&*n z>CM`2duy5Z+|Yu_Ky;O4m2hJB(&o@o%rAjuknFdBEX`RY0~$692b*TxzBmwPq6;Of zB&$;l9n9)9tJ8rn?saaUxe17w#?@AP4H!MLI(5yug(d=I?rGZ_Cf|KWLikl}%7?Fu zmjiJX2Txs^-{hbSwb#~UwJGiE2g)wEQ**@t=(jx;ih^cS)Ls*lF$=awS)HnbIn=a` zL@_D09tX!1k|G%b0D$_YX(n{;fbt@b>U5N53`iCrGXYl_C}p)StF^I%#`JGir^Ia* zciN&1#jX30R~1H)(X@>;wAz$S+hnsen_bR51m&3k#7t(qzZQqA4-P4(>a^-K?+cdp zR^QyqW8hlm`WJnheM~8nLPU8o2tc(i8Mj)O$K9#gln61% zH#p57ia}BP8%?;w3C3+=I8w!&)dDRnnn;&fkKe3LDKX!AH7{keSm|9#LXpN<;Wq!| zPaV~~j&?7V$QOMN>qMPXXCB1Vwg0)3JUnagWwx2t1`!Inl*if$x zAcR>XG4^!~<&&L71GyDR83x;+L~+OG7XjfJ3R*36HcQ<{0TGaWUOs=cKsTmSq|1^I zmo1B{d=bthBX_jvuFLxG!K4wO0h1MTk@f5xa!sL?UE~9G9LTJDFR+Ls53lw*5<{5= j1{vtHV$-f^0PZR`!xA_jKQGx`pm-Cp@weI0Pr>rfG&Uuj_q9U z(rZ5$T&JP?*DYH$(A(tI?&B&uW&Fo|rQT&(rsGOI1on=;WFJ-x)bIB%FGUbM*xan1 zpZ`wNE1)?3CZ)8tb*&-Jd8^gpoICm$tzA*yMIhZ%Zywvp2`G+ZUB5~x6LhI)xV&Xj zN+NPk$(-za835hVO_Rq=daTC}Cm;Y(7}aVu##okRnx?QF ziEM!MkC-_ceJM$j(P#v~1dC!72AWOG?1POAlet=msXz@?;8$=pg_(JSa~=f2>}}0v zvtF%baY(%2MitLtl4LpLjV8( M07*qoM6N<$f*iLYxBvhE literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/d_slab.png b/texture/LAB/sprites/d_slab.png new file mode 100644 index 0000000000000000000000000000000000000000..1d6ab01d93513ff77090f53418d8fda46ee22e0e GIT binary patch literal 538 zcmV+#0_FXQP)9=1mqRkf9~a9>&NWK*6X#&KJp`T&e4L}9y*-J}ug|rFDtr;p-5)v!p^ZH9TQ(Wasl)zX@Z1 zbtnTV+C$Z@0{7z+&LKuKifAh|IJ|QI3!4AwZu>Yvy?{2H?U^_a`QqmuondvT5WmRY*pJse2*B_|m9tTg1*uO$*Vf z74n6UZ}#9ZjhXl`vY7HL9Hr)7N|#`2hbuG^(1KtL)+y|v!8~Mo!;t<_M%87q+kQNg z0)mQd;gd2xnu(EAXpS+633nM4iGK|S)r{LHc*{;|dy++(Mg;k!L_IuA71V`X*|W=_ c8o?XL4H-$7$;vxdR{#J207*qoM6N<$g8k(6(f|Me literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/d_table.png b/texture/LAB/sprites/d_table.png new file mode 100644 index 0000000000000000000000000000000000000000..f6e8ac0f905846e81ebaf38551084caa55dbbfdb GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$wvr&fV21xd*8k1}`V$x!7!P{7 zIEGZrc{|fEuf;%sVYJvsk-oV0!PNm%3ZX9h0&hC{JlK?;##3CRYh zwNCjRJ^1p*$EtGOSi^%X^)t<1F%%^-W<@kei7jYjT|o@#Gu*E3TBi-TK~Y zTBFO7DaD_|ymrpcp6Ttdl2P$U)wiEU;!UAPX7foXlr7xK>?Txj`vq_1fwK$`tQT-I zY-0W;RwVAhr%`-Bv86y*>ZM2Z{m2th*8bbGcYZZ!H|!B){qtD%(kJJCiSKUODEmK` znz7jYm`k7Aa{kJdOsqE7%x6C{Hi~(EfpI}@G)GTj{NmU9uE)=Kpe`2?Bz~($j-f5F z;JQ;szRR9fhy zvHlHZlST$IsbtbX#tI#&z?BLD0}2e@B!hr}fJiNZ$kh|g+y7N=Q17y0e92O z`xggd2mpDW$MGpq#_gI*jIhjdNN50Xn3M{QW@r;g0)%Hvh_W=j(U}(cvhWEY{OC7d z#UNz5JrW~HXC4uVg0i30<7F8*l;^pap>wdf+Y5aD;bT% zwWqpGd}`#7_`x;BU5Sx!)El#+wSRK3cP)dBv0U2)ODY{=Z#>mq(Hek%a=u?*)D(lc&1%SWZB^wo+mF*urzvP+Mi9 zdVA0$hvXz8%E~l4ip%z60K`nYIK&lh>n3r1nF1Lc9h}`d*{(XTynJu4SO#U!J_SL* zdA%!REL_oLd_NRl9C4%mpwPPwy zzJBjn-aZ=9!0{#@!1=pg8b6^Ftkd56$?u89ge^Pp{aK7Bv*SqhmETu>ca}O%*rr2sYT=fs1)$McG@i`d=V7(uP+$42*n`%STB^)i ztpW9w55PUCZ8pZ?fS;)qch9}W-Hf&pI0W#NTt6k(=iUOqakS+V8UU-+DtwmF{5D5N7={SH02qJ&3Se{= z>ECu|={ky|XgioBiSFoLnT4!_!@=N0y6o02CCN5>rqkOE9vUuT>=6ImZNes&FA{5H zdD@FNS(cT*Wn4Si>_dC=)F^2RvH_}eMc1oy$VJ9LM6}l-mynqy^#%`}>EU2d_nShz zjA|ZsXITe_($=>n9YWehG?qaBT(7}dL+JVolp?H$PSBSe00000NkvXXu0mjfM7xwv literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/fat0.png b/texture/LAB/sprites/fat0.png new file mode 100644 index 0000000000000000000000000000000000000000..f18577824c3300e8d8d5b55ca142fbf5eea5c1f6 GIT binary patch literal 2009 zcmV;~2PXK5P)00006bW%=J0RI30 z0RM@=FOUEL2aZWZK~#90?OHu(97h!X98_#^#TF{IScpIuIIxQ=#$d3EgOj@hFGNKO zfnB6na1jNoaCt?F2vpdGL4^w$+$DiCT;~X`utAV5wy;3O2~=#cfh)F9v4x0Jyw%&e z`B~lW$q@lR1lpaQpYNOZ=DjyFck44gBXZZ%m_!7h1htEJqi@R>x_1MkN>}OC#!Yc09havLdzP0L?l8*R!IpE8G=#zPNm; zKt}$DEkq6o)l!#3jWr;5ouv^jXO8R}l8LkX7aQTKy8>XAT||HGQ=!)xC@Vznjb*`A zu_ys$Vw54-%@cI75mNc8yK-l3CCxC)E@s(9k|b1tIF$NHi-!gru2{sS#rq;ZPx36K z@mx=2X+#fHL0Pi1jQ(GII-}Q%BuNN*dNP(P^IRw$^2&BSQNhHj0g6q=uqq1;NmfK( z#YUJUiPQ3_!m0}Zgx>f4=}E+nHB06YV_vcRDNCa@5!&)7D}e`3BN~#2Hxgjs)Qt%6 z9CHQ%pxqH{MK)2)i5D16kj}wOfTq9QDH{_ewj#M}h1Hq}0mS1U<=3;QSi#-FYkrpd zsdiKHSPBQT8ztkRiSKnCTaT_MoR-IFCJEs)MhVvw3VN?Ia9SQ2p*-1;RUwrtb*uzP z$bKeqPD}vM^fUT=cN4F+^@cKsvuMA95&*o~&UZI;gDII*D#z@FvLy041I7)2>_@JX z?{4z5VyR`hQ4c1R`R*njKQB8;=i)<_M8;NT0^~Yr$#OHYe)bHmCvtA^YTJ4Gf_d6T zlBINRk^;$-Dm6>5nnag=V$Nb!0-V`H+Y{=&lk7bDh~#e2T_44#d;VWst|xP{Q{JH_ zk52dA-7o6TD?u5Q^q^xfn-GoU`~DPwn!4`tIKQIla<#99sz!pf* zvHc!E&>fGCUILi@eLvUGFCqp4jK0@(05Ls@6y=gyWZ(28e0lI;fOa2S`@t5lb2sR& z)2C5<3LxmNQ-e`_8tlCXfOa3#!_mPUdO0;x#HRnMRALh6)00S9yNc|+yT9}3W6)h6 z?K})d|DfG3;BM^`M8ppP@N0mO>WqSKMn?b;+`}(!iM~RNImKKcYxjqa>$#qg&6k%i z_X6Hwz4=vqdk?^i7Z*>$m%+WF$><35Ob`hrf8y7myN>Qaj5ZYXG}i2R%(;-9VkjI` z4LB`dM=w_>GPxvjeUU$Yj>&||55je9?E}EuFz9mi(}KXIPJ-cg0Jvt+rwKhQUbx*K z${egFq~y9hA94lP7aw}P2b0P6_6iX6;)mpm3M+pb(rejfdI(wu2uJbhB!2dx*Rxp; zC&D)CHxnROPRrx`xtNCIQk7+%C~*KViJwhVpP*B3qxkgP`7J$5M)A)9io!|!Y!U;2 zj$WRAU5xu4HJRfq+IVVEZs$EUKOqjjSNKhDt#qIy=~)6GNfUw&i_c;76&jEkT1|*J zIIgFx0q#_Zk%Xya0>Ds%mj!7wc$O0kwY~T1A5Kdtcj3Rt)FliXG)I)W)sS@ z6doXDFD?X*jdkbDNe60c!pJDyQ1Y&dR*IMjOb>^`A2WKVuzS1J7Jxa3vK2~)Ot z#o>Y$N_8~c-1rPBZK+l%N!6yFj?n0j*72u5LL(IU99Pk`@=C{V^h_raMy)P>&Tb}9 z7`lCT%kfCg`D~6tDU`QIt|yG=5sKa__*gZd%qtm>en8z!I2SBlElMEV)!MKU;F!mD zPs>2=QMQNbk>pRh&($3z*T2%1s@A~ta7dt|Hv_VM=73A>^QkiI>-9otJsiJC>z#nvL$thmm`x6ZW}@#^h?>xt<} zMCj=PtI!7BmwCcw=uAw$-sG=Y8d1Xg1ql#(NZw;jgme>C%NOZcAfF%CyU!GzCuVTE;(YK}xO7oxFusM}z zDuXcx?;`t{|2bXJL;YXhGUK!-pZ;!?41*mGIbW6rQ4GMpjGIdZypWR~00000NkvXXu0mjf%7DZz literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/fat1.png b/texture/LAB/sprites/fat1.png new file mode 100644 index 0000000000000000000000000000000000000000..cc5d1a3b04e2a39689a16e0076b8272a3255a5c4 GIT binary patch literal 2068 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 z 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 literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/fathit1.png b/texture/LAB/sprites/fathit1.png new file mode 100644 index 0000000000000000000000000000000000000000..5f841451ca441ee5f6b45884b85a861faa33e9c9 GIT binary patch literal 1465 zcmV;q1xEUbP)00006bW%=J0RI30 z0RM@=FOUEL1#U@1K~#90?OLsl<46#$Jq<80FbFU(2ndKY2L|*5jFf?Xhb0H{7r&?DRa=4TL7M{8gC3Gonp9@WKQ5FiJms0CWhO!hM!oykB8FEe#PaY33 znvn|iNz&XkLWrcLcK2&N9L#77V5zb^i2gi*!co>3VS!P4k!M)Exu|!pA%QV8h%NNB zspz<7?8GEI#C#llK)oy{*#i;n>V5U^D>q`7fR8afsT0!6p@+c9VG7kYx~-2>b|=Hq zGIaH_eLEKkw`UqeiSF2t!lPdj@m6R1s<<*GIn zKO8=FLv~m5zx(%3e%*7+BqMKspoh*REwFhLkt){SO(Ph@`MgZhyeNvID6CHh&&d_f zcLJd+B2q6)tu<)u>OIgCk=B~+(}@sMu{QGM2F4)C^b?pZR&8Sd9S=!nhak`AW_q?y zZ7Qv`)*7#NH|_CzIg!NBHpWdP9s=wPb; znxqA+fgzSEOBjIGI!SZ4XKWu}_CMcRxCDZje5=m#S-nzVm&kI(G^}=46(-VJ|9opn zn8FfI7Gg754%aqDW}$&1eP-ashhqb0A#2|-A8RX)gIS0Z98AXOW!f2pX5?;->1tD1 zbqc`D7MiH?*IJTl97{sU!qo|s&&#$k+`)AWmxkrj&@3w=i=jKa zm4!Sm)LQ`Jz`+yqRwX-xT*YeSfmY$ov#YOb@@;T#i{AqA!hP~sa*jKc!GRquE<;Aa zd04!syx2bA<-h@ev?DXOR}Y&D$3;s{!@GR2msyZp4Y5+fe5_$*d*Y*)e^#%NxP-G= z$6V=SNHwk`X~9#sjlm&l5P|A@NzodsHq}%uIYZNUFFNI`?%iW-NTC2sO3(s)9pWOx z++3DDmESDq!K=0E@-?1wkww}@Bg{hAGeH7U3w7O5LU~*NGX%YCB$SiW&HWq>oSeV_Q_)z=isJPuj388EggL`hn;e&ma>M6LkxYw zSawL>fJe!h7Qk6vF8`=XliVWrtV6{J3&5u8>$+3AIn{MU;3V==3}0(gjWxnJ7us%C znBZ{A5!1`(h!?q?`5A|O9y?pC_)lC<>}oLt;;H;*p~u}VPJ=P%#~W3Ql1ex)yEhk* z{&E`PCX=aJV(SG^s~m{bHnJO@t-DeDjrf);;-;pa%iWL>yj2jR=lMcQ$O8{otG+@g zWW!Ku4qAYB#L!m~RpjB8x9BW3dY`%yufZHN8QW*$iU8! zW9NwLhb%DSSIXYRa)wOR5|m_Jxcjvp_>F&Xg literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/fathit2.png b/texture/LAB/sprites/fathit2.png new file mode 100644 index 0000000000000000000000000000000000000000..9244f52b08ede06b9fc779bb9b5bd23b979a921e GIT binary patch literal 1173 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 D3~qR^ literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/fly0.png b/texture/LAB/sprites/fly0.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae199d44c3c8168257ec60dfd9e14f9627d662f GIT binary patch literal 367 zcmV-#0g(QQP)ox1M=#wP@R%V( z3l0R*K_HBs*zW&yDC7-6a-{bhNp{qL0iVR;qwKT5EbtuyOV2O%N^D!_p20|#a!;}w z7e-I9#IuxlRZK+}d$pytEH?Tn>k)Q@C9?J4<*>V@bw%Y}8vqrRfGOZphwLK)?v`cc zbU6SZB6iuR2-n|RgqkrqMYbL|hbu!wT5BQ_LtaVbC`P^@1XqTip&N(aWDn8++xErJ zveD1bjZbqz08TSDd6MM|j^~|_K1_E!@3;Zsn0m4aU N002ovPDHLkV1fh}p#J~> literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/fly1.png b/texture/LAB/sprites/fly1.png new file mode 100644 index 0000000000000000000000000000000000000000..cef81451a07b61353d32ffe581c7b9388458e86b GIT binary patch literal 352 zcmV-m0iXVfP)t5`%3dA!0Dy=zNluAyK3#MXY2};9u69alj6p=_ zxL3Y5(hhUQvcg*Yt1!^%LX? z`~;B|XjP}MNFikg1_rKlQ4bhcmB9f6D^F1HIbX+nzFX(6RSWi$6UmdX5~ zNx+LHKNQFPYinB3)dyO#%`VONO_*v{2!#QSjm*ja*2D4uoeYh_hzMwGw_WC2bo7E& zHT5(eBC&3iY8u;Z+sI%Mt!X)qFizuPO`tmadpPCddQkq zn(sMX1WmJ?1N3)2nQXJuH0R{1s!%+zOpkC3dh__aG~InaUYhRB<8y^kJ0cXqmdUg2 zU+yNDJ@&JXd(}R`ZMJ)kcZ{eI91jzV%;jiYkOM`R}siDP>$Flh?waHffg6 zX3N=Z$wFGw(j&=~Jf(jCNJKa@t`7E{sI`N1)3`2YltR5nM8Tw`E!k#=4dp;L z1&RmOIcC^TWmp_`#G2*R8y@m38Mi&8IoLyv9QzS^mcQIhsxy|JL+~UGtzPqLI&B9OzgeCxr*d5xcwIdszcXc`v^K rNJLQf+OKyu`!Jb$2RHiF@i+7f9J8|?s=1*q@wiX4bv{y;9*YvI`z@!Wr2=he-ssy%Cc#seeQrzL z-zm+*b4f#U)&lqAi#@}h$o22zc$(R^`grMLekVqTC4nbZXTG@WD4l(Zi$Nn~j$Ha@ zgSpYpUSGDXHFRH*d5M9c)--jgOF#QFANPHFr@Le>A6(sXnV~JE+(C7(w&sPF;yoEl zJ}iHe8|yZci6K|#KcJ?qvN+z3=P&-wPax}j_8GgFtjpFX`#JFgs` z^X+AYNA`oyCmi=jyv(^K#lbK|BtrFxKi{vTY5WX8xxLHE*)w%sW=aTYYi3C1HU?~2 zt0`e)a4RD2$_n)oomXk|=S}+XaF(Cw&&R)wzV&U+xFzK2ta0l`$*NmSw)b^s>-L`Q z>D#*2H}WF8DZ>Jn^^r$!-FUux>HWti7c=X2woTjj!{%Z8;lSv+4La|x*L-JUSYmVa zzutx8Z_V%IRwh)$$*8fPwv6a#o3dVcDFegQn152Wj~Ma-g?WEYZnn#{*XaIj%CO|| z!yBFoRaDU4E|1zhH3Rm;q0j6yRPgg&ebxsLQ04d*F AcmMzZ literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/frog2.png b/texture/LAB/sprites/frog2.png new file mode 100644 index 0000000000000000000000000000000000000000..92236714078319be871544718b84ba0872aefc67 GIT binary patch literal 789 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 KMNUMnLSTZthtID7 literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/gib2.png b/texture/LAB/sprites/gib2.png new file mode 100644 index 0000000000000000000000000000000000000000..2f822e36a729f7590167849b1d7fe1aeffadce83 GIT binary patch literal 310 zcmV-60m=S}P)4VArv4WPw@c& zG02_4=(TRTd-XAmE`tLE^zLK>z>% literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/gib3.png b/texture/LAB/sprites/gib3.png new file mode 100644 index 0000000000000000000000000000000000000000..9960b52e347597ee53bb2cf2e85bedc8a67305bc GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!2~3KB)#GTQfwtbe!&d?fvo?X2lOWZ={8Rn z$B>FScc*ORJD|Yf(!Z?v-~Z!Qmkzpc1~mswzn8+ZPuO3T?eUUzi@(H6-0{BJ62so} zDE1NO&cda0nuO-6&6Sk=@p9F@H=PYj$^-=$hxi#QD;(Xq*jL)!*x+Kz9qS2f z^XE)5n;n0d*IV@KYv~H^!D?=`z7ypuB{dITXBWC;hq7{xtEvc0$s%5>FVdQ I&MBb@044%dnE(I) literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/grenade.png b/texture/LAB/sprites/grenade.png new file mode 100644 index 0000000000000000000000000000000000000000..f74b91e889c02e0fae22662fc0d70bdd82fd94ab GIT binary patch literal 535 zcmV+y0_gpTP)8v>!xH?(X~VEGJ6RLJL#sYEt^YL5ybp zqxI987DZ9eLI^<%DJ3lqhXVj?ciT~e#6CqDz1w}pbl1YqXpY&UDd?cLi0C%ju6Lr5 z=#D{A6tt~AVzJ5Yng`qa@vR8q%A+jb>mCDJ4&6_vWHlFakqgdERH>Rmi%n*G^cXl? z#?q2~-9BIICn360it?$PY)%ID{!o~)lyR2lIRGeBm8|RzG@Z~|%bO)7BQ`Wj&jf^K zoN>laIL5`j=$+LXLKy;Q0D#z-2}X}5)pO2!8@K6>LDE9|`tf3izmI0S^bn3Lrw&@7 zxh;=UNu2pmiUGhp&q6j1cR(|n*g;6t1`1VZ6u)stSKzfDLWC#-bO^l%12&PFsIX(8 zBn~9esfZUU)U}<@^bed9=P7_B$-1udJa71KRn>ZfAUMk^YHM>5 zB9dCX%JAjxL2XS<>Ni=-I8V#6tg2ds8n^Mss!uj*EeykDqs;R>pq9N3ZNx3-p?+!@ z&WHNejD$dqthQ|@r{Hz1Np_b*R)}JELi83E%ETDQkti{_7}hfB%QQl99EsmZi!2${ zA~A{(wp%?&OoilI>KE<%HwC6b>sS%j>D8X|bkQul0^j$OBzuF^e)mFRcUG3=qdOK| zs3)A89D3#fXoO6r-F>nb9~7Z%t957lXL?Bf08>WC^6&5LIRF3v07*qoM6N<$f+KS0 AT>t<8 literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/i_armor.png b/texture/LAB/sprites/i_armor.png new file mode 100644 index 0000000000000000000000000000000000000000..93c5f9b1a70e5210cbb4e51d23c974ab2383e093 GIT binary patch literal 1046 zcmV+x1nK*UP)o5!Js8zfi(uSW+;@*T3b4G z^6J%7r_!vRO`$_pK}QEJkj3DkA%-fTA%+_a@eoLdzx{mGNhhmKXa+w*kga!jzxRE( z@<@;LlH}F@21v^es7Q7|MY01bk{wWy?0|}72UH~0zgu<~^ex9LRFkpz8TCu;Tq%3~ zU=$gPLS@$69;+M>XtqH~VQtS;E@U#W*a*=?^vb`p4_PLv!=PfZ+S<^jfx+k@|gTMJCQs0{0qbtlO5pRW^GgoDMh_!2V z$8wJFY&l1hZ=Vi=o|z+4uA_nb?lXUsF)bG{PDyzyBdM9jZl8dOUnSG?+l%2r&_kYH zM*{|%RAu+55Dh@$78r>wU#`Y2)IYa zSA3Q#86m6C9$Q(f+cnE3BKz>|%GUkrmk+OrDCphDMC93xSJB`N5qd!XTM)#KE)rlf`iswv!XWh{7r)ao_}QqQUmFTA}Nf+nwx<<2s8 z5({dI&r^k=Im)_1CPd0T<$#z;l{`bY)GPr6L6b}sXD1w84o^|u2#W3@BoNfpra(ju zH=z7+Rxn)Wlc?ba4L8{L-qU)xw)d-+eZy&y8nj#oL=^OHpiJvDnu#;rLRGf%5IA5o zo>9Y;a|u!X#QL;$C!X^>WU4Zxk>2`JG@Wq76ZatKb;1#sQszwv8)oLH38+GQ2)0aw zY9D;QTqI1RuVp4+VF|kjyEWV(lgU(N4L5)_nCfcbAWS?xFd`tSFZES$r%c3r5|yYj zzJyq|$0eis0IVvCDnW0R$okw> zNS2AvfpT-`ZgRdELu-RDv}G)2;!LMeABgC3csdhjt9iGc_GTI?>_b>TpG4>!2!!ee z{YI<03jYx)4z6mUE~Y-D<~8qr5cJG9S6z4s)91Oz1eB^tSeY6Er9|IBFR@&p%npHi zF1*|8g4=$oJLEBy0D2D5fwHSC)0s~$B|`Rx##4LCY;EbEW1d@H+%IUq0h=q0EfCT` QS^xk507*qoM6N<$f~36dq5uE@ literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/i_bonus.png b/texture/LAB/sprites/i_bonus.png new file mode 100644 index 0000000000000000000000000000000000000000..3c2bd8ac0d085313301300a651c3c7315c8ad4d8 GIT binary patch literal 517 zcmV+g0{Z=lP)r=YNh{Z5ma$$T@(Ow-mK?(j^!JT>}1!Ji;_b=X?))+p8; zcuf#nn=a;yBuNbA>2y+Zuh%oIl+x9D6+|!@PiM1twH%E`QeccJWgN#+$g)f+H=FHG z`mKj@9g%?~NjT^Fl2Yp3)qns1hQnbae{ggWA{sKKG|zLX$@5&MUv)EJtpE`TAyvKN zaOb2DGzUddNTDoCLr^9gLI^wdblaBDE($@j-3?>=#Z?D!Eg{Lk00000NkvXX Hu0mjftJB`s literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/i_clip.png b/texture/LAB/sprites/i_clip.png new file mode 100644 index 0000000000000000000000000000000000000000..711cc8dca5068512b3b657f8cbf9ee5bb2fe0d06 GIT binary patch literal 368 zcmV-$0gwKPP)=0fI!4BE=$6P;9ZqLvk@lNTIM5BLVg}KN3iO)hlN9o03{{uI5)>@Kz zo&z8Wz8bs6n^cLAuTU9X{{}%HRd|k&IcLeD5ozZlPeypf#eEV~~r#=DYXn3}-jKI7A O00008C!u>e+oCAqfpumv$_SFJ)Mj;cU zkcm;q#3*E96f!XinHYskj6xU>PAU01D(2wt2jHuS(QVN>M#WQPg-*y5nlvRpr`qv}CEo z?QylHhf3!%5kdev0JGVQ_B5sfuB-{}SoJDP&-WUoR1`&QCZ+U!KS>h4A~%cEY1(6M zjDP=q2jD41D(yQ{H%cLz_#9+&2+3}-mAXW#G)PW>*AW0oaQU{XMfh2Vx zNtaDdvBv?xXmED`fN=tVm-nj$U)rOZd1y4hi)qz4y9?P+afNjOVr4#<&4-i1gbv7| zuvV$e{F72DECrA~4j#qKg+Ed=l>&vnDW{=WB2!UPQ=0I9r);x&drsz`0?5<&l8*8t zq+$JM=2E|^%if<$nL--3DCejIas(_BPh(+hyx$Ti#YAcHnbZ=9Wy;fpP8ugX-sJMS z^3f47QJRX@unGvk(|zm-x^q4tnlwoFg3W>0f)bgw>O-l5YQ?mwF?t%xRISP!N|{`P z;-mng#=_9}HS@LGZGgN|y||>rjK%9`?gmo)v@eSVL#c5Ov>_9*qAn1BYGo_xxvZ{~ zJW4)ZH9%U0UJ+?f7&1Quo8-y-|x!@~?p z=ChmWO>APHwcDpcx3;vlyk9PytB5kKbZlbIWlqlylo~3nlvdfEIHHv{cLu=EAHU{z z^WIIj2wL%WA>ToSD;d6hx@G~bbh_Og#RbOIcGeYnnLU?Ljrz;C&%p_ZpY7>>xnSQ~ z3n1O@BqBkHQ%fqx{ROajt6Gl+BWZX=MtX)10e> zE{7ogWNO%98B4C*RIN9;+*I9S_#k+N@gsZ*c8AdW==&PddEND*T})q0mXDywawA=T ztO01F;2o$;>o!8r0+!tCCgOLcseymry>23&4WHZmMK5`Tu5;$+FQHW6ab3 z%vF5>SO6A)Ujk@-vUa}PpGj-);;!k8KKj_5@Aj1vGXaQ9lMx2g)rk!I+3B%4rpX8Z znz?^cN*y0$_<&&U&BTdJu(Bp&3c$BI>*)upag3=hddLWXk}(yN+>?q#h4H3d40}l1 zT-!as2k^3zv9~8U4aaC(pN1cr7xYCVZJQgb3gr4ye;9W;_t_b5{~rOg*8bL=`+@w*Z`41#k=&Wmux5Qi}afouy4~4@~05*FEbz{b39s+l0xj zzJHy12Rohept>?X6-B+KtwCHDVs+PVr0sRjrnlu@0J*l8BMtAN?Q|qxGIwg-PE^5% z;OwZiS{66m6bz`kC_;N1%hhRU+r%7F0{D;TqkfCf9^<8~AVS-Dw>!&R=C>`^_GZb_8e|~zP<$dL8=a(A>8+poO4g^O>Qg+iFIOQ zt?d5-e?nkWMHaR)Tb{5vu#@lF&aJT_t3st3L#XiuJpV;eTifZvSl{~GH0I= zSO+`w8u-4y)G$Dz$fcucphm*f0Zp6B%SI5imJ&#XVkcTlLS{QGbx6Gb$X|sT(Ak1$ ft^a@1Ul;fU)!h9xf2Pov00000NkvXXu0mjfOw#by literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/i_keygreen.png b/texture/LAB/sprites/i_keygreen.png new file mode 100644 index 0000000000000000000000000000000000000000..6a48b2351bad773242057948fb473d8110b9b90b GIT binary patch literal 549 zcmV+=0^0qFP)1U(F91Sn@1pkWQ3qr z1OiDiH^E3M_yZ;;Cx&P!iX~J`Or9Ew9O5fScWd^8bb#0s&3D({d*ADQy{}9`VVPK4 zD*H;{UkI%0h+!i|UWNCFmdcda>-EdCv(x!m`nc!@ZDX<*1h4);1qo0 zI$Hohw-bUo#^!A*VzIM;gN%e@Dd%6338B__%wm)Zl~>Lj=bQ=3)*g` zy4#s_KqkmRV&c;Ts2s!aEezlE&~SjSa&ij(VtX*`KT;q>PKcZ_`2(0`TC;hp^#H(i zT>uo$_#W7{y-+hi!X`(bn{Ek_1L`*C=U1+Ky^ug6G&|8U1(j~Ij6>o5 nSNU`;JWb+z_81?oCaXIbh>&UfKePVfe;q}h}P@?aIsaO zy4d<@6sWvQDMZ&-32&({~VMO zW8;ZEp4j{AL~Bok)t2e|=dTrX^?oyF0BEMVkqVfJ72s1uBvga~qc|G2GS&X9+Mf+u z8KXGbSHL1zL1f~G2>5HU?S*YGWawAGB6wDyDp1*x^C5!Oe87&b=XE_FTKs{9>!8n>@k&I# zSt=D|$O^(|kQBPK072sD0fJMY1HMB(x*5bDGPi^svg|gAHyq{=1WLA92DfMPD}NPU jgHF^KR-FG$|D50hP)F!$DR3sL00000NkvXXu0mjf!p-SK literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/i_nuke.png b/texture/LAB/sprites/i_nuke.png new file mode 100644 index 0000000000000000000000000000000000000000..ce64e7327f3c201c06d2789865f1d4cb9040570a GIT binary patch literal 297 zcmV+^0oMMBP)jCUhjqx#l8KACn<1l0}4hkQ2_SH%tWN0 zW}u+Y=z`PKUS=sDu;Ga`0%q1H(nS&RPn|!4oqb?QZtDD<+y-EevkaF~{0+6*RiuZR z832gLyz2_Q^1N0{jR@+i`H5W%!UN2_Gqc?~&iI2Qe<-h$EpK(~DJ3X@3oc;F9*S&qQ5^nu6OGR2Krkcj%NO(00000NkvXXu0mjfl6-xT literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/i_nuker.png b/texture/LAB/sprites/i_nuker.png new file mode 100644 index 0000000000000000000000000000000000000000..66964fd0984a775537a77661d04313867b79b20d GIT binary patch literal 690 zcmV;j0!{siP)8R!58VkvXM>ngJBSc;Qu1N@^mj{Nk!|4FhEG-&Wh`tjWWwk9B#CLot4 zAeSZ}mnI;WCLou7dX9TZUntn-+q=O4o(>TW=bUq{$?l}U=ROo*7RL(!j4{r6RaN)% z$#)G2Q38-sR#i35r`7vv^}f0dP=n+3Ohr)?Md2Lg)v~Xlm;o5wyChD8D5l(m(KDU0N=UN(+n6hO?1z4g^Nh!wwWy=h}e!m}n zO-qO}O`j=FlEhpkVHoO?>bh1+<@xUQ^*8kzfEi?eG8)-B7|9#TqWjhL$(%!oQc9^G znsKklRBdf{F|>f{x;`8ZQ55yQd`?jm5%hY!86F9MbFP%)oKt2U1ej4bTR=)F#+Z{p zi~LYZnXl*$()8N$;UG<)k;4X}6zlaSju%ezEv#PA66rR`3c@hdyP*Y?=R31LPtk$d z%f}e=$zU36J7kq>O{PW1qf=5!#u(-F31Dq|`iR;PZyx}#c>?ek9{_&gsSC##%k$j; zy%6PaP>2Hl_n`q%0lJLtWd2Edfar%-(VLSW+8c8KZCCozjg~&a?UQ;$-cznCn9c&3 zdEbVa!IO;jfO{br;f4VtMKTxl3KJhu7-DM4qftUg4-WmK4 z@mm7nKe}S-f-CIT3+=6RbLbP$l?Tc7qS_wruk;D%TUJbW_KVlhz4gE?dk{@PEtN#Y2oX4B;wpKB;*jAbkX7Ujib2+atVGsb zBrf6}VO?Y@Hf%PV{{}>7`VGSzcbD(`_HK8BDWHI7;^nFA{{l_y;@#$LBWD(m;_X_h z2^>F;0Dy=9;QKz02{h9LA}(P`8)(0|c(hbNUI`?J1Q4<;0|4h-6h*ug1OW}s=QEGH zAUy%!0mVq{3WJPI#POELWdu&xKrQ=E)>#+K-3@r|)S3?6<3$3dl)@*$2-D#<%OHMbKP*sQa+=;`S0RBp5g72wqLJNHb*`=k pHwc+^RkIsk{jEe@Fn|8v^$)IY=!mt`g&qI^002ovPDHLkV1m7++%fuKmfp<%$Jo`%NmV5Naf8t7Pn;edfz%QEm0HthXM-PE@<G`KmH$AOJm?T0 ksSig77qSt^rxD1f|9Oy7ESB4rN&o-=07*qoM6N<$f*1un9{>OV literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/i_spawn.png b/texture/LAB/sprites/i_spawn.png new file mode 100644 index 0000000000000000000000000000000000000000..bf36041e3264225bad1cfef9002fcdec321980b9 GIT binary patch literal 469 zcmV;`0V@89P)_~q&K!`d^zK?tTR87=*S z9C83CY|$q&%4EL}zB&LfT|v<5kO!MxL>)f}LFsqCwm-%Jk=_ zP9Ik^sfdWrIn&i<7XiTKEp^B{8#ORRd1gqxF-Uo4RLmT5dK!psfE2RP5QkjF3|eDq z5=RWCD=FmU3MlII{d{ThWUWcuNny00000 LNkvXXu0mjfPb9*X literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/i_spawner.png b/texture/LAB/sprites/i_spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..20cec50d76df2cf34bedee2b9bc2d03f715f8feb GIT binary patch literal 931 zcmV;U16=%xP)^vF3{2q)zJ5IZJq8dI^kj&BlKAib z$ERPtBW;Zf*Ei{6ZZ%MeCXU+xfEg12DMjImqVNEulExUVH9_lcL{q-v;$)cikz_|7 z0B~7JI+4uOsQeog9SWk6N&?VYQ$^0s&P;BFYLZXh`Puba0kFn-H{sg=5XbGyiwkQU zEj7-~vOT*15fcsKxP9{TRH!F5dpDU69%&#{i>v}L%173?xT^s$Q%F_~6fyx|EF!x) z&oEDVIOWUD<8hMESdLSnTH&wEmtEdQT3O@Rr|JizJZR8;QxXeT@Mn~dI)j*g4Smwx zhz9<<2XOr`b4zz4-Hkefm}meHO}Je}sOL0~Lbbe`SU7fqJmcmnIRxM?P5Vgh()4s* zHK`<(n>r)Qu8Ag$(UX$V_9c5m(XCVG1E5e73OU5%NUOo{56wD1Y#}HU$rwW!S{LdN zh(j}*pIfG(Z} zo?f?73VMgQaltoWa=UWxmD=d#N~K)SXVO9^(mTK0|66Gzhf3l)a=l6h&;{Y6GSX_p zsSn9;*%qSkF-aUFZ;R~#Bd=y!)-H));hIl5MVZ)M)v&)w)YsZq6Hhx7dfEsxJ zx=U}XDgI&){{}692=J}MyYG^r|EfJM*`BBds?y#8{R7Ec&$M+QjTHa@002ovPDHLk FV1fl?rw;%C literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/insect0.png b/texture/LAB/sprites/insect0.png new file mode 100644 index 0000000000000000000000000000000000000000..6510d6432db5016047c879f9892bf593bb9c86db GIT binary patch literal 1856 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 DM7D$; literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/insect2.png b/texture/LAB/sprites/insect2.png new file mode 100644 index 0000000000000000000000000000000000000000..0daff02abf12580c9dbf5e835a572b402154d68f GIT binary patch literal 1844 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 q!N+z!`ry;Y4rj00006bW%=J0RI30 z0RM@=FOUEL23<)+K~#90)mp!6BsUcP92QovQwUCli!D?P)z8K$sH%MfX+Z=$9H8Na13W9rVq!$&$G|VA;wGiYg&y@%oKhFXH^1LXl|B%A& zYM)%&V@CnCVD@@8<;v`C?P(wZF8i>3t%gX%&O-a3XH#Oym)YIg8)o+YeeL@Y=q^CW z5wX!zeL6b>aC`SLLq`7=wxE#UODcrzdur%w0RY)La|CNVv>)#!}U#VNS0k`inhoYwd1Z$a^%G8|lrT+7G0NLAb zxMrnpDK#SWWRGqFl9M9J z*ljBrQL|8TazyMIuG>gGIX6(%szqa83;s(9oSSFt`GIWDNHhotsW*a#`EL5gt)xq~ zKx3!z-9=eI>IwZ&d2KB=SC?s;Vh>TOOw)98bs5jE5wS5qiH+2-*#m3va%m;7xw=fh z{h_=xpSfOZP1-hBmnt|6aMyt{wC-aCG|WO|O{piGnH9F6sD%@P^P2~ilwn}1SnLJG&7%8qa6Pm!lY`EwCg@-5yn+;&xNok|=}6{Y}? zVa=uhVDgeEfY(z1P|g95F#zz_8mNZ9j{3Ik6of_#@RV$`hr&MF5K?Z;@o+mIo4jxrZ;O- z2`H+<4uFuO$S`Pjq5S?aIXSA<{E@fSl6q3u9cKi$^YQ6&Yxbwf#Qyb}2EgnYVKfgQ zzPCR!WcOuc~{W1Ww1FG2rRd9!(VRk267T_KbxgO=UKP;d{46uDsml1_WZrHOb zJ&~IMO`$xP3%LkqXm0@`@2c3;Cx2dgQWbXYEioH|UR%oAwZ`?X1NU+uag7^Mh~Ay` z-4jQymmfwj7N)>;I_9}$-%F}io3g$F7_~}1RO3tR|9D%jdM>~4##UR(;RTRyoGyL; zp*7g^Z@$Z&A<#y{0B55fD5(t7H3U)NvhUp8Fana3BR(35fso^vG$96qSwQLpNC4O@ zug&Z|c|wl&y@nb7SmiL(LJ-~Ksp4#+uv=yvQV$=}*`0>5fcxKMRsKS#`OT#&ZZb(upBy(JL-+LcsN&o)GJ2LvjRvz4i9l%g_=pul2z)T&^ yNlx|QaFSq{EpH00006bW%=J0RI30 z0RM@=FOUEL2d_y)K~#90)mkx&BRLlSd>AZf1%gx1Fcnl#!9Y7`mOI%vZN4k~cqpav9ZKn8;^c&=xaq>{_!zB}#( zO<67JeV_E+)6=V(?6JrHv;1Mi7`+gBA)Xh<=sC|OP~B@)$`P7QiYjGwug@KI9syRM zO8JbNpcjG{0rLRrk7@mz#Qn z7Bnf=3z6gy?@zuP{kJMLfNEY=_j(|QK?Ddr0Dt+L&n`yEEkaEJ=t2Q#)+Wa43%8is zqQqGoPMZ)}4x4rJW0?cmtzhFJ^l|@~z;GEFg<@g!Wl`SE-vD@c`n5()|8>R@ z2mVP9asP5&5a<6k0hW4Q`wu=KT6-2Uo}mAQauESCZmA?gp%wtn?0_SBXLjT;*4Usw z4;d$8lDR+_!NFNO96Ap{hYO*TjNbugb`6Z*VvTLqMi)vKsuFjfHXj)J+v|5L{Q#hT zTGQ!^Px=*rvMlLeRaO1+^bYIgUy)e|s;dYh`_VHAN9_@L$eroz|Jh^0!Z|KBfh#XwG=N*M!ZP|T?h+o|9lU@Q;Jztwf zl~O1HxV+-Pl{pXr#}MRq&O;~T;c9;7!kNoPX&8BrUnk7V$JbYlYhBhJ(Z?5nECIo) z^Vj7Q_krYFjHJ-=(=L%KqZ>mXZf7t%>M-Q0g?`8NWoT8x&+1O~+zK^|vmFczKCEuw zo}Z`-1t(PBvQgY%e8KIYjNz)WbuWT>&$^({YgWtHW=Xs=_w zII}hN@p(AtKJh1vg)Re`)ftov`Q!bYS3qF+CIqe=OvUrW+G82>k}rR@53Dte8y?H0 zZz+?22Bw+$&I9FA0wgiA7}k(JBjg!A_JEfou_*_4u7Qc|2ziEYCAyi+32=UgXZdjR zQUX2*KVyw^A$XZ)a`-qIZ$k8is)7VyYRd`mNui)A)QpZ^`qXmxhoXUuAwYK>h7Ru} zZoj*g5}^-pf=F29&4kV`qCp=njBx8`I0t;K{zt@{$FKY61={VE_OC07*qoM6N<$f?J%}2mk;8 literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/insecthit1.png b/texture/LAB/sprites/insecthit1.png new file mode 100644 index 0000000000000000000000000000000000000000..9ddfce53de2b0434d1a2cf7fa7a0e82149f9ca64 GIT binary patch literal 1544 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 u-n)a7vmU%}i-sy(KKe_}x1I0000 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 LNkvXXu0mjfNxA6O literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/mutant2.png b/texture/LAB/sprites/mutant2.png new file mode 100644 index 0000000000000000000000000000000000000000..f29cd6548ae2532a560b98d8227d1e834834d6d1 GIT binary patch literal 1447 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 IM6N<$f-4!a(f|Me literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/muthit0.png b/texture/LAB/sprites/muthit0.png new file mode 100644 index 0000000000000000000000000000000000000000..e05403c9c293098ed13c6b52d9a0a14278e9b3c4 GIT binary patch literal 1519 zcmV00006bW%=J0RI30 z0RM@=FOUEL1*AztK~#90?OH33+e#EZy($O@FbJ@;mKrc%!GK5(h_sPf7`R}ixKcs? zN5eM#4Fx3ymFh?rEDXG0D+M%Cz(9jka-{(a1_T6LX)ie5;}hHK^<&(xus+0x*$LV1d zLiFt=WPb$~zL3h5(ltgSXfotujJ7Bt%RaF11puf>E2ZDAwukt8@TMQU=^x_nZ&zET zPAJ89hkUJ3*X&4W;fwh0;0^i+%Nz8`eaSxfX8=GU2+s^=5&(=jHco05Rsd%m!SMk9 z`Qmv0>Gl1m*Pkzra0(p{XA|Lhj^{a2y6XC>*=pGF0V&-0?!+Cx&3ym}|2hCb-@EuW zPk$l~j?L@YN@Rcynp4+ zCIaCS#KK|$Cmz}2nR(huX%*>Ov9%Qe^xfG+VC`A!T4GByaHKAQ<`P2m_}!QzfB^tb zBfQzs_uz7rxt!JkPs_M?b+eYpFu!_Us{1@>c<_qw>js#p@FzlFtH^68As#vbV7-aF zL0<}&_c3a>C#`2X8&V5i&RvLTROHZP1rR+ik1>S-fH6nUOTrGff{~nBP*hZkSG0Nr z_{7s=g4HdJ1M^Pm=;PRM--u(w@0kcG7m+HO9UoY3qxY{|fRpHn%@+Vj;Tm%?sVF&k zK+icy=}PJH08nmiO9`&j`0k)0jh~WB2z}-b`Ak>E>aDrI4A@C)R` zLr$M59D;X~>J5IYFiMX}x?YN#4>^vYt4JeyDqZ;^1ec?v@UH&~zBvJ0dYpS2OkSxA zm*b;}PpbcXyUcu7DXn(<>J@dvFj~08JmApam!EnuNc)FE%M|3{&8~V!);5u)vQe7e zw*kPHpJh`>h10?p%T+3~20d{rAK*a-Q*2?L!s)C6E)(LaSVIC7r`MYZXAWP9&L*Oy z+M)J^dk9$r^w35^BwWnFO6m0`!ltYQ1fefnr3Pm6^*YY|lTz^p{lZ$PnYD6atU${P z7#?2eEh=TMf5i?B^(eGOP-4WkJ#;h+1b8zEIb^&~u(-2CW~ZU4qG=*&(E*@60p1Xo z7)NhQJZQh^4^MVyotrfRv_baRY81YVXm7voFJ~72;K9w#E+v60M>(5__8Y?)Yv{z8 z^i=Cwb$wNGQd&Z~Il#B{3L`zGf~04!{N}lewUSV#!z#~HU1Tw+B_ZB$ zPz9Pltwb9Zl|$CLBda#A)^U?nCBPAMTHDmMhP#v)4LO1C=D6IN@6_WuJQr@Ve*lc; VrnAbU?v?-m002ovPDHLkV1h-})baoT literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/muthit1.png b/texture/LAB/sprites/muthit1.png new file mode 100644 index 0000000000000000000000000000000000000000..23d3bad523f796ecd84ff2f179adb7253e7cfcea GIT binary patch literal 1400 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 SYls4-E(T9mKbLh*2~7ZKcsl9; literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/plasmball.png b/texture/LAB/sprites/plasmball.png new file mode 100644 index 0000000000000000000000000000000000000000..1544a2f3b87d2c187c1de1468a29f27258c6e36f GIT binary patch literal 508 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$wvr&fV21xd*8k1}`V$x!7&m&l zIEGZrc{{^!-5~>>wzI+PZRHJpJv==zEtd=0%BA!Uoj7pf1fzt+goKVM*VW2AbJ$lO zx*ukm`R{(;WtDDqo5XW}BDg0!Vp~(ld~F9~_MHaPyaQ6^3BA%AmaT2Pomg$1Gn;SY z1=|Z#PW-(qE9xF%93Y*kD{U3r5p;j8+1;$*t4qZ)*@R@L+)?a5o%utM#~IBdA@fZ;?%ovk3}L?d zYGYdKROf?+4eqN0Z12vP&QizbHc|PC{_nq=?mzy^9;@PcA+l9S=;FtZb$^59PnR#2 zd@^Td&CzAI95l90Vyf^DW9zZ{w@*`~Zsy`xhi$a1CmYqAWHgzJzAo6x#j4rSTYl+jN0vfo%tD>J*`jl2@9gZ>UC_HS=G@tTSr_%o v)j8`*MAf&Leqc=7FI|crqQ`h6J~K_5wlP1UU{5hH5*a*Q{an^LB{Ts5uZ7>Z literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/robot0.png b/texture/LAB/sprites/robot0.png new file mode 100644 index 0000000000000000000000000000000000000000..940064c02c9d71806cc30a1d409d6154396fab2d GIT binary patch literal 1631 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 VYJ}AG0ayS4002ovPDHLkV1k%R97q5F literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/robotatt1.png b/texture/LAB/sprites/robotatt1.png new file mode 100644 index 0000000000000000000000000000000000000000..e7f5764b841b887767e2366399c4dd773f10c760 GIT binary patch literal 1540 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 literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/shard.png b/texture/LAB/sprites/shard.png new file mode 100644 index 0000000000000000000000000000000000000000..1b9b8351646242480964d51c6b0a69ac047e5fab GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W*h+%@f*Jk;S^ql^=uZIB>pWc? zLn`LHo$AfkpupqO{qbM;vDS+j`!92G3-40lS?^$-JJ;%LPwuOi+#49U9b8&WbjXk?AZ>%N-p*LpRPlOl(*tvVcX%e=S#U<+e71dH zFVdQ&MBb@0DM?w#{d8T literal 0 HcmV?d00001 diff --git a/texture/LAB/sprites/wasp0.png b/texture/LAB/sprites/wasp0.png new file mode 100644 index 0000000000000000000000000000000000000000..9f7ae43d0b8abe153a6367f54bc9ea5709c20c57 GIT binary patch literal 1082 zcmV-A1jYM_P)>+|iFOngB%IdG_J!bo2e(Tn+jWfH&WcavgFi zL^QW;?3<&#O==O=Sgyvn2BWsl)|zeKLXI{o(kXQyMc_U z!Gko?TAByIG^HpNfOM>GpoDL`j>Y4h?kP2hfJ{Y6Amb(Bnxj+(0?_sx%Idl!Af*z@ zO_cgLvFZw%ScP|4+jB@1*R|-%b<^((-!7Q!xt4!G8%IM*shbO!23bV9OP@5@hGSkQ zQ^{(WdAsn$wI8QBT#HmAy+$?3@gSxHJSZt>XH=f;!?VvX8%iavV-eHJ%2V66ecz`DQcA-jRXZ_CDdRX!4R*Sx>)tHy zMr?5$ODQYGhxr`JrJ-rGAD&aUwRB@T6H`?nqgB@SoWOP$7Z(W&K$0XPR^#EQC9p?Ax3OcvNK0NtOQO_+*+QkyKL0nqE6 zP-ESjWgu#E7eJ%2Kn+GGE5<6H)WWw(3lS>{&6)PY^ZoEVg+g8O;YT<~sg+FXY!ph+ z%anx3m@icoj>fY7El~ZYYS-cP+&sd3`uM22*KtaLiXvf0zuRx|?BpJ7LtdxJy zkLq;?2J^aP4t?na{eG1Fe$0^~VEI!1qVDwj(U(q8oDQXu?S)ah;{aG|39b|88{)DS z&H!jM7HH`WaaqF*ZVD&r4xyMVd!tte(a_h`X;N-|il4(@5Q|mMZ@;4hz07t!| zpBB973*RngDw1sLFyJ~DpVj%bH6cw2P?jkd>!^3c2eB+lB^sEVhd2s_rq9v^tfP;d z4Ug4B469!2-jk{L)HsvI44-pN#q2=N-{<06cy3@!LiH z=Z~LhP>j;ZZ;VXCvUDs)xhq5lR7Cj}Ohp=!BuRVk{-*JRa+(q^%c23$Y_1J|dv*i# zHNF7!J%_G)dq|R0>39w(Nz!{T860Z!*Ns`8K8Yk&U>fZKa0Ir+G);boxEmcJ6VLeMenBkvk;v{|XX?z33OmUK0^E6~l z+PQPRvW56~J(GzAaqRSj{!dTFckSph0nCECwKJ>YJOQ%tzH>Ot%a@-I6Lg z3c_;#w*!?(1M9zUK6LFSYnVXmn1EN3P=p^M>)lDsYJ3HGWO|Ci8ad3GYTpB1eB^!Q(om5Ii zQy0BZfJq@GM8z~wXSMa!8^!w*AQ9uAcyI|{=7&;hX96PzcG zH^WsUSO?H}wqzL_=RUPh*(TE!NXisz^@5-JYlus1}g$ zZO+Y65E>jb<@6Z0I3;o#E@#;fx}vx)xGpSQG6OWDx%M#VikBx9ZB({X=V?mH-)VOM zj3?u}43OLOg>RQLm6hz}iR3(&|1jla>nmw0fQn4FVvQ$bei198EJTAk??dc`T+?Ue z0?wmn#x-B7XP7N|?RgKEVsqt6qa0-J1DkM-bhAkY}g(=ps#RwLnPFK9u^JrJzU0XTM zg&vETA5U*S^L;ZrBUR>@<1yKj{~I7}8=xZF02SE=sK_=zMfT``o~|Eaziv_CGziy^ zR$1pPV-(%i#CizOe%*2%ldHmysE}%W7}-65E|2yA3`afy+cLO)FubNhxBUw@%1{Al zw;TY!{`t?(2f94k6J9tJl18=d1V~CHLnZvkbxhkb^mbxxySCe~$}^SPWlTd!v2BB% zmCkyv>zG3!g%^^#WvqCY4gT0g45Fb-(d=&tECX5+sh2*faVVr?8<$6WWpug|h~^Z> zGXTC+{b2g0R^?t9s)WNfn2*b}fD+Fr?g!JhRK!G$Ib^GWbQ+~*0DASU3quV23b zu&qR%cNgFP`mHIYvMqy{I-QrMX*!NW0e#;;JUjpRszouG37Pb**kvgiz03FgD2h`4 zgW+|rzQu1NwkV2x-`86xnu=#i&Ef^wYK897CZC3uQ9qbcwcB1=&cu`&@9=DtuhWu3 zchT6_VltUfbeeRtxlJdA3{|hbMGw&kKWa9&*)xiw$z)<*i@S76NmZF+etERV8!Agf zC#W!O!${sVN+|$tB&kXYz2AAkhng^L0J=Xp>!;htS1l?SwW?uMYqctg^fV=mPNN^@ zZX|h*#kd7pi)4tW3o1sE;pk4c{V-vGKSfK0LgGRXqSBnu#uJUXDKwc69YZEpYe>F*vsY z(!%n))n~rjW(^Zi)+k@h$J5e$d~k79;>N}c?mMZgvJ zV+Yg^yyN70clQtK9vprFu0C!&PqTt)Fe`8XA5Ojl;Q5D#Ul4c=S(_UueIa&Vg}q)6 zKpe-Ln=ik8`xk)kO~doy#wb?5f*@=C`3Lz zmb9xw#<_HT$8i8q%FfTvMV?yLkQs<>Q1(GI07RZrmm>6W<2jQ_*9V}^r^z-3Im*(&iHewV* zQCF>ygHa_UM8uh!J@7WHS~2LqbRGsA9H8~oIY*7=y*|-eI3YVcQB^xD9QQ*55Su(!Es`L zC2m^DGJtM(m9}1qn--RFH*uol5sJ;Wx4JrrhF({t(WcQ5>!~Z_Tt?ZOEn(xx3P^-5 z$L1)>G!E)=c(fr7iHx#`+4lPzqPj0QFD#rg4RlH~v#`G*-k%uCsOh9uX&Tbs>-GSg zjqd&Yg>vYN&~0XFO4<7p$#JgzO~}I6)-Tc+fT~QjSZAX%{t&C8%tZs6?;*BArs=P7 z1FPuM$(EnhCCYi9o#5Gn%&C2Be+K<$^6379wg588qXYT@03qk2g<#t200000NkvXX Hu0mjf3Dc|SzEpBAn`G2@EiZ5Wq0@N`pRW`(toX9Sopm!;T5zZT>2Kl&%XY-`D z4hd|ZTWye zcjeM|#Z6sIR^gXTPv*1#S@C@9mbV)XjegpFFq?gMo{l5auYX=Sc?=79-=8=uJ9Vi{ zkAYRU<+X|_!CB(G7cUf@Vf3=95fc9H<_2_gPe98zvGyAI2`8PHzb&tQp0%$(xqh=Nk=w0%ZQ$@lQubaO1b0oyxXr=`p^1# W&UKBA&p}}HGI+ZBxvXd`lf0~ktb~Mwyo2_tblD4&CTX^EX@1+pWz_QS%0Pi zZ|c`dbD#btL#n2KUE;c7-)=7Eviw+#w`s#06C10 zN0UowJpsUWTS5rbo&7ztU7}ygzKz}Y!3e`|sP%T`L5CRh4~^i8_D1lzn)9w2wMWOF6@9qG2Iczv3`_ zCQiUC?2)pE5znDeY6KeAn#e|@P}SI@Nv&9Cn)e4hrau!)iP3bhkxHPdN~OQ)vrN9O zDJPwb(h2rDz2gH-+gpuY-`+}c=h1jiu@v?g#6<~Un6rDreu)q=neZv#K4%`zU4s86 zE?5ztkIn_Hn)j~VR8V9wP7=-40x7m)HxK@6M)L5evhHqhWBZyzUw>XDqrK{ngCH+>A>{mD7JYmJf^>m4a1(AxHvm?=sD{SpF_OOf|hG+)^Ms7_*EchL_j=24>!>l8t0m_B|(JF|VTQY%sz18{p3D}J8J>9tE z7yd8)djzU5o1G5SPr_rIwhdr$n3w*wWR9Moz_!QsjS`_^Zeu9ziuOz)XiO%itY&9* z)sMd%dR$#jx@IIsb38~d_TdJn5Za~I6AlDLIUKH!^ZBj7y;xd7!gaEM5LY9 z>`JTY32hvS?5T53hH6x>86qt$EpbU5KLYtt54Rt&FhB3f$Mf-2;cLb-Eaj2D7C|{u zY2{NqM9#s9Oe&E&T9K1-S`0NVmy1FjQjp<6Rda9kf$XJ|mXo!sE!~%91(u4Z6h~qn zieZ|wva-SuePNC`VRc=(OY4CRXR5qZ5NL83`cF>b5?mDkBviy(ys@#d*^fwPheY`m zt>@umV>6qwRDe0&vNv=)Q#Mx%d}3jmli&*lZ^kxS=linR$09Q)BkI9S{OW4*yDKIveaJJ=-5>XnP$|iPB=`R7uCHzExVl$>WPP&a!7z( zpOg{p>{4wfuixW8LQ~T0F#K$G1(q^(&1DD;KCrQ+rPOe5EE>=%=0Dku2ijcTr&DtA z6dqI9i6Gm3fe{PDFm=2w7N*9pv)5Mxyi_8Rut-^h@Ugu(fi=;AqS%Up4_Fgvez((5+ww1-C-3s1dM~Z`g$c#r`Cap$TC3 z-O3H;#@V`*xytRD1A{56ybw9!|e2wtu!zF|e9T2Cn-Xo^BtIKI2 zXE@>jp<*zps^8F^2j}Ki*5i`IVxX_ARuyg_mD#4(z1}*yve6qZnK2pY&U3~kPZ|tP z`15{1-Fdy?M;??69e^loT*tip55yS$o_k-veUrAAkn*qNd*99Lx}=Dr3fqqDLKIbX zO%x;-d2jw=MZ&cld@+2_QyTYz)ev}$aKpA;R=I5m%vl#-)7zA-b;3Rv(V^eS%#_o} z#MRZ+-JyH#E5z`7g|YpO)(9Jy$qxLq{`bY9g?O|XHANe&}0{qvy>aJsN1HT zyX!O_(-k8(LV7D={hEsqFc~6*7a*-#>D8n%{N1?1$-=AL3;hi~uW3hHUcY|b(sIJR z&{?Bv0li{x^kO&y>b^1iax`tj^=Wpt%+KQJO)-5g>h9NOg;{#<4=hvE=`Td46MRZ$ zbnkBs@{VMBn;KO^#$m+jcfg+I*bi5rB<3EuY1TIP)Q+80m@MklJ@ZJ0uW|L@_2%LW zn9+@mQwrG*C=|%`siq#VMfYT2?Y^Ij@F;;V$@tXzV3frJIQP~%i%}8P;8%Yq&hs5a zE+cJGN#t!H)lQY#H%{u<`{s1w(}@KbAOp^Qdvi^9+&nTe@(Z)K(aqCUv&$aX5%ZJ9 zn1Fo+L0>bBZR|cf)D`*UHw$LRVdM!D4y&al%=mN)nv4^xuK+3^LV+nP7Jlp%6&X`# z>EFt!)In}F$+X3wdwi-l+`QB+E3vvLi5HdrmuAmi4^>x=Iw<# z>`Or7zX*4p@3Z|)r?(y;&+?jZ0Shv|BF$9^_AHuXK#Lv8Gtr zJA<~V+nZY(H`0_9S^`af{3;4Fir>3XZmxs-mGW>G!ovNCmVS=t{L3_QZ}{^-)7;8@ znt^@@`k$?>mOk0VXLP!@&93X49;B@NmJ4-b<)(tvp6xIhYwaxa^`|=OMjhR2ZQ(z& z|Gk3tC4qbt26@rb8!0H1*y6 z@@%h<{VU0%D>hu^-}>LPAnVDvAJMC=XIqe^bsoLNYd396-8$OD=apB&U#l34cAkDl zzY5pNR1{y{v}Zk6j9OuWmx>i}iM9|Nq3?A3q>g`~JSe_r7;-1uj59QQ9pNQbA}N>q zzh-8x!Zf{=46FYUotVK14kYzKXP1OrVESB7#n6+vjgA^*B@bG>ZI+4$?aDRGb$Xh% z(HmDIRb-I z_M=;aV1Ll>_NS$rF9qT>xM+Y{mPvv_J{#=`37@YQ%&zO}VB*q?(PZ_E+P%3mS(go; zM$669<~GpeLwQc_Jc+B5+5J}>g@3K8BNW-yofiv)2^89+^GYT!i~)Mw*wGbneC0XT zAN^y5`zRD%?l$Hq&6KLWxgEq0Qdag?=2t`x;B5fAWiM)75nONZizavldeifvT&@Gm20v*Rl#P>^mKUPwZ)zro6m7 zv90btpP^II8y?>sXI(3z%r^>VEgsy9qw7I_TQz`1zkYeZQ4)YYPe+LklD$GPaPWxe zy!<>g%xMP%Zp8^cU;S)=F*@;}7tYND*xw$Hm3t%sFPfwZU6OqMq$Va_v{dJ~9{Pwr zF0aHEamGK(d|{Sxg%5heVVV~1?0FfZiygWg9Y7%eUM1jWjxlfMON50ZM8#14&BjL3 zLq{bDFq16SZo3saT`Z+KUJ#=Yr+DR;De0F39lhd`lAaZ1WIuUg@Wb*t#%bD4t*|E) zs$q8MT}`M2ud8A}(16?6-lp~yf%bO0zUM+Ah@H6fQ2GGVWS7%B;$#;8hvi^11G!$0 zJDF1{68$g67WCl)6X#%aY-QuOt5JNFS%0~-bEhPwa`uIPt?x4w4_e7?53S{=+GFYG2P*?EDz+UgItoO6 zyc?@`;Zk^V1`oP*Cw(kB9;R6W?z{GL=l=a&yS?Q& znkHXN2zx2Oq}*R1NM~t)wiYIwUibJlVks~pU$k6pE^d4hosd4C7mroKq;3HPsJB*YwPlhDuPqcQ#nP)xp@STZ;+jGY?yj2xl2oizU;O5u?I2~A^h?{nI{?iAo z-7z~~E{~?I=M@VRsKUFWw&Kk7gJ)21V88wlQLWNr0@FoO4(kJ6Wv6BKs0JJ7=yvD_ zu{>k_$(>obJ;l~2E1bZ4;Wb0VVzeFnNEmns?%#nUg7-XKpF&zp0|^q;2fg2a{Zaso zKzo~S%xP(BCy$;bIakigVNUEYD|W zZGt1_cSkBr^LK9DRD>X9O)dL>up{5&FqWlmkDG*lRU+Na!h{NC#YkmYcC>ZbyE7zE zjOMZXNZPTP-@WbSsoQA&iRy?`n!`*JHbSxCX4zrUEo@sfIm{l|ErV{Idz-prOT6^{ za)#z-qrH6!xfY2R2N!bJ`TKv-hL zc%UB%l#*b>h?k$MAGy$TJGrpX4dhuWra6T+Jhws)v$3`HMRl%t&-ftwm<7l7e`G~L^dTA#tAdzV zC`rCDIe$>3svWF7E^g_=(B5)o1+KY^x6&<__Z*}O6*+qcvToTX_9u?&erPVYO_pWn z8^mN9=49wh=NWUa1tqOpkdXbt(i?kGLOj%0WbcEP)0004(Nkl|vAImp91q;iggEFpzH(mJY zmR3g2S3$b;U~!DGLwQx(w!!VKDwPMLJd8tmuoz83{1{bON7q>QYCj+mIfaz^k#l34 zB5`U4_SX8|e!!so{{S>bUyR-Nvt?Uuof$_H<2Q^FqtN5Z86wB1en`BGvoY#EktfG1 zg@$3k)?uaVy2CnNDI|nAs|AkdM}1@TVh{eG1H`BhVw$EfK_GPXkz-T{@ipM4=x6um z#`^zHqs1R3$Utg}HxT(!A06CF{RL2rW)B%iP4NaOMv0004DNkl0X%|=6bz7#1sEV5gJlA`48Q_(8h|n*cm!GwjO{3vgh8(Z;>*{a|Mw@^ zP1EE)gNS|KCobT|d!P6f5j*Ex2ti5@g|xiAm<}dv0BxEdphHA$4Joqnx?vc$tmh^x z&tg;?8$g@p2e24r=J#W?%dSs1a&__pIOpbh=GGBq9LMZ6MJWUTTeYmG@TR3PDm+8^ z?N-Dn04&Qw6SRtF^_623050=&gSI^9@$~$WB}R|Kfg_qi2sgY(zfY_xN}(6L_cD8_ zgyy>tWq_|bxhY#Hx>L2Fv{6YDv$Ro36aRi2H4|$?89?|XPSgBJ{Fi^~B~8o{qrxVx z-$u>EHL*Ia4JAe;P0SLbk|t(}QDGC?E2cNT%fy5=R;S|-PhvuhN}AYSF~txzas4)G zCXQoux=koCDrsVt7?m`!y<&=CCa#IqX>FQ+Hrl)g9?fGBY+`K#@c;k-07*qoM6N<$ Eg6-6*M*si- literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile065.png b/texture/LAB/wall/tile065.png new file mode 100644 index 0000000000000000000000000000000000000000..a6ff864c53998ab2d7905140d6414c4ab60fa206 GIT binary patch literal 1179 zcmV;M1Z4Y(P)000DHNklqd+q~+|}nf>v-T`iuz{Q>|0*#7+kQ(Il%LE5nT>iQ19^l!fbU_0~=Uwq2C0tqNj<^D`J!y zr`QXKzci!w3iA^~G#}J51EoT5oXMeX4e-9Ns;G@e)`H9-n4iKLd^O~|)*Er{hJYr1 z+pV`lA4FLUhVY{ipf^$X@WR`Uq4T!?HU(Y+7`oX*V*TlSs%95CoBe{_jA4jHKPG^? zgt=ZlTn>ae&{)w_5ieK5=c5{@YIfo{Gk4{UNDHG`wVju-E}5`~U7(^z(1!|j^ky>uwfHGP11IG7o_WmI)dSq}{62#=4hXIIpX(bQ;o|D{sfvH|N9Ix<`*J!Ix=J43{5d9|Q9hA1_g}tyJpO(23IJ`l zZtuo;m)AOQE*j;oVqOr4BVG5ad9B9e?CqMw}w4EkG z65mY#nKuoY*a4F~9zo(JH2%l7^On*HV*;iO;3gQn=_&3R%tusFUtRzJ^Z;zQiaO!r ze!%qJQzy*0XPBWw{tG<-m&ES{KC=3u-`uZ%*a--fv-5jiNS+hsrv=UU>;m|`us~Fy zOL97;cUZXCbSJ3|r9yPYNye(-w+QHy_{oQ-Dw0YTK2ivjP-UhMs~L@m=J z#^J8Vzctqt>_GEmb2`QM3_2eDF5_Jz6Nve@))~AU1rSa5_>VvyeymCO_@ig`cpY{E zk|>vMUI&_2NQ7LwLL`|h{?8{9J(;Q2H9iejaf$OGLeDvh?7ZSZv~IJ}z`V(gZ%vc* z7xAfIF}NZWxAE^bMSdTUdwRqV>#OvGc|d5kBJi8!IlXuGr1>p>IZ$Ep9zaMOQC(aP t;FrbC<8zUJ^Ac|6Ey0QP!>88+{{R#6x`>4KKuZ7s002ovPDHLkV1o3;MRNcE literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile066.png b/texture/LAB/wall/tile066.png new file mode 100644 index 0000000000000000000000000000000000000000..c73eff54983aa382b2429c8337116ff2059f6551 GIT binary patch literal 687 zcmV;g0#N;lP)0007ZNkl<3=NP0Qm|B!!et5u0?qF|@=mc}ze*q< zpD6J}-NUgtynd(<&OhHusqS%SF7(%@QtCYE{mXk9-?ZE49(O@0h~Fj#*p0*fWad=H zPm}#A()n$W>W-ZBq{oDGg6|ADPuk~q{V+4kyAC8bH%C7H><7?%U0T1;53tX^Sbz1|DC`H& zd|g_9^((;d2T)Y%!+rqG*QNDgKj3h(`MTlA>BD{i&DVo!jQY3d2cDkag6&*B!I?l- zr`8X!`vlV^>jz@(Ts~n5KOpTB=sK_;@OKzqpMZWaReoT}IzS8z^#NX=uylPu$S2(W zfQQ(I!|oIAe!xR4UthQm5JO>oK+Y#DQ6C7lJ7bG|f_Qx(_UmQz36RcB`T@~8K;py= zn;(#_17t<)`{L(?f+5RS2M|9m0009qNkl8nu6osz~7FHZXwNnHU5CcKc#Y-m}=+L#@@(y{GzEkoT-nw)(kU?8jAy8bzLkGs} z%_Xlyia$wEok@_ctV8{f{CqfCU0s7oySrNe$fgUqQU1IEfL&FdEiaAr`#-+`K#b>d z<9GQ30QUE_s+aq*#CWd%&U~@P2C%Z}La!IZv9TEdP%JNH8;E0LGXUUS@kzG9rud(m zLzCLgC}q=yFqYCYtFkILEmnvgn!2gCMxzf+t=GSuuLG8C13VvsrF$hy_u%vdUZ!jtfIA`^sg6i? z?RtO3Nsd-0rA$H}P!@WFBy(M<#n}bIH*$df!#IhH% ze_cgYZf3ZzuT$_WfkmaIj8BF;$}v5#$z}z-R11@BPRv9vz>rz;%A# zc?#i&h&%x9^ZQN_eu&EhTx_np8*RI={D+>WBs&(B#SkuJYsuXC82!-(%VELv$Wc7nU2H^Ltt2$`28Fz;%8P zj{Gq2z(E`jy#Me8LgWCP66FJ-ascj>xICcbnFFwwOTYtRa{z8!kHQ1QM35Z7XKLuh z11WO=P66_PemMZA)cJsC4!~*P0ZrT=6TNc)P6H2U;&>o&4#25rKH#4NkY7``BSk&{ zA#wm%6^+KH5`QfFk7vf~e4+9Tqa$PUPsgoZD9?%pjABe;c zUh9Q8`K%*Kln+3l9Dw78==p%rO^|g&{~Ztf1!ewBHUTt_1ONa407*qoM6N<$g1~8x ABme*a literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile068.png b/texture/LAB/wall/tile068.png new file mode 100644 index 0000000000000000000000000000000000000000..b6c29a432018f9805fa16ae79a4bf91ca139a50b GIT binary patch literal 876 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 F0ss%J4}Aat literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile072.png b/texture/LAB/wall/tile072.png new file mode 100644 index 0000000000000000000000000000000000000000..da2c3464e8826312b8056751dcb9166d78bde89a GIT binary patch literal 1140 zcmV-)1dIELP)000C#NklW`0$jzGDhy*9(^R4>TgT6x2Cajr=Ybtd z(^O)YUEt?#r!JxmOk)RHw}_u<7IqH!o#~?)6y+r9oM|fhtkG)Y=bUyJpof6`H)o^VfihGQPd4;ZVg%TxRBzK6k<*Z^lKbMeJ)< zSi_T}&Ww-^D}C?9U~KOl1pYF5`Q`)vrVjr0a=c+Pe@M*<+gKwA(JtbMqk~r$DSq@; zMqCd#vM+w$6@PgO^@QJd#m`eH_;d36uK0P%_Igf!-xWWppuscpdrdUvtJVXyr1Sd} zwDs_b-uwDc0FFcLVXX6eZHz<-;A# z8rZE=<#ok(s6K$4PC$Da()oQfTF2gQ)%d-JZ`U`rhogg67oGUG-6U@1*?^-8_=dX{zW>I`O078#mpEwVYsD!WMZ8P>Eil1>G-&Evh zzC?L^pqDQ`8wlfP*sL7Uc)U1s%(~OPkJbshVx!s%p6L2?<*FH!awJg#Jbo*;=g~Uh z=|%T82HT57Qb>HqL6Ug>1P~zIwsRsR;;R7=^X4UUPQXMSPaxqTeEjy^^j}^8Km%CI6|EE6_XDE!hIPUk?-|ypLk3?DjE;|w_wB<*k^{KB zyqwKu0H)I^fTN?M+uPfr=raJb+3f!Qp0tmTk3Xj`D7ZoBTQYZYawit@uy`3ft zUwW%=Q-~XkF>|yJ!a?ZU6k@F%@gVdWtN6>xUo3jB&j8eQ%>mgF4?@3^LL^KE2cd6M zsH!T8sj4b_$@;Hv3!1~pmpfpN=5X?{C?|Xe*?;}u>GXg3`=C)Ikkym`00001KIqEP)0008*Nkl0 zziS&Y6xJCHhGaM>7(+4?x&%5pLm}gJOSjCWLz^i>>EyL*{+Lef>ap9cfey}=f+izO z3O9Cmu6&ksckk(!PxPB){rKLKpY-l~XBUeP-x*_!vF7=S9b$TV&d`A6)6;Wkh+jV# zV~rFSZ@)(6=UwcBCi|DnFW!NT*!*0Z+DKt8o0jt)Qi~ZWq^PZ~1n1}4K-U6mzcQ@N zl%lpSiNVkHMHF-y2HQQO0r@AMHmoS;moaFq{1bKT{J$^_Z~$WSPa?5vL5Rm6T}ms)4bUw_*SRcV;zdYU!0sRtfaZ1Q1yU@W9fS;|2_+iMBh{S zIYxq~)b~_=Zr&A*nx)nERDM)J!xHLyDo|1)rM{tT#9;B`ku;PoSZF2rSGZy+1CU7<(p4g{0`8?ufJY5 zO^&=yu*>NY{tnQ^kCM}4t`kr%w#Hm1cu9#d)CmE!&~fVo-whnSPWTVhs1=W^d#&f; z+ZS(V_IOn-q0z1rn&&6;PLm_>xVksJ4-UKu#|Tu_mD@rLR;!;3T_>O-VCr}<1C~NT zBSh8-`v{P9JZlA^EK4uPfm}*!R0rz>ZY?i%vstZmn$P?o-UE-6vS)&lrQpW?zY;x} z+Z^hetZb|Oxb^hl;5fCl(4XHAgNp~D&hE|4wNFnQNXPPjkWmw2*v!)dq+>kPEesB% zW3&zQCyL;}_?G`2n9XMR*@+{7@r^f4lfV@>V0_E}2yM69WBbqvjBoizAPCFd-A8B$ zu~R9xx9_2`*=(S(Tz-bedcE%IaX^?2D8Chy-wLLeK7K3s9-&Z))tSdV0w9X2>MGP8 k6d`Gq`v!uS#cqUu0X)5NCI8Jw@Bjb+07*qoM6N<$f*`<-z5oCK literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile074.png b/texture/LAB/wall/tile074.png new file mode 100644 index 0000000000000000000000000000000000000000..60286b3888cc33426c93da1c8bfe12e5538e9843 GIT binary patch literal 846 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 AN&o-= literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile077.png b/texture/LAB/wall/tile077.png new file mode 100644 index 0000000000000000000000000000000000000000..7e20b2b8be7106bdb33f60b1440059e5ecc72de6 GIT binary patch literal 434 zcmV;j0ZsmiP)0004bNklD1o9PC=|q#2fg<$ zRS)eZlWD537;xeHPdmxXKiMR+U%~S#UY2$nhcaBN@2iA|_LU5;n-`frlk`{q1-XI7 zNhewSry6`L>IVIEgV&@%&^lMi`T3V*lDy&1eac(anJ?9# z+esaBLF@NpG!K90X8;Zu!2vh`2jGB}zw00092Nkl3{7%r=`ehHYbEOKNMd;6f3R6jJaQ@nUa!E&UCiyn6NIZ;+ln=}E}Fh4dss z1VLIA7Cg8tl0=uHhe^lD>}*=iPBtU^UNU)izUQ0C?948iF`E0Y000<%|BP|jl{H*i zG~BMN(SqN54PY4f-o2+v`6P*cVamxNuD45bsOA%)>M-!*VYcH=fJ)K?e&BbdO-Y?k zgbPUlQlBLjY6gB+8lr+v#Gt=XQev8W!qpV{=9D?4a@=hdSSjCRx83wVm>_xssOFoB z=)xeV<14v^W+{^{z47@zrPxBDny>u`kgxCGL_fX(i27kF#6fsM3(+71pqg(^Lmz}E z49A>k5K{Cgjbc7w7ighW-H1~Jr&QhGO}@;~d=902V{!F1`)-x0kV$9_t;U;iM|w#G z-&k-OQm8I606Xh8OeOu7QTnm<@Hw;Iy?o5d^Y4rALc&YS{QD+=dTXDr)PC}j7PRoS zp96UZvKDE!_nbz{Dpsv>6+qNqsnrV2_8tH&eCk!my=B@JceJ4r_)+EVapwSl7QXf)kar+!nE<{Vz2L3Rv(ewZTKJ<8 zV0&1?X4d@s`M=Xyi>%&x1i&gT(ao&Te+wWQgs!(sYfzt;Rb0A!0vfK4PXtQUy+v~* z(JxFnIV5%d*lCrhACB#)aaE<;jP%VmsU4D*Dd3-vKtII!CZ;rTQiG&EODxn>!6)VA z8vw8j0Kfb*`+Vvh~51J_BkF7$pJm-^^B+KY*&iSOp7dtSsb3SSDwSSO_9hliU zpS1YekHDV?8Glq&g%t5kMjr+~Kc(m@@o$qX@Vi2D)$s`}CGCu}dhsPZ{);;9HgArd zK32vzYFiH`oM#?QxP+-D1o9zCPU?JPvEGyh>!RQ9WMbyH9z{X`0000wVJ literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile079.png b/texture/LAB/wall/tile079.png new file mode 100644 index 0000000000000000000000000000000000000000..d6d5d086590b6d6896b7914211000434216b5d30 GIT binary patch literal 521 zcmV+k0`~ohP)0005dNkl2RMV5u1_WwF!@9V2C_lngyUhf3)Ix^?M6dZ+dnK0pr8fsvtu#||Xa{=n`J z-;a=ZCkMgZ8*8lTqeDUGYfv%QAX@G_2H&)%k2ay;YuM;7n(Ns0 zy-wcC2b=RHw=qoC$zKLbhI zXjJ1Pj6#5a-i7}6kXh3MoSWG(jhe50g}Vs1@bHed-CETv-3`xp<8_nK;w$@6IAxYUA$bJbG1JWu6q*V+^ zs~C`0F(9pCKw8Csw2A>~6$8>L2BcLCNUQuWB(3ZX=o9h_TyE)`yB8&q^TFc7ybxQ? z2a6BmHf%W`EdFH%*mFKud>y_aRwY%ca`C##@_3kK=^TFb0pBMT9UY`~_S<3LZ00000 LNkvXXu0mjfa{l=W literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile080.png b/texture/LAB/wall/tile080.png new file mode 100644 index 0000000000000000000000000000000000000000..a713c2fd55cc47f9c45b2298f27c09d538db63cd GIT binary patch literal 524 zcmV+n0`vWeP)0005gNkl=Eo5Jd??p~8hq6+S@v_z1a2u97>&$It`Z>?XSv@x8{{t zd=msw$HO?eT~{$vi=B4{dLZA#=>Eoi1KyRR(`)m!zfZr|3GRXgcYXPnzcybxdaN~R zoG$wf_EnFs(@k&{Rtxc~6hPX!2M*-J1(d9PHTc@SO^zQ5t(BGe@Cha-Q$lk8Xy9|CeZo6dtLHQ=T59L`J;%49X zC48fl8ct{a;`K;Lj=L%!o&nU~*XDBzXy)%xKDU5o{vPFrKWKt#JNU68)2gwI`l6)Y_mwe!_ zzaJzY2=$a9$p;vcd_eMn5MT0v<0Sb&N|FyqJ`mzdK9G{+0}1{6eBc`pg^@!_G??yFr&tB>qHS(U3|H2LhFQycfY z%<8FsQhD^%Q{Hb+@0Q;V_@(#8aQ^#yv)Y%32ko(GaJ%m#I;SYsAtu$seuRbmo zFS*U(J>hUi`{Erng_XOdzMb=6{mp#B<~Q>V5dLGNXEMd~KZD2AoBs}+w`cB@d3i`I zVAc2MpSou{r5ydou2bUoAN*0=lx~OLB@ZX%6&e+spSrz3XCoWPgg&e IbxsLQ0QgVWA^-pY literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile082.png b/texture/LAB/wall/tile082.png new file mode 100644 index 0000000000000000000000000000000000000000..8be8a048bb466719f457d3c76c578bdb0e8e493d GIT binary patch literal 1486 zcmV;<1u^=GP)000G*Nklsf)@92?=q^fddjZ{uU10df-_82F^X8R+Xws zK}g+m)k=UGks=q$#&yZsTiXkV+02gT$MZZV-lrU#nU~CG?D3oT^_$o3d<6hdE+Mag z+0A|D_VYf}?UG-jPcd0b2HZ!VXsF<#}xJY^hwV2Lk@r&>^LBX2L} zY4s|n@~kHC{e8^)yN~kW0Oq;eZUO>;K^P&ujb_i|0KkoVj{k;(cwgPAwRpo|5Ju|l z=N3kjM#LnZvLCgJ#N*t!=X`R}IE+f)>krrxk`}sZY=-;=5FbbqPs3=!exzwod1&7E z4;^utA|^cqWI0KmR315u;@JuZTCZB1^$KO;G3AICBz@+s~KRFG9Jr@&Pjeb~`)#8}S<6f`t ze3p8^CclUJlp6KJlb?S804fhz4?tac;Q2i+8^nL2jYys70cl_pkhUGy4@H)WU7OGY zRKxW{alGClyVV0)BW=KvNeOAUdVtGTZGLZ`pQ+~g0c=1IunU`AO#47gQjR|aDi2}h zhp8vzE0{%8_{VOi2FSbBADvCpMd|i9U&^QWUb}A?tzDn~mhR=aDC1$^kF= zntcGVwIT~6oETqDjXY#Mz@m`pB^Ezvsmo04jdu5-K2Ljkv89b30O7WYcNd`%^#JRY z6oPt3y3zyri$AM!4vq`D%wDADObN*JCTMOQ>Vc}rAalIY*hGNGBAX4QTRkv3e_?d~ z!rLEy-MS87GFBhx=Xbl+1Hb%Jqij(J0E12_7DrV%--I4mkKMKoV5t*2)B~rf1E{8r zp_5*05vHPzp5i{-Rc3=kUBu)U#YesJ;2RW2he6XJnJ^m z7ujq>^?^oXtS!E3QF+LEKr*oo0M?lT)es&HmMQ-}D;lcdJni*>r7RS`r{ld@dSFR^ zDm}pI@j3wKL%vgpy-7UvgB@5p0Dq8p$a)}8pB9URWuq#wxKD{W5-3kht&wHv!6xbh zJ*s%Ut_RfPHl#WLt{*zr1KQ&@?dkxMevppaSn`}%eL##qXL63H!}@~07*qoM6N<$g08O6OaK4? literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile083.png b/texture/LAB/wall/tile083.png new file mode 100644 index 0000000000000000000000000000000000000000..ca47a88b742ad31c4b7d373ff0f677bddf243ac1 GIT binary patch literal 590 zcmV-U00006NNklN**jPOW~4&!X?G-IF2v!YA>?1RfZV(|0V%!4PW0szX+TD zb_X!NhPYE);+F1j_x}2zpW_T&(7N;b{`#OlMZ|;v=JotYn86>guII;N49 zN`O~AuVyf40KWCSrq+-Rh^Xh4Rfar3Ts^O!Z^!^d*YjC24N^dvdOlZ0-RgV4M&DuKn?XYX~Q<4o_d;uVFOTGJ3T*6L{{!==S~8p@8^oh~-r_!`Fd^Xv@GjPK|88ae}9aj!+29~HyG<--<7Z!?DcTjR?!(;>fyC7 zlxy&+hvUYU+~8Ob-<>&$!M7gnTZ?Ifdp#odM)wR6^$6PBT^oYx5w|-%H^kK=^xNxG cbm-UbKg_6g8p`0iTQzpYtj~juciQ$4eiAGraHZNu2z%M*VZ@(KPGLXY=@_oP;bH=xs6Oe-wJ9dWb!Zg_vPSL+l!}Mo(aEil+jsmj42D5 zSoYs`LDk$p4(B;VuE@P-O5J+A+oAC7M~#4_>Jp~bZO3C5-1)}v>}t|UZ}tmuQdxCp z|JA>*O;EW1`@r=Qp?mCZ%iAByhQK!#=1TH cJO}Tw=RHba-ue7A6Ug@rp00i_>zopr0Mb2un*aa+ literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile085.png b/texture/LAB/wall/tile085.png new file mode 100644 index 0000000000000000000000000000000000000000..3877d536509a581c2d0c76696bbfa274e2f6b5aa GIT binary patch literal 649 zcmV;40(Sk0P)0006|NklTuaR5q5ptaz!$p8SfdLij%s7E;LtCT> zpdaeT99gqk2lFb+`XrFV4EY{(arg6gx?O{vcAIz+JfQd=zn*lmvgCFAavMFOc#&?` zS-Smu*xEdh>a{mlC|)P4y-xP;iQRx!T7@Xy0RYR<fwsEG@=`^Oylkm^8{RA-V_iFzxgT$=YsWHM z^5z7lGRO{_w#&M(yj0QtJ#M?~!8bIqQNHzRK9M)dyGucD0~X>u&?U|T7@qUMSM)-h2gVlnz}P*& jdBB?IJkZRaeIED#zSm}!8U*5F00000NkvXXu0mjf5KBF4 literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile086.png b/texture/LAB/wall/tile086.png new file mode 100644 index 0000000000000000000000000000000000000000..f20200a08d7658f57b393e82b712f4eff2cac28b GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLH@YFzS1{IEGZrc{^QE=#YVc>vTUC zSJxC*7Wa;h$5y2={m}sj6}6PY6|@4UOxhN3B|hz6xI=uoTFLg4)^pBk#r9cp?wggak6+s~d`T^nt_@W(}t_s_&@JXV|k z=-s#Fz;xY^HNOwvPiWB>f8Z?j{_wTysSo~~5)gm8_Rm0xD5dqtM^e%Q=vl6d8-ZB67|zW>`M*4nk`%-_m-?`6SnE6>jnkMA0mN=$g#J7vtXYv4;~I1A#{!YJ8a46~j`a)1OM@+_zX@|N?%C}*H< o8}5ZbL9028CLpuEFq-^lNOCSP=IiTs1co4kr>mdKI;Vst0FBq4jsO4v literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile087.png b/texture/LAB/wall/tile087.png new file mode 100644 index 0000000000000000000000000000000000000000..9dbb3c46474f198ef653c06ac805a125f8938aee GIT binary patch literal 556 zcmV+{0@MA8P)0005=Nkll1Rt6!2``;G-5#c%DPWp&GxjIF3=sYms46m@sue$-)<340 zdbRRq(wuuiI47X}UjrL4az(Ap(*^aZ&4*mw^>e>~7F=m8z{04L}H9rOSvHr@k(9w0G#V3#yGMm^U5Ca zijC6@zYmy#9zYN1jD!a`z~=#c9?-$(0Uh)JCpO*#=mGQq0N8pD0D6GL=z(DdJ)nag u;Kasz0MG*@Mh^@#BjEx3J^(N{5BvaLTR)5;xMMf~00000004_Nkl)EU? z-&}a^A4>qJB>>bC0BQ*UwFH1#YH)iAAo>_CJop9c=5o(pEeNhjO4(@m$%c@Ql;7>FSY zpbA@i(D_G|?tJzQ2mrMNfLa1TEdihwdjJI>4BA?cp*7z!ZAV`^fbq+n*8FcNY;=oW SHGHoC0000000LjNklSZ!TqRBC!;jmPiT| z1Vf~t!zwYU700Txpzj{jlXNeybeXmh}RD2>z9uImu_B?Ac zFXXXH|FIl^ZI5Bs6xXRs;&9b)+s_Z0&9n;kdyRSsejo>lhU0|9Vr>*KWt(xEY1O2) z*Qk4}_}TmQV|ij8uMLb+knEoyG_9H&Ex5^kGB28G6@NsO@LIcQDSJ}cq;fXSOzNg= zwBS-1|FgUV`(|2=J@$~wIOYRaAUO~~%kq-Vc$ir|;Q%+&Dsz+Or2hIYBz?&8k{sy{ zVSB91IykkuA$2@Hqmb0aSW)4q_=D$X@7L$_HF4G&HN|o#RtAV@zn$*4(~S&RV=0lt zp-etfVx{Mzj$@Y^1Qkr~Y%!UIE3>HD^F0eOb%a%Apx;gA#oIS8Xyq-l1c;mtqgFQ%uiyVTF{yucfa7sKnkontCv_@q!@O+g zebG`e@oJXK*jwF@1V9}Ew3~;W4W?tn(o6{}-NDHP4%jf%SQ)kP;%S?R_FAc&Xw6Jz z#g)B)dhxU^YY%gy-+uZYvB!Xww<$bD=8^|QM%q8>=fK&>Zp56~=9+qhr^uxUVQ)1N z7&X?EsrWgCj*p(n8VwQT=wYvezm2GTy$@_UHV3v7ln0oZDIvktsf(W}5}d0sR>NDn zaeVYlCZQ|FR($RvN|>dBJ?wS3N5!o4l`9Ye;u=+V8$J$cT#0#Kv`YB;@H%X_q$=6` z?Tb*vYe5;swbp(fRvDaJa8_6`Lwf7rCl|P} zdT?SG28sQ4YL*}upX^`qK93gcGQhrB-Lpo=&sfTSJB@z*;TT@ZirKE95jMXw3fZG9 zS-Dn;h+^o;h^{5!Ar~@{b*vf7;(w}VkXWiBPqt$pA`FhCUHiVm3d(1GBD$L8F_hG^ zK0RDq*@euDilT=Q9sxsMUtGfV#vlnBHlKw&bXB@J?)1Z(*H5gY{EDMiNzvGE zr(fR4(6)HMWmwhB+BRqMhT!#I`XEQGuU7K8ore;uXEFv>Dry}ECl_$Zn%VxGd3X8& z2fQzKHqO)@namDG!|r9w{$T)DNd(&})**jaQKBf~^lY4AW#sk@*;W_|yJ-(p=cDPz zm4|t82SAgh3k3Y4I9e>1MD%f%e`8DO;W%^dPV;{J+Rc8G*3~S}@^Uw=g8lvS-jCpt z`{jLJ+@iY9_>rVZH6_7h> z%97a`tRj8zeA@Agbz_gGtICX(F;4-=%FFVSr%1;p^FnxPD)(0ajBA3S@k0cTT;}CvUJh1MpsaEM zot;Eq0bu3rlMWH>)RNnBp+NJyWm>Ix9N4KPOp%CYH=p?8PA#de=C*fhqiL@2r6C-& zYRPb3v}#Foe}7vpZp(#C&Nzy2a9b{5=(b$!)Druhfi`17dC^U)UGZe)GP=z#w$%NSR=z2FP_q_~5>;$ObbQdHRqkPW z_u;Q?J)e<7g@0L6T z7t?BGFwXjodaIV07IFRkH1F-!^1CIoZ`Be&NtZDFRVR&p>~&RB+h{3Bq(}HfOfj43 zrU>*;{qR-YtxaRr8jzhQe3r84bU;mZVd1)G)Wk7Yj1T-B#@ Z{sxPctWZjlT3!GE002ovPDHLkV1iCJvkU+L literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile090.png b/texture/LAB/wall/tile090.png new file mode 100644 index 0000000000000000000000000000000000000000..cf827f00378d18df3b647ee3a62ca042861e5f3c GIT binary patch literal 1800 zcmV+j2lx1iP)000KhNklDVUkUmBL*vN3) zYI-1spx2O(=O%;VczK#%Y#^ z0)G#N_@X@NW}J2s8vr_uE_k%TN{}m15_Bx+W>y(O^ks=c{%*tbBLEoR-owVIPWx?- z3bod&5t)sM-Esy5`jbJIe)vf5t!zXd@SqP&YQyuR;rS7wx2Dl(zmp)E@$LO=kqPvk zM;G;yxDXu4d2x1dd3A>c0N?;{s*#TSZ2)+D@9wB;b28|TZ|}KDc;Jq{e8U2^2Zy~O zKCAkVTTMPomsfWeX9tMhH5vfy?Ir;5`(cOs9wJ=(z-*CW1(#bBuca;kV08l>Km~d$ zkwtL&eAxYbxHc1NhGjFpz328#E&Rm0pcrC7rGZ+L+Qr!c_pv~}T*$Qv4bP8Al0c%_ zK&#WU-%Dbi&ago4G0k#B&%uRA!UM_4plftRDI%W{0f0#FlBZc-ZC#Dlf&b)S+%>q+W5`LPn0p#tr95(6rb>x3XeFRv2l zsqB%#IzQDy2mlyFz%`1l6EXy$zn-Ll`+DsOmsfWl^nMQk%maLR6po&_ZgV6d(13CV zvA{u7$H&UTp zsQA)#IH^f5OGySQ>-n@|OSAmz_k|((up-TJJi`!(%hEK<_1Zx%O9N%lVG0|3N@DY4 zk%`?f9@LN|fmApNfk*8mMw;a{<2$y(oqqI~<)W4K43&szNsUr1F+|z_WJx_4+GYJ!ARn_l4D@BSN6>*l-@OHr!32 z(nSWJ3c55v0JDd68-5D^P5>f)ek82udXfqm@UfJi1d{a_i|`1JYZK!4E-nY)rh=!+ zg_Be2jtp(dbvK7^(k$ojPW$cpUkBZv`3wF40RIb#+V3=?r{`DED~apb^DCBj8_`4l z0ss&B%Wk9iLTL8*l*Dx$f2R?(leiJr@dp4;&#ya;h-5Ie+E(|(eBL0yPXZSgbbZE^ zjgcJy=F1f_LZ;G$h)NxPaCZl<6Z>VrT6A9msu3b1WNHti{P?NzF^=^-BBYl9$_vg* zzCsF@1lx!k4Hrbu2mr9xYNF+!Ia#BVnQvxI_lJ!ZZydG2qP4ZwMOGO+g7Ir5&ThV3 z86LKTj`@hz(ZzLDDH3`SP z7%tDyb|n+iUCZE-%0B{p;CG`)rR-2&0g76WBatgQ1rVJ>oH9`NG?ZR1Y0w@q-kg}5 z4R;Z12Nzs_02KqeR(Pdi7j~)df_YH8FzXw>pTf?!k57Y74Pa5(MKs`UBl5IFF0_Lq qrWy}X?ax-r!}$MCAMC{cJ^c$KyfRv=wmOpl0000000KTNklMp?no%daN6hCXV}-=_gD^l$j*tNh-LEIOp76znZpN;v8&wG z5bat~)KqoZpIx@gRn@gWK7Dj$bX%-T-*L{(ma9WMm$;aaNCUk= zx5b*Q6KN(vY2t0reh~w?c_sbQ34vmdfz^0J-3A$H*j0&lDT&6ZC z#jA#j=O-=a+;oxef!isU)0)hdt6{T&NpQP{*Mu&h#dAVqY>lBt3;{h{!iZ7c1w&9g z2y1HNaIz2ZTW=3vu*b%}WWv5bEWDib=q; zKMVcxvF&Z=k*9mT=$&&AmisgZV$O}CnTXGW_Nau*h@shX6>=Uy0�MFrX)}(r^*Y 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 literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile093.png b/texture/LAB/wall/tile093.png new file mode 100644 index 0000000000000000000000000000000000000000..cecbf3445d6d98b0d289f7e76a757694a865bf38 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGJMc25__kcv5PuW#gKRuo}%yuItv zi_S95h6i2+f-K5Q=5qbx65R8C&gbII>F?L(TYTE{el?K1%sxlUK^qFIuSNZ8Q~tjH zfQ0k?f+e;KV*j&qU4X$`%u&@2+58!-aQK#St?h!X>|2=N@LR(-_Lirr=C4;5R|B2I N;OXk;vd$@?2>=2FNEHA8 literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile094.png b/texture/LAB/wall/tile094.png new file mode 100644 index 0000000000000000000000000000000000000000..06f8000de5db5dc821e16565759246a34fbd6828 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGJM_nt0}Ar*7p&NAd`F%WP)u6o=f z@ulOQ$4FJ zO#`0iY7B|<(${Rd)+HKe*0@~oTIo@(?YW1!^k*Nq{9}uMQ#Z>EkA_|-(eiiogrl2u z?3;K0xZhYPv+^C&{w=A@I@Sg{v70CL;Fq`jR{0r3w zl@GvphduMdgK@`OuYLb}ce%l>M&bX{zuj!LFWAp4l<+vt;kt(O_v;##{97LX6aB?> YDX87B@%N9JK(8}+y85}Sb4q9e0EWMQ+yDRo literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile095.png b/texture/LAB/wall/tile095.png new file mode 100644 index 0000000000000000000000000000000000000000..47a30dab9a96fce357bba23faa0603ffd43c711d GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGJME1oWnAr*7p-rC4@$UwsNVaP9u z%7!=g;kwNIqA2|NHj!ao4xXXRZA^q1fzB)wde$+v+oOw{N@l>*1+X@%yKqeSG@0 zh-HP~0=EV!#w?Z22&;=Bbk52M)n)b zZyFE6_3+9ckOPWu017w5)k)hW{IE5+`LC{Co;@eNE&lw3f=fXEF?hQAxvXF?L(TYTE{el?K1%sxlUK^qFIuSNZ8Q~tjH zfQ0k?f+e;KV*j&qU4X$`%u&@2+58!-aQK#St?h!X>|2=N@LR(-_Lirr=C4;5R|B2I N;OXk;vd$@?2>=2FNEHA8 literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile097.png b/texture/LAB/wall/tile097.png new file mode 100644 index 0000000000000000000000000000000000000000..3bcd492f5aa299e82a05f5f44cee872b855c5187 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGJM+nz3tAr*7p-rUR8Y#`D4aLZRI zmG9GjxA&wKaQs~8yu@SSQN?)v*6%Y*EPwbp6>%$C7#q61-}~~P(L68BwOe<-zP)Yf z6t{-E{{$~YX)pDOId8dqO5FOg-`_hIr*92g{B(Qm>W2A>4!sPfOjkGplrb3AePY$` zfA90ZbJlWx{M&Eh&trN%*7RA7X)4x}}Tlr6+eZsEue-E(V;g7ld v|M!0e#w?Z7Fi*Ar*7pUN_`rG2~&rcsrOu zqQ$ap9peszmZcN&HeK5DOa0Q6x^MUH{_UduJrpE8M_s$I(B6Jx1SStnqd~B z33CS91)c?x4$;QJq0jmAZm&Pn)A9L!{_Sdhu&{AM8pBzTy7!D#?`<96T#&Xs>@W6y ihseTA`TfWC1Czj(zwZs+i0%hEk-^i|&t;ucLK6TY4o}Pg literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile099.png b/texture/LAB/wall/tile099.png new file mode 100644 index 0000000000000000000000000000000000000000..5d1b1407f0c43d88c405e1609beec687f559b295 GIT binary patch literal 3026 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 a&noY+FGK5&T_7-M7(8A5T-G@yGywo5z<-Va literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile102.png b/texture/LAB/wall/tile102.png new file mode 100644 index 0000000000000000000000000000000000000000..1238c56b4f932e1145314ec325a3192ed3067132 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLH@YFvfbiIEGZrc{|H-wX1_f+x}|3 zOCFwLW_8Q$Gas^_Y0_cWoTyVGmZu&*rEo|5^KW+Ar+)kSAG=W#Uno;O&;7f?(mBgK zISPaK2fec9aaL@}y*+)qx8`OY>EjnS>0CC^e;@7@8k%}W`|d}fO*++UOOAW5Sk=`b zH~srRLwWrKo%|++8Q+60o1{i&iOQa|>N9@7bl>~k>n^{#fBK)$2OEDcPZ!rfm%t@k z4@_Jm;H2s5QX2bv-}nD}wa zNwu=e)cvmRU9++3-CX%Y6W>_dx14=*yq;O$0UOgDhX!em0%pcMg#)}SI~p0xi4t@> zSF%aM@-~BVx>aP)oZOUpmP;nKcXuDZv|OX>^zZcf?7GXgtY4Zr>u1uuOZ(>Rd*Atj ZGra21zV{OwzW~FV!PC{xWt~$(699p&toHx_ literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile103.png b/texture/LAB/wall/tile103.png new file mode 100644 index 0000000000000000000000000000000000000000..8307f2c7ca7da552d79e5ca9488c974cf7cf5f04 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGJM)t)YnAr*7p-drep*g$~gVt2Aa zg#)X^3is_VnOH)ayf{2q%MQ4_Kf6AG{rzj3^Y^NCvQMA6CT070q2Vz(!I?8>ewlH5 z-RrK7-gzIjnKRff@GOvYFm6a=ILk1L(F7r|&E4gFZI7e=PF>^YbKXC;2#fh2>UA@F yZLwd~$>M*^GXER@C!p(r8*-Zc2mb;uO?j^)T8`^)tep#VHiM_DpUXO@geCwY$yOWy literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile104.png b/texture/LAB/wall/tile104.png new file mode 100644 index 0000000000000000000000000000000000000000..25a0f7610de88574327c1301132150ba3e351de5 GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLH@YFmigjIEGZrd3$psSF?c#>xJuP z&SDRFBU#!1Uz}g^f!T;9Mpo_zvuw<*B(7XVbItEQTzub?m@1zb`3Cm{&MFPPS}1eT zaNm@mBBe#ER(0`x-k2Kc@}#TpqxSb7LQWQStuu3Pvvrl|O@F(xVU?V8RqXYB@44M; z^ryewKkb6e`QQ7xJ+7B7u!-E6v)=o~(}i+7bM(H)w)$;0-OnDu(93!OLCn%WFms2< zxg!~KI<*UCo$d7KF;)C}0b=K!wmynn nF=f9kH-6I&{BHbJ@&5h06+1L1{owQfh7E(KtDnm{r-UW|nUIL1 literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile105.png b/texture/LAB/wall/tile105.png new file mode 100644 index 0000000000000000000000000000000000000000..c9ed6acc42cd3dc8f958acb97e0fb05259fd5c43 GIT binary patch literal 2674 zcmV-&3XS!NP)000U(NklJ+szWl0}Om zl|#A9G)2kk-a?~cTl}di*3VZ(1%LbT&s8OV`m_UpEa7lT+r9jdi7bg~**$%!0N{te ze5@+@pDz^-C>ym}CIC>&4ggpfh?v!~D;xE-K04#eMoFawXHx0ATak)LwpyDWml|82 zm~q&{@sU!U_c3k;0AT)lv;rj1&^n^p}c= zg#l`7Y}$~}-io^2?j_j?06gAj@N)V%W5)K_X_;GIJK< zA)v{ToeXLI$%l{k+2`GXxJOmd<63shcQ+`*Do=*<%SLVY^6plwmdSe86m`2=CSy?u z0Pb!@*<6Gv5i{@jRh~R;DvWYd0!+)7ifC6I(Kpsbv&s_+yGT;$Ri5AxWeK0Qa=}^I zs4R(a;+4TM!|_GkP8@6m01wNBlgKcVtn$RMoORKB|A**!>{1cM5d#6H7uxhVtZdZX zt&puo3&AP>c>1E0uB8G1^nqWtnnz)0j5ht};;^`hRA;K`J*mw5V^TjnYOcT^~DbdTn~8&9_6_YJ;)? z!1Ja=rx!81yA|8L%o6^!lw*nLB!F}Jsfe`cYpEuz83Qh!GA#lFn_gz(b`cBC1ZSLu zi#TFo5VJ5#czP27z#@)rA{GWG4P)4K)+g~uS+vDjtQP}y-G3rh42hh9a@n6g{$5H| z)JFi2trjuE|8W$yosq3p+I+}v+Rps_-(Q9cqBU|BQjP}zJWN*r3T><9+4Qf*J6p)H zXxnwVC?#0vz#d#SN+~^oxNvKwd;EZ6e79U6m~(vqqoJ3@2?2&=!=7o%5?)JXM&0c+ z2CQ^$FCIQ`%He2??l{fK4BpkH(vJG)Tir~;G>UwJSI0se%s8h0p$o!1-Pt9CLvsbN z`9m9ZSQ$gbbC{bs5!)GX>0sge?1t)rF)AA+VmAV03AfQ+ExXk+q3q!$J0B6PcTFnJ zQ-&r=xz!Gjv`7d556i{04#sM5&H^Vud5vU@(0!%SwNzt4!rqtq8uk{^PoH*Ln`5V| zLU9%zC4YwcV=7B zsW0^KKBbBYx7Vh37R3{&j#t73TEYsFr%iQtD~6fdA=!GkC;nI%cX4+;P8=uwo?DByzvG9uB_^VE(X5N+VVO|kV`1>L zsfxO#p30bNT<$p=!yV^L?3KasBrliV5KhRE^9TTz?{2V9cy}wZgp>Zr5>gSZ3%3#^ ze?@-0GF-t@7%0b{QX^>iJAKAR*seMbtrRSDFxDZxN>fCL2qm?vW?VtoFz;JGQZqO?bj~Q)sxtg#bfyM?Jl^uMhLC z0?2*Vd23e4DqB8%);{ zoQ2L)TLym=vioy*&;*{S+pM&)5i5>49J^z8>ic~=T=AcCwQdPd(8E5oVatQi>#Rc7 z{<2p^gS6ag4s%{z6Wiz>3bFiU3bN-DOlkR06~wRKmB?&yKVO}TW}bfP%S$a z2Bdz(fHtz=5sRXbg#l+F0I)D%VGssE7z8&FLlpVDMH~ia=<<1Y@b--9Y*7Zf0eV<2 zVBkw*IeTtXfK2GGe|&Jd&G2FaB4#(7^?i?R=YRfpH?|tNyHwgnZ1#4xoWtp>Jo(qA z^axNk{_4)&!09&Qhdhm0(3ka5n|``4s90PG-l!1KK)^|?X;6zua>#=9}7#HsA=Fd;m|y0cJh!`%Vb?NHa<8DP@Zr1 zBfOS0{gpPqQ{CY&oCU+YF$Xr!B&E&V&fM2hV$*X>J>J8?crvrD&#v9fUZs#&arh`- z?(3&7-zTba{6H1i@b1UiaR~k#!Y=%GmtCw7M&dNQq%dvziSFN3+rV}?T&COKet&b( zne#r*5>D2JweNI{n^B(qFc8rd6I~73Pn`~_KWj>*$$r4smbpp9tO5lbe@rxd+Up;$)zNy5I(nJerVRzLC*}JFmjXNeNEFL`zmO- gW;XH`n7!Tq0eC-tdooxs{r~^~07*qoM6N<$g4G)tLI3~& literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile106.png b/texture/LAB/wall/tile106.png new file mode 100644 index 0000000000000000000000000000000000000000..ee5345e31d2e1c67b262169fe6d28ec4c197f49f GIT binary patch literal 2606 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 QV*mgE07*qoM6N<$f|oM@XaE2J literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile107.png b/texture/LAB/wall/tile107.png new file mode 100644 index 0000000000000000000000000000000000000000..8617ee263d42e319e32cd794197dcbff57aaa857 GIT binary patch literal 835 zcmV-J1HAl+P)0009DNklOriD5aA@cF9t=7v3#^GRwbVNorp7q$WXuWdi}o z1(tgv8KLNsG1*F7da_Ec$Cj!IZ;?Aahy{w8g^MZ|yT5a0=+mg$a~uq^0cvg89Vg%` z%&2lgLT+9`IA$d_iVKFJ^&cE)J^@RYGfue2bfGYA*qmMHXq*Wg4K@MauB!)K=K-12 z$lJO3$>#x!B?P@2C3#f{W}_Oj=3&p?47v3yZh#-=2?i0O->q3QY`kQ!kK$vB(f~wO@cT}?!W8iL2QYN);rZqHHMbR zYYNmoq5F>~(x40~G{XqH367_>q1OT5w#1^wM<^ur?n1^JE29Frx=rhbZ24^r_-@@c z09BkS9nGq>F%mg%+g7f!$$QVH9kp*!L(#bfffOmVfPG6S$g;d$*R`%4R}Msbx!>>g zM+W60UkDGc=^amW3J%RRruGcGiz3+PnA;u^(?)x5Nj4|dPcE$S(@dadno@71f zNp?>u5er#vP_hHqza3J)N)f6~ex$>2MApjaxgI8WG0*o4^oo zA&tfMefu)000K#NklHt_6n~~9ON~oQ*)oPQ;MA~FrFqNf4EPJVKSNAzJ2@X=t$iyoy+AE&8buh0FIB3>F)(YO|RGMefViq zU8E|NO0ih1)oK^T=L~o5+)-!0Ua#jk&IfOSmHRh7t=|1nN7kL49RR5BKgWj!QH{meZuC^rxe=)1v7)cVAF2j<;--Z((fDw0|0iPJdTV6x^7yvux?g9OEPFOlju||$9{c#qrSZ%u*9*Q-iV&?4w3%Dans&Omx?CNm~6vI3lANS zyxH|;o8^MQc<6YvR+tz=$BVnVu~k{?^hTZDX#B@-`bF(YKgW3xE!5@5SBn5(T|U!# ztKF5lieSlD;d{3{1#+Rdq6RN^#j1dh3eZIB#9bAKHaLU;g3^^#8T{l>l*wX03waRL6HCe zt#+4~3H-Q(!COrT*%OxooT87?LERshkct;KdrU9ol zl^4sc%37>Y=9!Vx6?iA`7KQp3l^EHRLE%&}ky8h^Mw$buPpjRHtiF+x7{GLoilnyl z3TorF)sUQ6Zw>-eMk_M3u zGL9R{`q0_@N{g33X%WPTt;!l^Qc9+vu{BZ`H3e_}`X32YKe6ZYECdkJ1@+KT6*mGG zp3lZT2XXVK2m1aa<>q>`mj{jk?3E9n;&BKq8S8z2S>XQj&B;M9w9tT;%#1N`Jd7=B zv&a5!-z7;RAw4zXm0`s&TyMsGCf1vK81UdDb)$6oK>vVGhB{XVFFr8J;{=+Z{uh)D}G3qQfFJV?q7Hqv`PUe>D8q<}CpTIJV48@@dnm3G8VJwf`vIyl^<4Thha7 zxv&s`EUsYReDpv+pVBEj+FgBGDn+&33eE#>tJw8s1_W%K7-6UI_Sm=bSu3B7rGCK| zFtg)q)pCJoi!MYs^k#>FIuL0D>DH)PF2uD!wcR43L57%Da6)++CF&?fP?9i6jezUL z%AR~6zX)nU_jsKoiDd*Vz&b7}4PX41kL%6Qop_Qw6CfD7T;F?RAAizTDYy}m;nIKq z3QsVK=$bz_umS%H-oknBCCaU>k3LJ5Jv;7VqrvHcELIH&$#G$f*Ud~UFS5t}i#S_< zyV(Q)GnG2@W-t0K=O%SUgU?Rhl1$$O?nS%X^>2UqHCgfEkd~=KtOIld0Gs)27<+t< z-IC?gNZ8FL64)F2>t<&Cw0KEVFfvK)l@GRaG_S;rR9W7gFOwD zk_bgQ54qW&Ki^-j5zzZNducb4XOmZA9qJr9ozVz!ix+24tE`(DDnvq{t~`ABkdId= zHAto1ZZ{eYwTCFm0{V~dFIZl`eqECZCzEcs+lqeYgicZ0-`}?^%d)IwOy1k~LYmn# z5^1tvGCY0y^xCy+t{bCNA%rjR64Q7;7Qk<_QT>)>nP&1YSC$~avuDo=g+g?{cZ2j& zKBjaW$MbYQR`7j)KA&^%KM#lWU@%BLm@pU&8jXg&3>@b?qWd4YrCcMPyAgK)0000< KMNUMnLSTZJ3VtL2 literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile109.png b/texture/LAB/wall/tile109.png new file mode 100644 index 0000000000000000000000000000000000000000..9c665bbef892bb3e3993f2639aa06bfcccfc254c GIT binary patch literal 1739 zcmV;+1~mDJP)000J(NklWab6n?l)+F;8~D~M57-54qA28o;iaR7uk1ACU7fF*lQ(G#%a2Ca(ZE|8E)CXhk~ z$Bi8qv3Sknbvz!A-B850h-}ZyoA3S3c;Y*+U%!SDq?C)r;_KJ10MO}l`u%>n&uwCV ze?LuAZIg4$RMrl?0znXLZEfAZfB%-*XfYa%s>}~I9#}4yKYsjJE2U=m_U)UY)$Mk> z+J<}g?tTCM9RSYG&N`jWU!i7!(P%UtkE=)mfNLYg;K9F*`Fw8fU<#p~ogL5f_V)JR zU+9pg>C>lAfByVw?&fZ7Z5f(3HZ}kt&vW{{WtizrCX@fajG7mz!C(*s!T$dKZSnbo z7cX9ztKVcYky8Hm9@r>~;?bi=i^Za#SXW#b$AW4!ailQh|SmIbA1U=y$YU78)bzL_I0y7&kXksZPMRS^_ zd@GLfrIdUwtr}9wrn5U?7z!bT5bxi=w_nswPEI%vqJ_46@ZbSl53o3nwV|Teu2K39 zheMzcYO1<2LaQ4IvOa+7Oyum_5Agb-v!8z<0pQ55Js;(;v7gcQK6pnb)5!;te+ZY`ly zPn_x>A5tA<@Uj$E^>7%=%Zg)>=(5 zKZny|9pI_Vqlnm$E6RS*qN(}$t<$cG)xPD_ijCvAD%k81$Fak2D4c4esO$u-y$xzm z5I2e+#r%NlfDi(y2SH$O748Icf3bq{94mOE_$hO6VYR06#WD=TZuka9D}y@O`u#o`En_x zlu|kP&za3;m|N7AB*|nlAx&zbJvHKcX2)^TH03eV z=*_(fc<`~Yx3~A}*DrdyTrRuaZl34(rwINx^YPMUWL7I}jd7e+FQ#1`38vpo6)3owf1C<878@+(6JU z`pKo^@mQOXF0A4S4|52<@1u{f_3-e}?04l=vwXHihec+_iupNder$710Rl?b&Q$A) z!C;_RNU=yQ^)m82Cm}Rk$xKI?j11obR8NbdP}tKH=J+wZdEsz8x1@)I!Qe^(^0*-wv&_z@&&d<-wa^Sj&uadZIt#+t7g-?>i_kG{@8<}5;1+45S4JSg{Y6uaq z-YE}jouJ(s4F-dz9ymWgC!%GBn2;z?Uq*>KRc_0PwNAkK8dXm|kYALoV0*kynly3( zF2FV+s!d<~%O_1!3@2VB|0qz-U2gB$3ffjJxD(pp^XJdX6U-vI=Fc5$z+WX=IB$M! zk8Zcyu6j~uP7ids>Oe(}t77bVUZW^VlBChe&(YBl0CYN?`Ft*f;M}yK=y2&2E$!@0 z;8C=@yZh?Zt9FYQhjy8o&*u)m0f6o8?JD;89J{rvr?ogbIzj@o+064i&+|BY1<0h$ zrv^5Km7HMyRAhyJlGB&K71Gshwa|B_-$(%|HcFO zZ8n;}-|zQ&z1E`Epuow=$+}*NTEJb)$COgai;D}(&RLcfMZu&0CLG-9blQ3_VLF|T hMk9M2IBs}E_Zt+mbQHqJZ>j(Q002ovPDHLkV1g=GXp{f| literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile110.png b/texture/LAB/wall/tile110.png new file mode 100644 index 0000000000000000000000000000000000000000..b8230506f0306aea7f4c3d6599b9c5901a3178f6 GIT binary patch literal 1180 zcmV;N1Y`S&P)6ciK{6%`g178e&67#J8C85tTH8XFrM92^`S9UUGX9v>ecARr(iAt53nA|oRs zBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7EiEoCE-x=HFfcGNF)=bSGBYzXG&D3d zH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?K0iM{KtMo2K|w-7LPJACL_|bIMMXwN zMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuyP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7 zSXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?WjVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@ zX=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2Ta&vQYbaZreb#-=jc6WDoczAeud3kzz zdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyDgoK2Jg@uNOhKGlTh=_=ZiHVAeii?Yj zjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}m6ev3mY0{8n3$NEnVFiJnwy)OoSdAU zot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(rl+T;sHmu^si~@}s;jH3tgNi9t*x%E zuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#pxVX5vxw*Q!y1To(yu7@dCU$jHda$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD) z(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa z^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg={r&#_{{R2~;;>zP00043Nkl{sgPe1!mHRplq(l@n4(92%?6O+~ zbB?+jTP0DkT!F%?Ac{J1q!5C}hXStS1Vh1*u$4}!ZiJ-5sY|~kxmc~&wxKNMK<|920p`Ij8l{7e44A9&{i z<{W49T)?~aDXirFj$hvcS6_f!)Sl0JUlnf@XiIy(VmliF5qe}l4C9q0{dLh3ml*I%>u_~ ueXGDV7hD9sxqvyma{+UB=K|)B`@siXfVUnzQS}o5000005|`yv8WZ0h z6p*+ncbAoIyL)`&$F~;)9WKco`1G>&|!C=jrC8s`! Q0)5Qj>FVdQ&MBb@0DPHtD*ylh literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile112.png b/texture/LAB/wall/tile112.png new file mode 100644 index 0000000000000000000000000000000000000000..3bcd492f5aa299e82a05f5f44cee872b855c5187 GIT binary patch literal 276 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 literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile116.png b/texture/LAB/wall/tile116.png new file mode 100644 index 0000000000000000000000000000000000000000..785f662209b0e1be6301abede5675aba9cb0b92c GIT binary patch literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGJMPo6H0Ar*7p-rC63Y#?#u@3G=!~NxUft8D{PyLNeb@hT+GzuxbCyp|o>>=r{c34! zsA%<><7duP$LIN5*0H>|ZD_K69DS30%6a|V+j;4lEgN*WGcRqtv28lT^EopaXFT8e z{`X|{ed4#j#k*(7950P!H1T!5B`kV-o4wQS_L3vprf$5i`l2BE+kZyZ4Vn$Uj5%Bh z!3?vRZipOM#$ZNJsO0Gzon1x8mT9MRTHGn)pRw%a9YgyKUqveJEIQ}M!FYgoQ&rrF Uxew;g2Kt`C)78&qol`;+08?ds5C8xG literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile117.png b/texture/LAB/wall/tile117.png new file mode 100644 index 0000000000000000000000000000000000000000..4db41d87f97ae2baaf6a02aa328c959fb467093a GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLH@YFlu?aIEGZrc{_7sSBrs&>*EP4 zTKmfC8sne4cPqGT5a8`%Y0;dLdUIod*+Zklw!JDRIG1x*I);X3&f>EFQY(LaWBC3z zyUsG(-e|>A_ESvLte=QX_6g69=Qy^)Un)<8fpEX+~+7jcdzS@7&)l9v;&F{@} zv--N7^{;l7rP^=(`B|PZa+;-0!gk%$pVE)F|9^OayOA+NqM;27@hqCDYf;Cd6H~w3 zeRjT{C1dT@YwP$bwgb(`UwnI;=F&QQ*T3y|zis~VYWgvW6ciK{6%`g178e&67#J8C85tTH8XFrM92^`S9UUGX9v>ecARr(iAt53nA|oRs zBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7EiEoCE-x=HFfcGNF)=bSGBYzXG&D3d zH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?K0iM{KtMo2K|w-7LPJACL_|bIMMXwN zMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuyP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7 zSXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?WjVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@ zX=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2Ta&vQYbaZreb#-=jc6WDoczAeud3kzz zdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyDgoK2Jg@uNOhKGlTh=_=ZiHVAeii?Yj zjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}m6ev3mY0{8n3$NEnVFiJnwy)OoSdAU zot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(rl+T;sHmu^si~@}s;jH3tgNi9t*x%E zuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#pxVX5vxw*Q!y1To(yu7@dCU$jHda$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD) z(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa z^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg={r&#_{{R2~;;>zP0004%Nkl25lc8bOMgI|E-WQt z2|tE7=6_i4=mF0ExZdai&O58i)7YPXR<|!wcm7#j>W(o%uMPz5{Ij}1NAv2k`eK64 z^s)L-B)?0@VYi3od^!(gmsqOcz}KV5AE^ zfAF2)`gb1a0@Z`^{WcO#fAE!{-h(cI&mVjwDE?rm3l4uU)&=elh%RtFV7l=CdO&=E zQxD#K0o8-FI~#=62iJKang-N|sq=!(y9gSqYw}J4bn8#PtaIu?`v_&-OmyFz~K*=FIcPxf0mQC9^dt5!vFvP07*qoM6N<$ Eg2jzlN&o-= literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile119.png b/texture/LAB/wall/tile119.png new file mode 100644 index 0000000000000000000000000000000000000000..b61b3eb984bbc529f96804f8c15bbc7b590dfa85 GIT binary patch literal 345 zcmV-f0jB0003XNklE85l_PL;QR{!4F{Qz<>#Z1A~J@wK7PRH1+lAJrj@)_tL(crP+E1 z)vN$Chi%EU+3qHz-P z_e;{|rwi0gmB^v;Bw4-uipfk5?WNprVnzD^e-iaaXm$tMlNpCAfTEmT^Bw$2X2TU_ z0gR6aN&HECe^)%Z!;?h)46uMS6j^*IGKwq^iY#qdKpKiHJ`@>676?U_HY^|wMHU~5 zj3Nt!B1;<0005iNkl#pelATjUbnxRh* z<`yzUG((>r`YT|F(S*dlWZgXU0J}U}$xVeMN&oy5?woGQR=rB9Xd}RrM1KnnUV-wW zyXFG`gc@A440w{ka6$=y?)ybZ@FdvT4IaG*NfNySJV0o;$mroB<06|07ug7;bRTuj zvEXF@eY!~{-Ev4Nq>}n{bN+S@f@a0`e7wHB?;VbnN}i9`tk^n#J2rsn4(nEhP$Db9 zZ3dIxDjSl-Pm%RA*dzaDWO^itpWk>RKz?x4plv(*x&a0yE-$(%+oo)-MMf<#p2S0u zQAN+r%S_Y=I`GEi!6}mngC|N<8Tw8L7m0l0k`u5<;ay zrPebR48(8LIjEAdo>5^fUDgtr#y;jKm9TAT@QEv_3LAT(TL^l*`J zkbcO>!0A{;q2_>75l~BCe+N_w$MJ_=U)1xr$_a zPvaGL8NUDZInVd!^@ N44$rjF6*2UngFwZdUpT- literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile122.png b/texture/LAB/wall/tile122.png new file mode 100644 index 0000000000000000000000000000000000000000..7f022e0490c661d7388b8b34aa78b36a541cb932 GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLH@YFuHlVIEGZrc{^)k)?ot?*ZdGi z+Y*5*&Fs#<6@UJzbFx3s%qAT3L7;2F!W4sr>pEjwm$xq}dY^LU^F+Bzk9F?Z?pyF8 zg5mAIotdwnytv2z@2&Ifd@{!k$X^nm*fo{aJLcso3uDr?Zbrd5T4J zv)%s_TXg^DbzYNP*~%9mr=I-z?N#)dw7fTc@4jZvmWy0@Q2!s-+IbG&-yN=C3fOsd zRzEEbP1OE4RqD^$caP0WE?>L+se3-7*#v75Nmn%WyK8B0l6vJmr^GC|119I{GCqA?_^m*$ pZQ1#_%eVQ@KK{05&HDTG3~BqVA|pdqu>pO`;OXk;vd$@?2>>IYa!3FG literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile124.png b/texture/LAB/wall/tile124.png new file mode 100644 index 0000000000000000000000000000000000000000..79f9f99594cfa3931145fb0a635423680d0ca479 GIT binary patch literal 1099 zcmV-R1ho5!P)000CMNkl8<$3|0dV0xpAqj<*EpP9!mro zO)wo+*Vk{O!4&;Zv*h|*a8KCRwo=lD3!eVd(a+C;y**oz?8S!8FuHpRZrvwaGfCYtI(Ma=YgjZE0#&wcFKL&BkBS z5Q061S3$_4UCNzFgymSy{JJmX-v?e z^PJ!iPv~i{y#{J_Z359@NfU*9MC7!IGMoncikLA>wW3iYjy(ZjP%wF5N4+4NK0>CP z1Cs{yb%T$)eb{Nv#ByT5&_ce{w!kL=$Zw3N<^3Em`XmNE0w}8ILVnj);d9DJIl%yo z2?crk`|l6$kAIG1Z<=!*7wxNJMC)GnX!Hrk>%N~0bkGLRWm#&T|X z|Ga&CzI*nTpD~GG+BO0>@Z>Z(mNPO>fdHa>Kkhw5TED;x4{NrkQd~tif1UV2OLpxp zJV)i*#+1m*kB<03A5#>c*@T9q2!{`P~piK9%oWT zT8AP3faW=kVg%6>+FwBei3W&$?I(oO+Nk{abWU)H?iOQ`#6n1I6_O(oUrft0oUGHl zjK%VRW*eMMA$N1lxxPHsv`UMi6(6l+wcAz8);)AY%j;6qy79sr2p?F#6L^G;P8r20 zkMy<6G&=mtD{X%C61W|ul7Br_JwDNsvDdHfp;z>HI-DjFs!3uIhR5Y3the2+*|>wE zCv%ZTU$6mW7=Zhd5>ScM{9IA^aWv!**oV`eqOVwc-rrK5h@N9|Do?zBvAg6uOG4~9 z{Nul(q-B*SiRV^f9IJj8k(SS`joRhGBXRDKUwYjpiqBtznna_aQMIu>=(X!zJIJlA zdIR9%uxI+tfzm5UA>NFPbTAuOA)WYKyIkBiqi>1e{gd1S9_Q@S-`F%8RS$A3W>`o} z(~9q6{S*P$!KB0tFfu8=0aD1eP;p;Q>W6)r-+5duM%r4Yui@+KhOY4{A~DOEWV;Br z31Svv-`#40Z_fR9-L}m4S-OH?U)G-`YEI12C`%&w<|&EcLHS4k{j3!#<()<>BnrX{ z5^V6h>%uj@R-)#&1J+kYSB zw@OnPxy5*9NSC};>Xtib{o)e$7nY-Yz4-y${h!t>`1aCmp6Jsm?gKlL zBW1O!cX*#rT;ZJB|BA;#<)6@*`-1l}7_+u8m_{{7={od^EpX!w_`JGd%JG+KU+Wg^ z^iJsWUF7xkISqOlwzQe1x+>hD2yFM<5?d_MEO}ls6<*uLn{A^s+wpZWYKB>H{ zdG_o+y#q&%Dd$Jrtaws=-2Z(|j?E{=11F9t*FUgRI8nDv>W%n>)c(D{8Fu!%-z)Jd z-n^dMVB^OV(qU$DKNIX2<)!=g{Nd#-@$+dq*XeoD(oh}MGmBYQ00mjC)YA_9pDA3= Z{43`3Yc83ToxrGI@O1TaS?83{1ORTZ!Os8y literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile126.png b/texture/LAB/wall/tile126.png new file mode 100644 index 0000000000000000000000000000000000000000..d9f301edcc9511c4aee702557406d173cdeeaacf GIT binary patch literal 1325 zcmV+|1=9M7P)000E^Nkls#4V_)!onEe+vLlaRdNj27phG9jvY22cjhXr{@7o8xzZT zj~Hq^m{|ZYQVPD7PEmY}1C5Clz4x^WjspRJ`~-l$^NXZ7%3v8U&jr!@nkdPl<-0UK z$~c{Hck2Ho%vFVz!{2p?d7gE`%XsP^TIVolPMLpunWoGm z<(#=~+$58Eo-zYK>#%KH?a=$$IaKsG&~(a+7)nL)u@_BHQey>Q>s$7|j+BU*h{wdC zMgS0(SUN_{>J?x-xHLWr=<>Y}U|JA=eI8^5BE}9N<^Tv+?heM|OXKf;cz@sTLj_Pf z%$c3T+F{C^GmGIu;~Z9M){8dJkTXxGJe_i+PzBd@HJ8L>qe2+wR=T7+9a;2 z5tm_!J)+%zs^+5jDB($iv0wYvQ{zC9l0q*ltC8r;YpuL!mQ@u0?x(Nc$%sQABw(ow z*)(=LYP_={QZ=Lk>^k({Lio!jhJoThPjNi-;Y`Ll?bBnY@%Sx<7s|UrQ^7 zkB5)@r_V=y4Ur+?Vx&aO9`QnXqMk^p@4N<0324+DNmUtNVkmx07>}4*R{iu(nM)G zWe!|Wr zSpdMH53-q*wZGYYph!tQL8-4DQx1RkjdRl}w~dnsRXgnNJy+E_52#=OYMSM|L6G2aY1Cn zHN&YGu-ne;o_HQ2lxgW0JD?~&h8iO!wTqBgJuXQG={tXOWft9^lPx)__nlv+6vM~E zW7iAcusX9(62L94Vh>Q_vX(F&9=oUKLGB%j;-fcb(?vf7-00000NkvXXu0mjfOP+uJ literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile127.png b/texture/LAB/wall/tile127.png new file mode 100644 index 0000000000000000000000000000000000000000..53fe122a8a5dc9b0b5ccc913043c34aca34a1bc4 GIT binary patch literal 1346 zcmV-I1-<%-P)000FENkl`w+-wPWgp=LOvwFmqR|F2{|lb2s$)_S&S(fA%w}H z?CNUwCWlOP2v{_Y+g*Akl}c4ls)ujC{}}*=Z~}mw2>{x|Gc3*TyGX>({mThd%W+_N zM2FV5hok;C(qNtEhobmMeaLYTbn7}%Onm?V{s{oC?f78`Cl+RTe$R;3xk$u==I_$@ zI8S%!&>oH~#JJQ4>VrW0eK(xL3SCB^(Yf!{oW<~Wi0w2b>2Mido2L$q$tmR&$JgI- z8WRmUB~v$%MgW*H4RJAev}%_*TVXlza~r^E|qYG0v|WnH&v$|Vk ze_{#W9XVi$4&F3+J4(FMAyO%xDSOM3nZua}K>$z`A6bXrcjr&*XaE3+PXD}*7%C;rCS0Ba zlQSk^y)Eyo^px+m3wRfstQfIj5&=Qq)pub04IFw zJQ^Emh%~0lnBx#>EQ(*{IPffGfnW&&{GBu1#{@QB&J-yyA=5VFRdsF0;k+pRu4$i} zrw`1oI7c#1x_tg~%5ml!rZIJsQ}p`}023Q2r-Y`-Y0POv(^O~xDu4+9&=~8QNTaEn zoKjJIT&6|Z;dJ8AZpvGSn?!?1L9;G)(@4bJxHSIG`R^(;>|p>ETS#mJ0H%J*ai+UD zMgG9Ta4Iyl@96U%IgPdNnDFG30DwNf0zkTqMe$Khl!ULU^T(WD&cFXc{Y`p`ia9bX zhTD@QLzTuC7g{GjX6KwN0Kj)g-b}*Ur7@EcPY~*>Wy<02jQJ*AMpHK&q0m_O*iIAV zl;rrAQ*w`O^VIQs*LEzQQ)HFXluZ4^@oqJGX2Rw0k!LKgG;_Q);hgV8%sR)$5P#sS z2eBXX941}`@mGrlw*gyn`{H?5CM;YM7Ir>siuc1Si2v}_yC1dBEvzf7=;S?B>|cKU z+mWiaqSpUCJ}mnQmQ#XjJ5d8SVdT1dZqF;%%MX#!0!8r=t&bFBU6{nmafvgCYr8Lw zOrtL}YbINKRCjGRcPWOC?co@yTlHlBo8LsxcN;5ck(UU~I@-gre>w5JLs5K`%`QzZ zqDEP@`}cC=$H9b&bZPu+6yi*w56-aM1cJ(o`Y^5sByK9Jyb70v@T)IIzHgBR?ot~6x&rzpP~Wyj8Z=3~*TL6@tLT0&TnHZ}8pr{H4I`J@a+CZI_xHE9 zp~XViz*i1`s}F4TfvrBU)d#lvz?<;5`hc>~Rv-8`_*;Eos}H;pf2$8{^?^6yZ}ow# zKCsmXw)((UA9xe~Rv*~v16zGys}F4Tfj8m*@9P790bIG~!u4P=GXMYp07*qoM6N<$ Ef^FQ4MgRZ+ literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile128.png b/texture/LAB/wall/tile128.png new file mode 100644 index 0000000000000000000000000000000000000000..e061331fdf62c872a34f198bc98c510ddcc22a7a GIT binary patch literal 434 zcmV;j0ZsmiP)0004bNklj?PcqK@w}X2YS0m&R+q+@fZ7`v0jK`!)uMd>)Fv-7sC1qDGZ43d zw%wl{?tIg1{F}rKbnm;DIC0-XV?Yf^GkF8nt<3o(zX39FwZ8WhWB$#$5L}HOX`0RD z$<^vPxG9Wq1Iy*pA5tz`eVPJD4Sy9D1rn2tO+8AQ7n$cY0-9TO;ju0~ujK9zu%Yh{ z1Ow#(O=Qw&BD*4GutYZbTSyH^6R`nn?|M_gAU<3R`S;=85^j3Ma~|JAJT}yTG-^N^H6V=|kY@4*hS(pV#=p5OxnBVt ck^?pV4|SRR9%rhJ$N&HU07*qoM6N<$f^d+(VE_OC literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile129.png b/texture/LAB/wall/tile129.png new file mode 100644 index 0000000000000000000000000000000000000000..334e3cc0f5c40bec7b2d3863b68b1d4a1289e159 GIT binary patch literal 1482 zcmV;*1vUDKP)000G%NklBajCggs{s7+`@<|T0DgY*QFsi1{N42`&rVLg_l1A|P*T|L_5c`7Zc}Gd02Kva z5CDD!kY~1K;wzra^Lf0Y;B0DbN)##z03PcG0IuTjOaQF%?A{kAXIC4N*LuI_hud{# zZOXXw%=&`vHbvE8%2!UP3VLT#{?q6IloUz|v3Mr@{_+})zN{NTpWBq}#CE&xDR>HZ zzG7|o`--O>e4*{5_XU+5jaWS9HEZ|!BeotpmUOCVwOk7c2c4V%o0=A zyCj(k^ooM^#p(z*$4v>N!o(UQBW#%iBzoCn-7p7^_w0-4dx9^Bx1XW&pi2!=&nq;a zl4B@>_`tacloU$BcDMg=k%$$Mf-XBPUe4oC;fNI?-)W6mCRedY1`=q^l!7nl&R4g& zgVKYbf4k0{vN3+pd|YY}S~38hlIbu4lh_3}Zx&1=&#X($ov$RP0-&a`#t3>IY;!`F z+VYia<8NwQYVyqT>nt&DF^k0$t$}U5yLq!HKW)J~+9fR6W-9H|DCVU5A79&Uae7(gW+l~R|~m3!bGQTnPR6!xzOwgik}4?Atlnnvhdi?%HU&|`lq3lbK#u`FAX?@S zDR$3;Z`axFI(zrSstSjmK$^@^j(e;dInYGOKofebo2uK+7D{MbY9yoG=8m0JP6Z-d zDT$@=_Y8nOkU-f*44sAmpddb8lFGRLzLL1f9xrDA&FYI$>s$o3yZwARDZ3QwR3)cH zXz(j*hL?!Fao`dr?V;@4iA>AEH3T}xkU?E(>+R3G!U+JEbOTb@e8%fSvTtD+=Wyfur$OX%zC6OOkC{XQ3dw)HMarb+zCc(?}S>H*3;@|CM7=ps~$7+bCq zIRK(CZ2K|nUI@T;xBqrNy{K&P#x$-tU30 z(0Q%wI#;0DqWt|KdR+w`^ap_GLw&RpU#36sdWpZ8yHtPRYy>XYA2OLjvK|SaS?_#ttP$QJoY=H)x}9VCZTVGg>*Ccle|Oa6zHeoFKly&X55tVA$)Wq! z&D9f2HE$|4`DAEV?U#A~%JD;QF5Xz4DdUz&*l=RU z`2zwI814X7xydW|KK}b}?N|5D@xMeEf4yUtSi)bR%(!EsokA_DLWf@sUl?~W>I*eU zzhu6|-qG`$hli2#KrhRKv@eWH_&wwoNPkdb-0?HMcEPt@F9mDAGxqc+{w}C3XT5cM zZQcW!X=eOx(O22-wAfu*ex}_1e#5`Kyp0-n54?2TDzxYP%%@E+U%h)KcSB4*?}5#E r``uU8Jh1uU^lOjJUg`S3zy6wAYfg%}YH_j^7{u6{1-oD!M0003jNklST5JgQyl{vgqLYYZYdWwiDvKb^>T)`A+NfD(>tTXy>y68V4A%QvmFZ}VDE~OOI zh{)}B*N}}05$WG2y$DL!=)liuLm{<^y*s&*Kt3I-5X#Ep)pG#AT}vf z%CynoIz6h;FkC9pz8y>soBU3dI?otwMf zpaE;R7Wz=i)D)w?Zkerxfc*ed$QAAlFon>tBl8B#K+fZ`Je5bzBkH~G{|_*Q&@hF( zK?5Jm{tuv12-OcTg{m-x@X&xYG++%4SmWM+`-bKPCu&(tsSbHu00000NkvXXu0mjf DN{E`d literal 0 HcmV?d00001 diff --git a/texture/LAB/wall/tile132.png b/texture/LAB/wall/tile132.png new file mode 100644 index 0000000000000000000000000000000000000000..5a3156c3cbf8fba38da42d8f001f1414050e5e65 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGJM)t)YnAr*7pUfalf*nr0+@c0D{ z8Q0yJo?=p}t>P1SPPH@t%f4j6SYP}xzo$_5^cl3|Ln}Wxp%p%i;K*!ui|CzABH;hGMI*~kkWqAMmh~KbVL2r aAIu7+f`8_%TT=~mHiM_DpUXO@geCyPSyZUE*h}mo9pIF>7ww zrPQ6FTDRVoUFVXGi&-7Dy!~+aG+)_W8fH<;pMSo&Quv|k@69^1^`^gnTb=GR^?CQ@ zmn^Xh4{$%X_Htc))%`P1Wc2yx`E%F4{P2!}L1F3sxO%1oIp3=GTeIH#?azJc@KuJP5#U) Yd0oV9=F59)fsx4I>FVdQ&MBb@0Apd~f&c&j literal 0 HcmV?d00001


+CHANGE LOG for LogiCORE Clocking Wizard V3.6 
+
+                    Release Date: June 19, 2013
+--------------------------------------------------------------------------------
+
+Table of Contents
+
+1. INTRODUCTION 
+2. DEVICE SUPPORT    
+3. NEW FEATURE HISTORY   
+4. RESOLVED ISSUES 
+5. KNOWN ISSUES & LIMITATIONS 
+6. TECHNICAL SUPPORT & FEEDBACK
+7. CORE RELEASE HISTORY 
+8. LEGAL DISCLAIMER 
+
+--------------------------------------------------------------------------------
+
+
+1. INTRODUCTION
+
+For installation instructions for this release, please go to:
+
+  www.xilinx.com/ipcenter/coregen/ip_update_install_instructions.htm
+
+For system requirements:
+
+   www.xilinx.com/ipcenter/coregen/ip_update_system_requirements.htm
+
+This file contains release notes for the Xilinx LogiCORE IP Clocking Wizard v3.6
+solution. For the latest core updates, see the product page at:
+
+   www.xilinx.com/products/design_resources/conn_central/solution_kits/wizards/
+
+................................................................................
+
+2. DEVICE SUPPORT
+
+
+  2.1 ISE 
+   
+  
+  The following device families are supported by the core for this release.
+  
+  All 7 Series devices
+
+
+  Zynq-7000 devices
+    Zynq-7000
+    Defense Grade Zynq-7000Q (XQ)
+
+
+  All Virtex-6 devices
+  
+  
+  All Spartan-6 devices
+  
+  
+................................................................................
+
+3. NEW FEATURE HISTORY 
+
+
+  3.1 ISE 
+  
+    - Spread Spectrum support for 7 series MMCME2
+
+    - ISE 14.2 software support
+
+................................................................................
+
+4. RESOLVED ISSUES
+
+
+  4.1 ISE 
+  
+      Resolved issue with example design becoming core top in planAhead
+
+      Resolved issue with Virtex6 MMCM instantiation for VHDL project
+      Please refer to AR 50719 - www.xilinx.com/support/answers/50719.htm
+
+................................................................................
+
+5. KNOWN ISSUES & LIMITATIONS
+
+
+  5.1 ISE 
+  
+  
+  The most recent information, including known issues, workarounds, and
+  resolutions for this version is provided in the IP Release Notes Guide
+  located at
+
+   www.xilinx.com/support/documentation/user_guides/xtp025.pdf
+  
+  
+................................................................................
+
+6. TECHNICAL SUPPORT & FEEDBACK
+
+
+To obtain technical support, create a WebCase at www.xilinx.com/support.
+Questions are routed to a team with expertise using this product.
+
+Xilinx provides technical support for use of this product when used
+according to the guidelines described in the core documentation, and
+cannot guarantee timing, functionality, or support of this product for
+designs that do not follow specified guidelines.
+
+
+................................................................................
+
+7. CORE RELEASE HISTORY
+
+
+Date        By            Version      Description
+================================================================================
+06/19/2013  Xilinx, Inc.  3.6(Rev3)    ISE 14.6 support
+10/16/2012  Xilinx, Inc.  3.6(Rev2)    ISE 14.3 support
+07/25/2012  Xilinx, Inc.  3.6          ISE 14.2 support
+04/24/2012  Xilinx, Inc.  3.5          ISE 14.1 support
+01/18/2012  Xilinx, Inc.  3.3          ISE 13.4 support
+06/22/2011  Xilinx, Inc.  3.2          ISE 13.2 support
+03/01/2011  Xilinx, Inc.  3.1          ISE 13.1 support
+12/14/2010  Xilinx, Inc.  1.8          ISE 12.4 support
+09/21/2010  Xilinx, Inc.  1.7          ISE 12.3 support
+07/23/2010  Xilinx, Inc.  1.6          ISE 12.2 support
+04/19/2010  Xilinx, Inc.  1.5          ISE 12.1 support
+12/02/2009  Xilinx, Inc.  1.4          ISE 11.4 support
+09/16/2009  Xilinx, Inc.  1.3          ISE 11.3 support
+06/24/2009  Xilinx, Inc.  1.2          ISE 11.2 support
+04/24/2009  Xilinx, Inc.  1.1          Initial release; 11.1 support
+================================================================================
+                          
+................................................................................
+
+8. LEGAL DISCLAIMER
+
+(c) Copyright 2008 - 2013 Xilinx, Inc. All rights reserved.
+
+This file contains confidential and proprietary information
+of Xilinx, Inc. and is protected under U.S. and
+international copyright and other intellectual property
+laws.
+
+DISCLAIMER
+This disclaimer is not a license and does not grant any
+rights to the materials distributed herewith. Except as
+otherwise provided in a valid license issued to you by
+Xilinx, and to the maximum extent permitted by applicable
+law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
+WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
+AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
+BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
+INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
+(2) Xilinx shall not be liable (whether in contract or tort,
+including negligence, or under any other theory of
+liability) for any loss or damage of any kind or nature
+related to, arising under or in connection with these
+materials, including for any direct, or any indirect,
+special, incidental, or consequential loss or damage
+(including loss of data, profits, goodwill, or any type of
+loss or damage suffered as a result of any action brought
+by a third party) even if such damage or loss was
+reasonably foreseeable or Xilinx had been advised of the
+possibility of the same.
+
+CRITICAL APPLICATIONS
+Xilinx products are not designed or intended to be fail-
+safe, or for use in any application requiring fail-safe
+performance, such as life-support or safety devices or
+systems, Class III medical devices, nuclear facilities,
+applications related to the deployment of airbags, or any
+other applications that could lead to death, personal
+injury, or severe property or environmental damage
+(individually and collectively, "Critical
+Applications"). Customer assumes the sole risk and
+liability of any use of Xilinx products in Critical
+Applications, subject only to applicable laws and
+regulations governing limitations on product liability.
+
+THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
+PART OF THIS FILE AT ALL TIMES.
+
+
+