diff --git a/Flash_attention_puzzle.ipynb b/Flash_attention_puzzle.ipynb new file mode 100644 index 0000000..8e46e9c --- /dev/null +++ b/Flash_attention_puzzle.ipynb @@ -0,0 +1,803 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import numba\n", + "from numba import cuda\n", + "import math\n", + "from functools import partial\n", + "import warnings\n", + "warnings.filterwarnings('ignore', category=numba.NumbaPerformanceWarning)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install -qqq git+https://github.com/chalk-diagrams/planar git+https://github.com/danoneata/chalk@srush-patch-1\n", + "!wget -q https://github.com/srush/GPU-Puzzles/raw/main/robot.png https://github.com/MPKonst/GPU-Puzzles/raw/flash_attn_puzzle/flash_attn_forward_algo.png https://github.com/MPKonst/GPU-Puzzles/raw/flash_attn_puzzle/lib.py" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "from lib import CudaProblem, Coord" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Bonus: Forward pass of FlashAttention2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MPKonst/GPU-Puzzles/blob/flash_attn_puzzle/Flash_attention_puzzle.ipynb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the following you'll implement a simplified version of the forward pass of FlashAttention 2, as described in\n", + "Algorithm 1 in [FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning\n", + "](https://arxiv.org/abs/2307.08691).\n", + "\n", + " ![image.png](flash_attn_forward_algo.png)\n", + "\n", + "For this naive implementation, we can ignore several details, such as:\n", + "- not using optimised matmul operations that can leverage tensor cores\n", + "- not applying any within-warp optimisations\n", + "- skip storing of the \"logsumexp\" for rows (which is needed for the backward pass).\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "def flash_attn_forward_kernel_factory(cuda, tpb_x, hidden_dim):\n", + " \"\"\"\n", + " Assumptions: \n", + " 1) The kernel will be launched on a block_size (tpb_x, hidden_dim) on a grid size (?, 1)\n", + " 2) tpb_x < hidden_dim, so we have enough threads to compute the (tpb_x, tpb_x) matrix of attention logits\n", + " \"\"\"\n", + " def flash_attn_forward_kernel(out, q, k, v):\n", + " # this will be launched as a tpb_x x hidden_dim block with hidden_dim > tpb_x\n", + " local_i = cuda.threadIdx.x\n", + " local_j = cuda.threadIdx.y\n", + " i = cuda.blockIdx.x * cuda.blockDim.x + local_i\n", + " j = cuda.blockIdx.y * cuda.blockDim.y + local_j\n", + " seqlen = q.shape[0]\n", + "\n", + " # we assume that hidden_dim is small enough that this can be loaded\n", + " # into shared memory (we can reduce tpb_x, if not)\n", + " q_shared = cuda.shared.array((tpb_x, hidden_dim), numba.float32)\n", + " qkT_and_exp_qkT = cuda.shared.array((tpb_x, tpb_x), numba.float32)\n", + " k_shared = cuda.shared.array((tpb_x, hidden_dim), numba.float32)\n", + " v_shared = cuda.shared.array((tpb_x, hidden_dim), numba.float32)\n", + "\n", + " out_acc = 0.0\n", + " rowsumexp = 0.0\n", + " rowmax = 0.0\n", + "\n", + " if i < seqlen and j < hidden_dim:\n", + " q_shared[local_i, local_j] = q[i, j]\n", + "\n", + " num_tiles = (seqlen + tpb_x - 1) // tpb_x\n", + " for tile in range(num_tiles):\n", + " n_keys = tpb_x if tile != num_tiles - 1 else seqlen - (num_tiles - 1) * tpb_x\n", + " # FILL ME IN\n", + " # 1. read-in the tiles of keys and values (roughly 5 lines)\n", + " ...\n", + "\n", + " # 2. compute this tile of q@k.T (roughly 6 lines)\n", + " ...\n", + "\n", + " new_rowmax = qkT_and_exp_qkT[local_i, 0]\n", + " # 3. compute the new rowmax without updating the old one (roughly 7 lines)\n", + " ...\n", + "\n", + " # 4. exponentiate the attention weights with math.exp (roughly 2 lines)\n", + " ...\n", + "\n", + " new_rowsumexp = 0.0\n", + " # 5. compute the rowsumexp in the n_queries x n_keys block and \n", + " # update the running rowsumexp (roughly 8 lines)\n", + " ...\n", + "\n", + " new_out = 0.0\n", + " # 6. compute the output contribution and update the out_acc (roughly 5 lines)\n", + " ...\n", + " \n", + " # 7. Update the running rowmax (roughly 2 lines)\n", + " ...\n", + " # 8. Write the output to global memory (roughly 2 lines)\n", + " ...\n", + " return flash_attn_forward_kernel\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "# Flash Attention Forward\n", + " \n", + " Score (Max Per Thread):\n", + " | Global Reads | Global Writes | Shared Reads | Shared Writes |\n", + " | 0 | 0 | 0 | 0 | \n", + "\n" + ] + }, + { + "data": { + "image/svg+xml": [ + "\n", + "Flash Attention ForwardqkvoutBlock 0 0qkvoutBlock 1 0qkvoutBlock 2 0" + ], + "text/plain": [ + "Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Rectangle(width=69.696, height=46.57425520000001, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -3.552713678800501e-15,\n", + " 0.0, 1.0, -22.462127600000002), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Primitive(shape=Spacer(width=0, height=1.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.75), diagram=Primitive(shape=Text(text='Flash Attention Forward', font_size=1), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.2501), diagram=Primitive(shape=Spacer(width=0, height=1), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0001), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -0.55,\n", + " 0.0, 1.0, -2.75), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.7, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Circle(radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Image(local_path='robot.png', url_path='https://raw.githubusercontent.com/minitorch/diagrams/main/robot.png'), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0008333333333333334, 0.0, 0.0,\n", + " 0.0, 0.0008333333333333334, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 1.1,\n", + " 0.0, 1.0, 0.0), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.7, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Circle(radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Image(local_path='robot.png', url_path='https://raw.githubusercontent.com/minitorch/diagrams/main/robot.png'), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0008333333333333334, 0.0, 0.0,\n", + " 0.0, 0.0008333333333333334, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.1), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.7, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Circle(radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Image(local_path='robot.png', url_path='https://raw.githubusercontent.com/minitorch/diagrams/main/robot.png'), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0008333333333333334, 0.0, 0.0,\n", + " 0.0, 0.0008333333333333334, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 1.1,\n", + " 0.0, 1.0, 1.1), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.7, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Circle(radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Image(local_path='robot.png', url_path='https://raw.githubusercontent.com/minitorch/diagrams/main/robot.png'), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0008333333333333334, 0.0, 0.0,\n", + " 0.0, 0.0008333333333333334, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.2), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.7, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Circle(radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Image(local_path='robot.png', url_path='https://raw.githubusercontent.com/minitorch/diagrams/main/robot.png'), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0008333333333333334, 0.0, 0.0,\n", + " 0.0, 0.0008333333333333334, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 1.1,\n", + " 0.0, 1.0, 2.2), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.7, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Circle(radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Image(local_path='robot.png', url_path='https://raw.githubusercontent.com/minitorch/diagrams/main/robot.png'), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0008333333333333334, 0.0, 0.0,\n", + " 0.0, 0.0008333333333333334, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.3000000000000003), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.7, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Circle(radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Image(local_path='robot.png', url_path='https://raw.githubusercontent.com/minitorch/diagrams/main/robot.png'), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0008333333333333334, 0.0, 0.0,\n", + " 0.0, 0.0008333333333333334, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 1.1,\n", + " 0.0, 1.0, 3.3000000000000003), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.7, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Circle(radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Image(local_path='robot.png', url_path='https://raw.githubusercontent.com/minitorch/diagrams/main/robot.png'), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0008333333333333334, 0.0, 0.0,\n", + " 0.0, 0.0008333333333333334, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.4), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.7, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Circle(radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Image(local_path='robot.png', url_path='https://raw.githubusercontent.com/minitorch/diagrams/main/robot.png'), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0008333333333333334, 0.0, 0.0,\n", + " 0.0, 0.0008333333333333334, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 1.1,\n", + " 0.0, 1.0, 4.4), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.7, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Circle(radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Image(local_path='robot.png', url_path='https://raw.githubusercontent.com/minitorch/diagrams/main/robot.png'), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0008333333333333334, 0.0, 0.0,\n", + " 0.0, 0.0008333333333333334, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.5), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.7, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Circle(radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Image(local_path='robot.png', url_path='https://raw.githubusercontent.com/minitorch/diagrams/main/robot.png'), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0008333333333333334, 0.0, 0.0,\n", + " 0.0, 0.0008333333333333334, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 1.1,\n", + " 0.0, 1.0, 5.5), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.7, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Circle(radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Image(local_path='robot.png', url_path='https://raw.githubusercontent.com/minitorch/diagrams/main/robot.png'), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0008333333333333334, 0.0, 0.0,\n", + " 0.0, 0.0008333333333333334, 0.0)))))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 8.7501), diagram=Primitive(shape=Spacer(width=0, height=1), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 25.420166), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -21.12,\n", + " 0.0, 1.0, -0.0), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=ApplyTransform(transform=Affine(1.0, 0.0, -7.5,\n", + " 0.0, 1.0, -0.0), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Primitive(shape=Spacer(width=1, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 7.5,\n", + " 0.0, 1.0, 0.0), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, 0.5000499999999999), diagram=Compose(envelope=, diagram1=ApplyTransform(transform=Affine(1.0, 0.0, -4.5,\n", + " 0.0, 1.0, -0.0), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -8.25), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.05), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -2.0,\n", + " 0.0, 1.0, -2.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyName(dname=('q', 0, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 0, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 0, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 0, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 0, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 0, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('q', 1, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 1, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 1, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 1, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 1, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 1, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('q', 2, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 2, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 2, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 2, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 2, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 2, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('q', 3, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 3, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 3, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 3, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 3, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 3, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('q', 4, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 4, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 4, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 4, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 4, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 4, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 5.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -3.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='q', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0), diagram=Primitive(shape=Spacer(width=2.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 8.5), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.05), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -2.0,\n", + " 0.0, 1.0, -2.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyName(dname=('k', 0, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 0, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 0, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 0, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 0, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 0, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('k', 1, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 1, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 1, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 1, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 1, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 1, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('k', 2, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 2, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 2, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 2, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 2, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 2, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('k', 3, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 3, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 3, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 3, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 3, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 3, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('k', 4, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 4, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 4, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 4, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 4, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 4, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 5.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -3.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='k', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 12.5), diagram=Primitive(shape=Spacer(width=2.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 17.0), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.05), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -2.0,\n", + " 0.0, 1.0, -2.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyName(dname=('v', 0, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 0, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 0, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 0, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 0, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 0, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('v', 1, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 1, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 1, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 1, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 1, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 1, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('v', 2, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 2, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 2, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 2, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 2, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 2, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('v', 3, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 3, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 3, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 3, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 3, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 3, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('v', 4, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 4, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 4, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 4, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 4, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 4, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 5.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -3.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='v', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 3.5,\n", + " 0.0, 1.0, 0.0), diagram=Primitive(shape=Spacer(width=2.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 4.5,\n", + " 0.0, 1.0, 0.0), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -1.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.5), diagram=Primitive(shape=Spacer(width=1.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0), diagram=Empty())), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.5), diagram=Primitive(shape=Spacer(width=1.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0), diagram=Empty())), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.5), diagram=Primitive(shape=Spacer(width=1.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0), diagram=Empty()))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 5.5,\n", + " 0.0, 1.0, 0.0), diagram=Primitive(shape=Spacer(width=2.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 9.0,\n", + " 0.0, 1.0, 0.0), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, 0.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.05), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -2.0,\n", + " 0.0, 1.0, -2.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyName(dname=('out', 0, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 0, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 0, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 0, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 0, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 0, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('out', 1, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 1, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 1, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 1, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 1, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 1, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('out', 2, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 2, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 2, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 2, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 2, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 2, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('out', 3, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 3, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 3, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 3, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 3, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 3, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('out', 4, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 4, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 4, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 4, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 4, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 4, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 5.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -3.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='out', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))))))), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -12.5001), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.25), diagram=ApplyStyle(style=Style(line_width=(, 0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='Block 0 0', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.5001), diagram=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 15.0,\n", + " 0.0, 1.0, 0.0), diagram=Primitive(shape=Spacer(width=1, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))), diagram2=Empty()), diagram2=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.0, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Rectangle(width=19.2, height=29.400119999999998, radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))), diagram2=Empty()))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 21.12,\n", + " 0.0, 1.0, 0.0), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=ApplyTransform(transform=Affine(1.0, 0.0, -7.5,\n", + " 0.0, 1.0, -0.0), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Primitive(shape=Spacer(width=1, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 7.5,\n", + " 0.0, 1.0, 0.0), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, 0.5000499999999999), diagram=Compose(envelope=, diagram1=ApplyTransform(transform=Affine(1.0, 0.0, -4.5,\n", + " 0.0, 1.0, -0.0), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -8.25), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.05), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -2.0,\n", + " 0.0, 1.0, -2.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyName(dname=('q', 0, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 0, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 0, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 0, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 0, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 0, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('q', 1, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 1, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 1, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 1, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 1, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 1, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('q', 2, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 2, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 2, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 2, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 2, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 2, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('q', 3, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 3, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 3, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 3, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 3, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 3, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('q', 4, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 4, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 4, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 4, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 4, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 4, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 5.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -3.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='q', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0), diagram=Primitive(shape=Spacer(width=2.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 8.5), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.05), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -2.0,\n", + " 0.0, 1.0, -2.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyName(dname=('k', 0, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 0, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 0, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 0, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 0, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 0, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('k', 1, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 1, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 1, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 1, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 1, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 1, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('k', 2, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 2, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 2, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 2, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 2, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 2, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('k', 3, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 3, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 3, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 3, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 3, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 3, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('k', 4, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 4, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 4, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 4, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 4, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 4, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 5.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -3.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='k', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 12.5), diagram=Primitive(shape=Spacer(width=2.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 17.0), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.05), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -2.0,\n", + " 0.0, 1.0, -2.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyName(dname=('v', 0, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 0, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 0, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 0, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 0, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 0, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('v', 1, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 1, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 1, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 1, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 1, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 1, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('v', 2, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 2, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 2, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 2, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 2, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 2, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('v', 3, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 3, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 3, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 3, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 3, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 3, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('v', 4, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 4, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 4, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 4, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 4, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 4, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 5.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -3.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='v', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 3.5,\n", + " 0.0, 1.0, 0.0), diagram=Primitive(shape=Spacer(width=2.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 4.5,\n", + " 0.0, 1.0, 0.0), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -1.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.5), diagram=Primitive(shape=Spacer(width=1.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0), diagram=Empty())), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.5), diagram=Primitive(shape=Spacer(width=1.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0), diagram=Empty())), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.5), diagram=Primitive(shape=Spacer(width=1.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0), diagram=Empty()))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 5.5,\n", + " 0.0, 1.0, 0.0), diagram=Primitive(shape=Spacer(width=2.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 9.0,\n", + " 0.0, 1.0, 0.0), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, 0.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.05), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -2.0,\n", + " 0.0, 1.0, -2.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyName(dname=('out', 0, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 0, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 0, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 0, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 0, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 0, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('out', 1, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 1, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 1, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 1, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 1, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 1, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('out', 2, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 2, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 2, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 2, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 2, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 2, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('out', 3, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 3, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 3, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 3, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 3, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 3, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('out', 4, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 4, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 4, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 4, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 4, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 4, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 5.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -3.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='out', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))))))), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -12.5001), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.25), diagram=ApplyStyle(style=Style(line_width=(, 0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='Block 1 0', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.5001), diagram=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 15.0,\n", + " 0.0, 1.0, 0.0), diagram=Primitive(shape=Spacer(width=1, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))), diagram2=Empty()), diagram2=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.0, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Rectangle(width=19.2, height=29.400119999999998, radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))), diagram2=Empty()))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 42.24,\n", + " 0.0, 1.0, 0.0), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=ApplyTransform(transform=Affine(1.0, 0.0, -7.5,\n", + " 0.0, 1.0, -0.0), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Primitive(shape=Spacer(width=1, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 7.5,\n", + " 0.0, 1.0, 0.0), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, 0.5000499999999999), diagram=Compose(envelope=, diagram1=ApplyTransform(transform=Affine(1.0, 0.0, -4.5,\n", + " 0.0, 1.0, -0.0), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -8.25), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.05), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -2.0,\n", + " 0.0, 1.0, -2.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyName(dname=('q', 0, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 0, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 0, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 0, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 0, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 0, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('q', 1, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 1, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 1, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 1, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 1, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 1, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('q', 2, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 2, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 2, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 2, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 2, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 2, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('q', 3, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 3, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 3, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 3, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 3, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 3, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('q', 4, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('q', 4, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('q', 4, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('q', 4, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('q', 4, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('q', 4, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 5.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -3.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='q', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0), diagram=Primitive(shape=Spacer(width=2.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 8.5), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.05), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -2.0,\n", + " 0.0, 1.0, -2.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyName(dname=('k', 0, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 0, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 0, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 0, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 0, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 0, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('k', 1, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 1, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 1, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 1, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 1, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 1, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('k', 2, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 2, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 2, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 2, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 2, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 2, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('k', 3, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 3, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 3, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 3, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 3, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 3, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('k', 4, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('k', 4, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('k', 4, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('k', 4, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('k', 4, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('k', 4, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 5.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -3.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='k', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 12.5), diagram=Primitive(shape=Spacer(width=2.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 17.0), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.05), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -2.0,\n", + " 0.0, 1.0, -2.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyName(dname=('v', 0, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 0, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 0, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 0, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 0, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 0, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('v', 1, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 1, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 1, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 1, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 1, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 1, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('v', 2, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 2, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 2, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 2, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 2, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 2, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('v', 3, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 3, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 3, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 3, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 3, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 3, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('v', 4, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('v', 4, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('v', 4, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('v', 4, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('v', 4, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('v', 4, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 5.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -3.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='v', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 3.5,\n", + " 0.0, 1.0, 0.0), diagram=Primitive(shape=Spacer(width=2.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 4.5,\n", + " 0.0, 1.0, 0.0), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -1.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.5), diagram=Primitive(shape=Spacer(width=1.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0), diagram=Empty())), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.5), diagram=Primitive(shape=Spacer(width=1.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0), diagram=Empty())), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.5), diagram=Primitive(shape=Spacer(width=1.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(0.0, 1.0, 0.0,\n", + " -1.0, 0.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0), diagram=Empty()))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 5.5,\n", + " 0.0, 1.0, 0.0), diagram=Primitive(shape=Spacer(width=2.0, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 9.0,\n", + " 0.0, 1.0, 0.0), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, 0.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.05), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyTransform(transform=Affine(1.0, 0.0, -2.0,\n", + " 0.0, 1.0, -2.5), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=ApplyName(dname=('out', 0, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 0, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 0, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 0, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 0, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 0, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('out', 1, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 1, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 1, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 1, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 1, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 1, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 1.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('out', 2, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 2, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 2, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 2, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 2, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 2, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 2.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('out', 3, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 3, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 3, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 3, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 3, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 3, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 3.0,\n", + " 0.0, 1.0, 5.0)))), diagram2=ApplyName(dname=('out', 4, 0), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=ApplyName(dname=('out', 4, 1), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 1.0)))), diagram2=ApplyName(dname=('out', 4, 2), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 2.0)))), diagram2=ApplyName(dname=('out', 4, 3), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 3.0)))), diagram2=ApplyName(dname=('out', 4, 4), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 4.0)))), diagram2=ApplyName(dname=('out', 4, 5), diagram=Primitive(shape=Rectangle(width=1, height=1, radius=None), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 4.0,\n", + " 0.0, 1.0, 5.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -3.25), diagram=Compose(envelope=, diagram1=ApplyStyle(style=Style(line_width=(, 0.0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='out', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))), diagram2=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))))))), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty())), diagram2=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Empty(), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()), diagram2=Empty()))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, -0.0,\n", + " 0.0, 1.0, -12.5001), diagram=Compose(envelope=, diagram1=Compose(envelope=, diagram1=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.25), diagram=ApplyStyle(style=Style(line_width=(, 0), line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Text(text='Block 2 0', font_size=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0)))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.5001), diagram=Primitive(shape=Spacer(width=0, height=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))))))), diagram2=ApplyTransform(transform=Affine(1.0, 0.0, 15.0,\n", + " 0.0, 1.0, 0.0), diagram=Primitive(shape=Spacer(width=1, height=0), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))), diagram2=Empty()), diagram2=ApplyStyle(style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=0.0, dashing=None, output_size=None), diagram=ApplyStyle(style=Style(line_width=None, line_color=, fill_color=None, fill_opacity=None, dashing=None, output_size=None), diagram=Primitive(shape=Rectangle(width=19.2, height=29.400119999999998, radius=0.5), style=Style(line_width=None, line_color=None, fill_color=None, fill_opacity=None, dashing=None, output_size=None), transform=Affine(1.0, 0.0, 0.0,\n", + " 0.0, 1.0, 0.0))))), diagram2=Empty())))))), diagram2=Empty())))" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def softmax(x, axis=-1):\n", + " e_x = np.exp(x - np.max(x, axis=axis, keepdims=True))\n", + " return e_x / e_x.sum(axis=axis, keepdims=True)\n", + "\n", + "def attn_spec(q, k, v):\n", + " return softmax(q@k.T)@v\n", + "\n", + "SEQ_LEN = 5\n", + "TPB_x = 2\n", + "HIDDEN_DIM = 6\n", + "q = np.random.randn(SEQ_LEN, HIDDEN_DIM).astype(np.float32) * np.random.rand()\n", + "k = np.random.randn(SEQ_LEN, HIDDEN_DIM).astype(np.float32) * np.random.rand()\n", + "v = np.random.randn(SEQ_LEN, HIDDEN_DIM).astype(np.float32) * np.random.rand()\n", + "\n", + "out = np.zeros((SEQ_LEN, HIDDEN_DIM))\n", + "\n", + "problem = CudaProblem(\n", + " \"Flash Attention Forward\",\n", + " partial(flash_attn_forward_kernel_factory, tpb_x=TPB_x, hidden_dim=HIDDEN_DIM),\n", + " [q, k, v],\n", + " out,\n", + " blockspergrid=Coord((SEQ_LEN + TPB_x - 1) // TPB_x, 1),\n", + " threadsperblock=Coord(TPB_x, HIDDEN_DIM),\n", + " spec=attn_spec,\n", + " input_names=[\"q\", \"k\", \"v\"],\n", + ")\n", + "problem.show(sparse=False, svg_height_factor=10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "problem.check(atol=1e-7)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "gpu_puzzles", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/flash_attn_forward_algo.png b/flash_attn_forward_algo.png new file mode 100644 index 0000000..8ea7613 Binary files /dev/null and b/flash_attn_forward_algo.png differ diff --git a/lib.py b/lib.py index 0f0f7f4..7403b0a 100644 --- a/lib.py +++ b/lib.py @@ -1,14 +1,19 @@ from dataclasses import dataclass import numpy as np -from chalk import * +from chalk import ( + concat, rectangle, text, hcat, vcat, circle, arc_between, empty, place_at, vstrut, hstrut, image +) +from chalk.transform import unit_y, P2, V2 +from chalk.core import set_svg_height from colour import Color import chalk -from dataclasses import dataclass from typing import List, Any from collections import Counter -from numba import cuda import numba import random +from typing import Tuple +from unittest import mock +from functools import reduce @dataclass class ScalarHistory: @@ -23,19 +28,52 @@ def __add__(self, b): return self if isinstance(b, Scalar): return ScalarHistory(self.last_fn, self.inputs + [b]) + return ScalarHistory(self.last_fn, self.inputs + b.inputs) + + def __rsub__(self, b): + return self - b + def __sub__(self, b): + if isinstance(b, (float, int)): + return self + if isinstance(b, Scalar): + return ScalarHistory(self.last_fn, self.inputs + [b]) + + return ScalarHistory(self.last_fn, self.inputs + b.inputs) + + def __rmul__(self, b): + return self * b + + def __mul__(self, b): + if isinstance(b, (float, int)): + return self + if isinstance(b, Scalar): + return ScalarHistory(self.last_fn, self.inputs + [b]) return ScalarHistory(self.last_fn, self.inputs + b.inputs) + + def __rtruediv__(self, b): + return self / b + def __truediv__(self, b): + if isinstance(b, (float, int)): + return self + if isinstance(b, Scalar): + return ScalarHistory(self.last_fn, self.inputs + [b]) + return ScalarHistory(self.last_fn, self.inputs + b.inputs) + + class Scalar: def __init__(self, location): self.location = location + + def __rmul__(self, b): + return self * b def __mul__(self, b): if isinstance(b, (float, int)): return ScalarHistory("id", [self]) return ScalarHistory("*", [self, b]) - def __radd__(self, b): return self + b @@ -43,6 +81,24 @@ def __add__(self, b): if isinstance(b, (float, int)): return ScalarHistory("id", [self]) return ScalarHistory("+", [self, b]) + + def __rsub__(self, b): + return self - b + + def __sub__(self, b): + if isinstance(b, (float, int)): + return ScalarHistory("id", [self]) + return ScalarHistory("-", [self, b]) + + def __gt__(self, b): + if isinstance(b, (float, int)): + return ScalarHistory("id", [self]) + return ScalarHistory(">", [self, b]) + + def __lt__(self, b): + if isinstance(b, (float, int)): + return ScalarHistory("id", [self]) + return ScalarHistory("<", [self, b]) def __iadd__(self, other): assert False, "Instead of `out[] +=` use a local variable `acc + =`" @@ -53,14 +109,14 @@ def __init__(self, name, array): self.incoming = [] self.array = array - self.size = array.shape + self.shape = array.shape def __getitem__(self, index): self.array[index] if isinstance(index, int): index = (index,) - assert len(index) == len(self.size), "Wrong number of indices" - if index[0] >= self.size[0]: + assert len(index) == len(self.shape), "Wrong number of indices" + if index[0] >= self.shape[0]: assert False, "bad size" return Scalar((self.name,) + index) @@ -69,8 +125,8 @@ def __setitem__(self, index, val): self.array[index] if isinstance(index, int): index = (index,) - assert len(index) == len(self.size), "Wrong number of indices" - if index[0] >= self.size[0]: + assert len(index) == len(self.shape), "Wrong number of indices" + if index[0] >= self.shape[0]: assert False, "bad size" if isinstance(val, Scalar): val = ScalarHistory("id", [val]) @@ -95,8 +151,8 @@ def tuple(self): class RefList: - def __init__(self): - self.refs = [] + def __init__(self, refs=None): + self.refs = refs or [] def __getitem__(self, index): return self.refs[-1][index] @@ -112,13 +168,15 @@ def __init__(self, cuda): def array(self, size, ig): if isinstance(size, int): size = (size,) - s = np.zeros(size) - cache = Table("S" + str(len(self.cuda.caches)), s) + table = Table( + name="S" + str(len(self.cuda.caches)), + array=np.zeros(size) + ) # self.caches.append(cache) - self.cuda.caches.append(RefList()) - self.cuda.caches[-1].refs = [cache] + reflist = RefList(refs=[table]) + self.cuda.caches.append(reflist) self.cuda.saved.append([]) - return self.cuda.caches[-1] + return reflist class Cuda: @@ -144,9 +202,7 @@ def syncthreads(self): temp = old_cache.incoming old_cache.incoming = self.saved[i] self.saved[i] = temp - cache = Table(old_cache.name + "'", old_cache.array) - - c.refs.append(cache) + c.refs.append(Table(old_cache.name + "'", old_cache.array)) def finish(self): for i, c in enumerate(self.caches): @@ -207,10 +263,10 @@ def myconnect(diagram, loc, color, con, name1, name2): def draw_table(tab): t = text(tab.name, 0.5).fill_color(black).line_width(0.0) - if len(tab.size) == 1: - tab = table(tab.name, 0, *tab.size) + if len(tab.shape) == 1: + tab = table(tab.name, 0, *tab.shape) else: - tab = table(tab.name, *tab.size) + tab = table(tab.name, *tab.shape) tab = tab.line_width(0.05) return tab.beside((t + vstrut(0.5)), -unit_y) @@ -221,6 +277,7 @@ def draw_connect(tab, dia, loc2, color, con): myconnect(dia, loc2, color, con, (tab.name,) + loc, inp.location) for (loc, val) in tab.incoming for inp in val.inputs + if not isinstance(inp, ScalarHistory) ] ) @@ -235,7 +292,10 @@ def draw_base(_, a, c, out): return hcat([inputs, shareds, outputs], 2.0) -def draw_coins(tpbx, tpby): +def draw_coins(tpbx, tpby, colors=None): + colors = colors or list( + Color("red").range_to(Color("blue"), sum(1 for _ in Coord(tpbx, tpby).enumerate())) + ) return concat( [ (circle(0.5).fill_color(colors[tt]).fill_opacity(0.7) + im).translate( @@ -253,14 +313,19 @@ def label(dia, content): -def draw_results(results, name, tpbx, tpby, sparse=False): +def draw_results( + results, name, tpbx, tpby, sparse=False, svg_height=500, svg_height_factor=50, colors=None +): full = empty() blocks = [] locations = [] base = draw_base(*results[Coord(0, 0)][Coord(0, 0)]) for block, inner in results.items(): dia = base - for pos, (tt, a, c, out) in inner.items(): + colors = colors or list( + Color("red").range_to(Color("blue"), len(inner)) + ) + for pos, (tt, input_tables, cuda_obj, out) in inner.items(): loc = ( pos.x / tpbx + (1 / (2 * tpbx)), (pos.y / tpby) @@ -274,13 +339,16 @@ def draw_results(results, name, tpbx, tpby, sparse=False): pos.x == (tpbx - 1) and pos.y == (tpby - 1) ) - all_tabs = ( - a + [c2.refs[i] for i in range(1, c.rounds()) for c2 in c.caches] + [out] + all_tables = ( + input_tables + + [ + cache.refs[i] for i in range(1, cuda_obj.rounds()) for cache in cuda_obj.caches + ] + + [out] ) dia = dia + concat( - draw_connect(t, dia, loc, color, lines) for t in all_tabs + draw_connect(tab, dia, loc, color, lines) for tab in all_tables ) - height = dia.get_envelope().height # Label block and surround dia = hstrut(1) | (label(dia, f"Block {block.x} {block.y}")) | hstrut(1) @@ -311,10 +379,10 @@ def draw_results(results, name, tpbx, tpby, sparse=False): ) full = full.pad(1.1).center_xy() env = full.get_envelope() - set_svg_height(50 * env.height) + set_svg_height(svg_height_factor * env.height) - chalk.core.set_svg_output_height(500) + chalk.core.set_svg_output_height(svg_height) return rectangle(env.width, env.height).fill_color(white) + full @@ -330,6 +398,7 @@ class CudaProblem: blockspergrid: Coord = Coord(1, 1) threadsperblock: Coord = Coord(1, 1) spec: Any = None + input_names: List[str] = ("a", "b", "c", "d") def run_cuda(self): fn = self.fn @@ -340,38 +409,44 @@ def run_cuda(self): ) return self.out + @mock.patch("math.exp", lambda x: x) def run_python(self): results = {} fn = self.fn for _, block in self.blockspergrid.enumerate(): results[block] = {} for tt, pos in self.threadsperblock.enumerate(): - a = [] - args = ["a", "b", "c", "d"] + input_tables = [] for i, inp in enumerate(self.inputs): - a.append(Table(args[i], inp)) + input_tables.append(Table(self.input_names[i], inp)) out = Table("out", self.out) - c = Cuda(block, self.threadsperblock, pos) - fn(c)(out, *a, *self.args) - c.finish() - results[block][pos] = (tt, a, c, out) + cuda_obj = Cuda(block, self.threadsperblock, pos) + fn(cuda_obj)(out, *input_tables, *self.args) + cuda_obj.finish() + results[block][pos] = (tt, input_tables, cuda_obj, out) return results def score(self, results): total = 0 full = Counter() - for pos, (tt, a, c, out) in results[Coord(0, 0)].items(): + for pos, (tt, a, cuda_obj, out) in results[Coord(0, 0)].items(): total += 1 count = Counter() - for out, tab in [(False, c2.refs[i]) for i in range(1, c.rounds()) for c2 in c.caches] + [(True, out)]: + for out, tab in [ + (False, cache.refs[i]) + for i in range(1, cuda_obj.rounds()) + for cache in cuda_obj.caches + ] + [(True, out)]: for inc in tab.incoming: if out: count["out_writes"] += 1 else: count["shared_writes"] += 1 for ins in inc[1].inputs: + if isinstance(ins, ScalarHistory): + continue if ins.location[0].startswith("S"): count["shared_reads"] += 1 else: @@ -386,17 +461,31 @@ def score(self, results): | {full['in_reads']:>13} | {full['out_writes']:>13} | {full['shared_reads']:>13} | {full['shared_writes']:>13} | """) - def show(self, sparse=False): + def show(self, sparse=False, svg_height_factor=50): results = self.run_python() self.score(results) - return draw_results(results, self.name, - self.threadsperblock.x, self.threadsperblock.y, sparse) + colors = [ + *Color("red").range_to( + Color("blue"), + reduce(int.__mul__, self.threadsperblock.tuple()) + ) + ] + return draw_results( + results, + self.name, + self.threadsperblock.x, + self.threadsperblock.y, + sparse, + svg_height=500, + svg_height_factor=svg_height_factor, + colors=colors, + ) - def check(self): + def check(self, atol=0, rtol=1e-7): x = self.run_cuda() y = self.spec(*self.inputs) try: - np.testing.assert_allclose(x, y) + np.testing.assert_allclose(x, y, atol=atol, rtol=rtol) print("Passed Tests!") from IPython.display import HTML pups = [